Linux添加用户详解

手工删除用户
手工删除用户试验:手工删除,如果可以正常建立用户,证明用户删除干净。

/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 方式加密

原文地址:https://www.cnblogs.com/dalianpai/p/12521375.html