在Linux中用户和组被称为安全权限模型的核心要素,本文主要是讲解一些用户和组管理的命令,其中的命令包括useradd、userdel、usemod、chfn、chsh、chage、passwd、groupadd、groupmod、groupdel、gpasswd、su,本文只要说的是一些常用的选项,如果需要别的选项,请获取命令帮助

Linux中用户类别分为:管理员用户和普通用户,其中管理员用户的UID为0,普通用户的UID为1-65535,

普通用户又分为系统用户和登陆用户,其中系统用户的UID为1-499,登陆用户的UID为500-65535,

创建用户

useradd等同于adduser,格式为useradd  [options] UserName

其中常用选项包括以下几个:

-u UID:指定用户的UID,如果不指定的话,就在最后一个用户的基础上+1,useradd创建的第一个账号的UID为500;

-g GID:指定用户的GID,即用户的基本组ID,但是GID要实现存在才可以,也可以直接使用组名

-G GID:指定用户的额外组,当时GID要实现存在才可以,也可以直接使用组名

-d 目录:指定用户的家目录,这个家目录最好是不要存在的文件夹,如果目录已经存在,会出现shell环境变量错误

-c 备注:为用户添加备注信息

-s shell:指定用户的默认shell,应该指定使用/etc/shells文件中出现的shell类型

-m:创建用户时,强制给用户创建家目录,默认情况下会在/home目录下创建一个跟用户名同名的文件夹来作为用户的家目录

-M:创建用户时,不创建用户家目录

删除用户

userdel:用于删除用户,默认情况下会保留用户的家目录,如果想连家目录一起删除的话,应该使用-r选项

格式为 userdel [options] UserName

修改用户的属性信息

chsh:修改用户的默认shell

chfn:修改用户的备注信息,会依次输入用户的名称、办公地址、办公电话、家庭电话

usermod:修改用户的属性信息

格式为 usermod [options] UserName

-a :追加

-u UID:修改用户的UID

-g GID:修改用户基本组的GID,也可以直接使用基本组的组名

-G GID:修改用户的额外组的GID,也可以直接使用基本组的组名,默认状态下会覆盖原有的附加组,如果想要添加附加组,请在该选项前加-a选项

-c string:修改用户的备注信息

-d 目录:默认不会迁移用户的家目录,如果要迁移,请以-m选项一起使用

-s shell:修改用户的默认shell ,应该指定使用/etc/shells文件中出现的shell类型

-l 名称:修改用户的登陆名称,但是不修改用的UID,GID

-e 时间:修改用户的过期时间

-f 时间:修改用户的非活动时间。

-L 用户名:锁定用户账号

-U 用户名:将锁定的用户账号进行解锁

chage:修改用户的日期属性

-E:距离1970-1-1号的时间天数,过了这个时间,账号不可访问

-I: 设置非活动期限

-m:修改密码最小使用时间

-M:修改密码最长使用时间

-W:修改密码警告时间

查看用户的相关信息

id 查看用户的id号

格式:id [options] UserName

-n:只显示名称

-u:只显示用户的UID

-g:显示用户的基本在GID

-G:显示用户的额外组的GID

修改用户密码

密码安全性策略:

1、足够复杂

2、足够长、尽量交叉使用数字、大写字母、小写字母和特殊字符

3、尽量避免使用易猜测的密码:

4、定期更换

passwd 修改用户的密码

格式:passwd [options] 用户名

说明:普通用户只能修改自身的密码,管理员可以设定自身和所有普通用户的密码,在设定其他用户密码是直接使用passwd 用户名即可

-l:锁定用户

-u:解锁用户

-n:设定用户密码的最少使用时间

-x:设定用户密码的最长使用时间

-w:设定用户密码的警告时间

-i:设定用户密码的非活动时间

/etc/passwd中的格式

用户名:密码占位符:UID:GID(基本组ID):用户备注信息(多个以,隔开):家目录:默认shell

/etc/shadow中的格式

用户名:密码:最近的一次密码修改时间距离1970-1-1的时间:最短使用期限:最长使用期限:警告时间:非活动时间(登陆就要修改密码):账号的过期期限:预留段

组的管理:

用户组分为普通组和管理员组,在用户看来,组可以分为两类:基本组和额外组,额外组也叫附加组,组的管理和用户的管理基本类似,这里就不再做累赘

由于本人水平有限,上述命令中可能有错误 ,欢迎各位朋友批评指正