/etc/skel建立使用起来非常简单。它使所有在LFS系统上面的 新用户拥有一样的初始设置。 /etc/skel目录是被 /usr/sbin/useradd 使用的。
阅读man useradd可以得到更多信息
开始需要建立一个/etc/skel 目录,最好使用root用户。然后把 你想要新用户拥有的配置文件拷贝到/etc/skel目录。比如: .bash_profile, .bashrc, .bash_logout, dircolors, .inputrc, 和 .vimrc。
当使用 /usr/sbin/useradd建立新用户的时候使用 -m 参数,例如:
useradd -m -s/bin/bash jwrober |
/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 结束 |
里面少了对缺省shell的设置。运行此命令添加:
/usr/sbin/useradd -D -s/bin/bash |
这样 SHELL= 那一行将被设置成 SHELL=/bin/bash。这样使得在LFS系统增加新用户更加容易。 /usr/sbin/useradd 有很多参数可以在/etc/default/useradd中设置。可以阅读man手册来获取更多细节。
注:
1.如果在新建用户时,没有自动建立用户根目录,则无法调用到此框架目录。
2.如果不想以默认的/etc/skel目录作为框架目录,可以在运行useradd命令时指定新的框架目录。例如:
sudo useradd -d /home/chen -m -k /etc/my_skel chen
上述命令将新建用户chen,设置用户根目录为/home/chen,并且此目录会自动建立;同时指定框架目录为/etc/my_skel。
3.如果不想在每次新建用户时,都重新指定新的框架目录,可以通过修改/etc/default/useradd配置文件来改变默认的框架目录,方法如下:
查找SKEL变量的定义,如果此变量的定义已被注释掉,可以取消注释,然后修改其值:
SKEL=/etc/my_skel
上一篇:Linux的下载命令wget详解
下一篇:centos 32和64位的区别
讨论数量:1
/etc/skel 这个目录想必大家平时都不太注意,本文给大家浅析一下这个目录.
那么这个 /etc/skel 目录是干啥的呢?
skel 是 skeleton 的缩写,每当你新建一个用户的时候 (通过 useradd 命令),/etc/skel 目录下的文件,都会原封不动的复制到新建用户的家目录下~
让我们看看 /etc/skel 目录下都有啥吧:
localhost ~ # ls -a /etc/skel熟悉的一系列 .bash_xxx 配置文件,现在明白为什么新建一个用户,用户的目录下自动就会有了这些文件了吧~
如果你是一个多用户系统的管理员,你可以在 skel 目录下写个 ReadMe.txt 之类的文件,写一些使用说明,这样每个新建的用户都会在自己的目录下看到这个说明文件了.
再比如,你希望新建用户可以直接 startx 就启动到 gnome 桌面环境,你可以在 skel 目录下建立一个 .xinitrc 文件,内容如下:
export LC_ALL="zh_CN.UTF-8".xinitrc 是 X 启动需要读取的用户配置文件,这样每个用户 startx 之后就直接装载 gnome 了.
你甚至可以在 sekl 目录下再建立目录,总之 /etc/skel 下的所有文件都会拷贝的用户的家目录去.
你也许会想到,在 skel 目录下的 .bashrc 文件中加入一些方便的环境变量或者命令别名,这样每个新建用户都可以使用这些功能.不过,更好的选择是把这些设置放到全局的 /etc/profile 中, skel 目录下的文件是拷贝过去的,如果你修改或者增加了新的文件,只有新建的用户才能受益.