在linux系统中,文件/etc/profile由系统管理员管,当初次登录时,每个用户都 source 它,所以使它保持工作状态很重要。
当您用 useradd 命令来创建一个新用户帐户时,它将所有的文件从 /etc/skel 复制到用户的新的主目录中(如果按默认应该在/home下)。 /etc/skel建立使用起来非常简单。它使所有在LFS系统上面的 新用户拥有一样的初始设置。 /etc/skel目录是被 /usr/sbin/useradd 使用的。 开始需要建立一个/etc/skel 目录,最好使用root用户。然后把想要新用户拥有的配置文件拷贝到/etc/skel目录。比如: .bash_profile, .bashrc, .bash_logout, dircolors, .inputrc, 和 .vimrc。
当使用 /usr/sbin/useradd建立新用户的时候使用 -m 参数,例如:
复制代码代码示例:
#useradd -m -s/bin/bash steven
/usr/sbin/useradd使用了一系列缺省设置,位于/etc/default/useradd(如果这个文件存在的话)。如果这个文件不存在,它会使用其内部缺省设置,可以用/usr/sbin/useradd -D 来列处这些设置。
如果想对这个缺省设置作一些变动,就要建立一个 /etc/default/useradd 文件,并使用和 /usr/sbin/useradd -D输出一样的内容。例如:
复制代码代码示例:
# /etc/default/useradd 开始
GROUP=100 HOME=/home INACTIVE=-1 EXPIRE= SHELL= SKEL=/etc/skel # /etc/default/useradd 结束 所以,可以看到默认的HOME和默认的SKEL目录。
里面少了对缺省shell的设置。运行此命令添加:
这样 SHELL= 那一行将被设置成 SHELL=/bin/bash。这样使得在LFS系统增加新用户更加容易。 /usr/sbin/useradd 有很多参数可以在/etc/default/useradd中设置。
从上面的例子可以看出/etc/skel目录的作用:
复制代码代码示例:
localhost ~ # ls -a /etc/skel
. .. .bash_logout .bash_profile .bashrc 作为一个多用户系统的管理员,可以在 skel 目录下写个 ReadMe.txt 之类的文件,写一些使用说明,这样每个新建的用户都会在自己的目录下看到这个说明文件了。
再比如,希望新建用户可以直接 startx 就启动到 gnome 桌面环境,你可以在 skel 目录下建立一个 .xinitrc 文件,内容如下:
复制代码代码示例:
export LC_ALL="zh_CN.UTF-8"
export XMODIFIERS=@im=SCIM export GTK_IM_MODULE="scim" eval `dbus-launch --exit-with-session --sh-syntax` exec gnome-session 因为 .xinitrc 是 X 启动需要读取的用户配置文件,这样每个用户 startx 之后就直接装载 gnome 了。 甚至可以在 sekl 目录下再建立目录,总之 /etc/skel 下的所有文件都会拷贝的用户的家目录去。
在 skel 目录下的 .bashrc 文件中加入一些方便的环境变量或者命令别名,这样每个新建用户都可以使用这些功能。 |