1.useradd命令

新增用户


语法:

useradd [选项]  [用户名]

u:指定UID 

g:指定GID或所属组 

G:次要用户组 

m:强制创建家目录,默认 

M:强制不创建家目录。 

c:说明栏。 

d:家目录的绝对路径。 

s:shell类型 /bin/bash ; /sbin/nologin 

r:系统账户


实例:

创建账户 wang 次要用户组users 不创建家目录 不允许登录 说明栏shaojun 指定UID 630 

useradd -G users -M -s /sbin/nologin -c shaojun -u 630 wang

创建系统账号wang1 ,系统账号没有家目录

useradd -r wang1 


useradd的配置文件

1.png


  • GROUP=100,新建账号的初始用户组使用的GID为100 

CentOS上面默认的用户组和账号相同的用户组,针对用户组的角度有两种不同的极致所致,分别为私有用户组机制公用用户组机制。私有就是CentOS的这种一用户一用户组,目录权限为700。公用机制就是新用户默认使用同一个用户组,目录权限755。CentOS是私有用户组机制,不会生效。

  • Home=/home 用户主文件夹的基准目录

  • INACTIVE=-1 密码过期后是否会失效的设置值 

0表示密码过期后立即失效。-1 表示密码永远不会失效。30表示密码过期后30天失效。

  • EXPIRE= 账户失效的日期

  • SHELL=/bin/bash 默认使用的shell程序 

不允许用户登录可以设置成/sbin/nologin

  • SKEL=/etc/skel 用户主文件夹的参考基准目录 

用户的家目录就是把这个目录复制过去的。skel目录下有什么文件,新用户的家目录里面就有什么文件。

  • CREATE_MAIL_SPOOL=yes 创建用户的mailbox 

用户的邮件箱在/var/spool/mail/用户名


2.png


  • MAIL_DIR 

mailbox所在目录

  • PASS_MAX_DAYS 

/etc/shadow的第5字段,多久更改一次密码

  • PASS_MIN_DAYS 

shadow的第4段,多久不可重新更改密码

  • PASS_MIN_LEN 

密码最短字符长度,已被PAM模块代替,失效。

  • PASS_WARN_AGE 

shadow的第6段,过期前多少天警告。

  • UID_MIN 

用户可使用最小的UID

  • UID_MAX 

用户可使用最大的UID

  • GID_MIN

  • GID_MAX

  • CREATE_HOME 

是否创建用户家目录

  • UMASK 

用户家目录的umask,目录权限为700

  • USERGROUPS_ENAB 

使用userdel删除时,是否删除初始用户组。

  • ENCRYPT_METHOD 

加密方式


使用useradd创建用户至少参考

  • /etc/default/useradd

  • /etc/login.defs

  • /etc/skel/*



2.usermod命令

修改用户的参数


语法:

usermod [选项] [username]


参数:

c:账号说明/etc/passwd第5列 

d:家目录,/etc/passwd第6列 

e:日期,格式:YYYY-MM-DD,/etc/shadow第8列 

f:天数。shadow的第7段 

g:初始用户组 

G:次要用户组 

a:与-G合用。增加用户组的支持而非设置。 

l:账号名称,/etc/passwd的第1列 

s:修改shell类型 

u:UID数字 

L:暂时将用户密码冻结。其实仅修改/etc/shadow的密码 

U:将/etc/shadow密码列的!去掉。


实例:

修改用户 wang 的UID 为 1002

usermod -u 1002 wang



3.userdel命令

删除用户以及相关数据。


语法:

userdel  [选项] [用户名]


选项:

r:连同用户的主文件夹也一起删除。

如果只是暂时不启用该账号,将/etc/shadow的第8段设置为0,相关数据就回留下来。 

如果真的想把该账户完整的删除,userdel -r username之前,先 find / -user username 查出属于username的文件。


实例:

删除用户wang,并删掉家目录

userdel -r wang