手工删除用户
手工删除用户试验:手工删除,如果可以正常建立用户,证明用户删除干净。
/etc/passwd /etc/shadow /etc/group /etc/gshadow /home/user1 /var/spool/mail/user1 邮箱
useradd 命令
useradd 选项 用户名选项:
-u 550 指定 UID -g 组名 指定初始组 不要手工指定 -G 组名 指定附加组,把用户加入组,使用附加组 -c 说明 添加说明 -d 目录 手工指定家目录,目录不需要事先建立 -s shell /bin/bash.
[root@iZbp143t3oxhfc3ar7jey0Z skel]# useradd -u 550 -g lamp1 -G root -d /home/lamp1 -c "test user" -s /bin/bash lamp1
[root@iZbp143t3oxhfc3ar7jey0Z skel]# grep "lamp1" /etc/passwd /etc/shadow /etc/group /etc/passwd:lamp1:x:550:1003:test user:/home/lamp1:/bin/bash /etc/shadow:lamp1:!!:18339:0:99999:7::: /etc/group:root:x:0:lamp1 /etc/group:lamp1:x:1003:
useradd 默认值
useradd 添加用户时参考的默认值文件主要有两个,分别是/etc/default/useradd 和/etc/login.defs
1)/etc/default/useradd
[root@iZbp143t3oxhfc3ar7jey0Z skel]# cat /etc/default/useradd # useradd defaults file GROUP=100 HOME=/home INACTIVE=-1 EXPIRE= SHELL=/bin/bash SKEL=/etc/skel CREATE_MAIL_SPOOL=yes [root@iZbp143t3oxhfc3ar7jey0Z skel]#
挨个解释下:
GROUP=100
这个选项是建立用户的默认组,也就是说添加每个用户时,用户的初始组就是 GID 为 100 的这个用户组。目前我们采用的机制私有用户组机制。
HOME=/home
这个选项是用户的家目录的默认位置,所以所有的新建用户的家目录默认都在/home/下。
INACTIVE=-1
这个选项就是密码过期后的宽限天数,也就是/etc/shadow 文件的第七个字段。如果是天数,比如 10 代表密码过期后 10 天后失效;如果是 0,代表密码过期后立即失效;如果是-1,则代表密码永远不会失效。这里默认值是-1,所以所有新建立的用户密码都不会失效。
EXPIRE=
这个选项是密码失效时间,也就是/etc/shadow 文件的第八个字段。也就说用户到达这个日期后就会直接失效。当然这里也是使用时间戳来表示日期的。默认值是空,所以所有新建用户没有失效时间,永久有效。
SHELL=/bin/bash
这个选项是用户的默认 shell 的。/bin/bash 是 Linux 的标志 shell,所以所有新建立的用户默认都具备 shell 赋予的权限。
SKEL=/etc/skel
这个选项就是定义用户的模板目录的位置,/etc/skel/目录中的文件都会复制到新建用户的家目录当中。
CREATE_MAIL_SPOOL=yes
这个选项定义是否给新建用户建立邮箱,默认是创建,也就是说所有的新建用户系统都会新建一个邮箱,放在/var/spool/mail/下和用户名相同。
2)/etc/login.defs
[root@iZbp143t3oxhfc3ar7jey0Z skel]# grep -v '#' /etc/login.defs MAIL_DIR /var/spool/mail PASS_MAX_DAYS 99999 PASS_MIN_DAYS 0 PASS_MIN_LEN 5 PASS_WARN_AGE 7 UID_MIN 1000 UID_MAX 60000 SYS_UID_MIN 201 SYS_UID_MAX 999 GID_MIN 1000 GID_MAX 60000 SYS_GID_MIN 201 SYS_GID_MAX 999 CREATE_HOME yes UMASK 077 USERGROUPS_ENAB yes ENCRYPT_METHOD SHA512 [root@iZbp143t3oxhfc3ar7jey0Z skel]#
MAIL_DIR /var/spool/mail
这行指定了新建用户的默认邮箱位置。比如 user1 用户的邮箱是就是/var/spool/mail/user1。
PASS_MAX_DAYS 99999
这行指定的是密码的有效期,也就是/etc/shadow 文件的第五字段。代表多少天之后必须修改密码,默认值是 99999。
PASS_MIN_DAYS 0
这行指定的是两次密码的修改间隔时间,也就是/etc/shadow 文件的第四字段。代表第一次修改密码之后,几天后才能再次修改密码。默认值是 0。
PASS_MIN_LEN 5
这行代表密码的最小长度,默认不小于 5 位。但是我们现在用户登录时验证已经被 PAM 模块取代,所以这个选项并不生效。
PASS_WARN_AGE 7
这行代表密码修改到期前的警告天数,也就是/etc/shadow 文件的第六字段。代表密码到底有效期前多少天开始进行警告提醒,默认值是 7 天。
UID_MIN 500
UID_MAX 60000
这两行代表创建用户时,最小 UID 和最大的 UID 的范围。我们 2.6.x 内核开始,Linux 用户的 UID最大可以支持 2的32次方这么多,但是真正使用时最大范围是 60000。还要注意如果我手工指定了一个用户的
UID 是 550,那么下一个创建的用户的 UID 就会从 551 开始,哪怕 500-549 之间的 UID 没有使用(小于 500 的 UID 是给伪用户预留的)。
GID_MIN 500
GID_MAX 60000
这两行指定了 GID 的最小值和最大值之间的范围。
CREATE_HOME yes
这行指定建立用户时是否自动建立用户的家目录,默认是建立
UMASK 077
这行指定的是建立的用户家目录的默认权限,因为 umask 值是 077,所以新建的用户家目录的权限是 700
[root@iZbp143t3oxhfc3ar7jey0Z home]# ll total 8 drwx------ 2 lamp1 lamp1 4096 Mar 18 22:45 lamp1 drwx------ 2 test1 test1 4096 Mar 13 13:28 test1 [root@iZbp143t3oxhfc3ar7jey0Z home]#
USERGROUPS_ENAB yes
这行指定的是使用命令 userdel 删除用户时,是否删除用户的初始组,默认是删除。
ENCRYPT_METHOD SHA512
这行指定 Linux 用户的密码使用 SHA512 散列模式加密,这是新的密码加密模式,原先的 Linux只能用 DES 或 MD5 方式加密