skeleton directory: /etc/skel
第一次接触这个词汇 还是在LFS8.2里面,感觉有点吓人。好好一个计算机操作系统,怎么搞出这个恐怖的术语。。。。
当使用useradd 或者其他命令创建用户的时候,/etc/skel这个目录下的文件、文件夹就会被拷贝到新用户的家目录(login目录)。
skeleton directory (直译过来就是 骨架目录), /etc/skel,允许管理员(root用户)创建的用户也有相同的文件、文件夹在他们各自的家目录。默认,在操作系统安装完毕后,一些配置文件通常存放在/etc/skel目录。
- /etc/skel/.bash_logout
- /etc/skel/.bashrc
- /etc/skel/.profile
- /etc/skel/.vimrc
当删除一个用户的时候,/etc/skel目录下的数据保持不变。
要想改变skeleton directory目录的默认位置,编辑/etc/default/useradd文件中SKEL=开头的行。默认情况下,=后面是 /etc/skel。下面/etc/default/useradd取自CentOS Linux release 7.3.1611
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
[root@localhost lfs]# cat /etc/default/useradd # useradd defaults file GROUP=100 HOME=/home INACTIVE=-1 EXPIRE= SHELL=/bin/bash SKEL=/etc/skel CREATE_MAIL_SPOOL=yes
/etc/skel目录下内容
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
[root@localhost lfs]# ls -lA /etc/skel total 12 -rw-r--r--. 1 root root 18 Apr 10 20:53 .bash_logout -rw-r--r--. 1 root root 193 Apr 10 20:53 .bash_profile -rw-r--r--. 1 root root 231 Apr 10 20:53 .bashrc
一个测试案例
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
$ sudo su # cd /etc/skel # mkdir workdir # touch script1 script2 # ls script1 script2 workdir # useradd -m -d /home/testdir test9 # ls /home/testdir script1 script2 workdir