1.useradd命令格式
命令:useradd [选项] 用户名
选项:
-u UID
手工指定用户的UID-d 家目录
手工指定用户的家目录-c 用户说明
手工指定用户的说明-g 组名
手工指定用户的初始组-G 组名
指定用户的附加组-s shell
手工指定用户的登录shell 默认是/bin/bash
注意事项:
- 如果已经熟悉/etc/passwd、/etc/shadow、/etc/group、/etc/gshadow、/home/用户名、/var/spool/mail/用户名、/etc/skel这七个文件,可以自己手工编辑这些文件并且创建这些相应的目录,用手工添加用户。就是比较麻烦。
- -u 一般不建议更改。
- -d 如果不指定,就在/home下,创建一个同名的家目录,但是我们如果是指定的,不想放在/home下面,或者你放在/home下面不想跟用户名同名,都可以用-d来指定。
- -c 如果比较复杂,中间有许多空格,这个时候要用双引号括起来。
- -g 不要去尝试修改初始组,一旦这样回车就会发现,你的user1用户根本就不会生成一个叫user1用户的用户组,因为初始组是root用户组,这样会让管理员非常难以理解
- -G 附加组中的分隔符要用逗号分割多个组,那怕你把一个用户加到100个组里面都是可以的。
- -s -shell 如果想指定其他shell,千万不要把路径写错了,否则这个用户是无法使用的。
注意提示: 要加入已经存在的组,用-d指定它的家目录,也可以放到根目录下,除非有特殊情况,比如搭建了一个apache的网站服务器,这种情况下需要让这个网站管理apache的主页目录,这个时候为了管理方便,直接在根目录下创建主页目录。如果不是这样,不太推荐大家在根下建立过多的一级目录,原因: 在根下建立的一级目录过多,就会造成本来很方便,但是会发现,太多了,翻好几页都看不到底下。
2.添加默认用户
命令:useradd user1
就是执行这个命令之后,它做了哪些操作那???前面已经说过,跟用户相关的有七个文件,创建用户的时候添加的。现在用命令来查看一下是否有存在。开始实验:
3.指定用户添加选项
命令:useradd -u 550 -G root,bin -d /home/user2 -c "good time" -s /bin/bash user1
4.默认配置文件
添加用户其实用不到太多的选项,只知道缺省的设置就可以。就是我们再用useradd user1这个命令的时候中间也没有选择选项,什么家目录、组、建立邮箱等这些自动默认床创建是怎么完成的?这个设置从哪里来?这些保存在/etc/default/useradd 、/etc/login.defs
两个文件中。
- 第一个文件位置:
/etc/default/useradd
打开这个文件vim /etc/default/useradd
注意: GROUP=100 这个用户添加的时候会自动的把它的缺省组指向到组id为100的这个用户组,但是系统明显不是这样的。在Linux系统里面有一种公有模式一种是私有模式,公有模式确实是这样,但是在现在的Linux里面,默认是私有模式,也就是说在私有模式中用户添加的时候,缺省不是这样来设置,而是创建同名的组
- 第二个文件位置:
/etc/login.defs
打开这个文件:vim /etc/login.defs
注意: 最早的Linux当中,使用这个/etc/login.defs文件来定义密码长度的,因为定义的这个密码规则过于简单,现在Linux升级密码的原则规则,变成了PAM验证,现在是PAM验证生效,这个密码长度已经不生效了,所以我们现在的密码默认是8位。从最早的MD5加密方式到升级成为了SHA512.