关于Linux下用户和组的总结。
用户:获取系统资源权限的集合:
组:具有相同权限的用户的集合
用户组分类;
1.普通用户组:可以加入多个用户
2.系统组:一般加入一些系统用户
3.私有组(也称基本组):当创建用户时,如果没有为其指明所属组,则就为其定义一个私有的用户组,名称与用户名同名.
Linux下与用户与组相关的文件主要在/etc目录下,主要有 /etc/passwd ,/etc/shadow , /etc/group , /etc/gshadow 四个文件。这四个文件的格式主要如下:
1):/etc/passwd :存放用户及其属性信息
用户名称:密码(存放在shadow文件中):UID:GID:用户注释信息:家目录:用户默认shell
2):/etc/shadow : 用户密码及相关属性
用户名称:密码(采用sha512加密):密码最近被更改过的时间:密码过几天可以变更:密码过几天必须更改:密码过期提示用户:密码几天后会被锁定:用户失效时间
3):/etc/group :组及其属性信息
组名称:组密码(存放在gshadow中):GID:附加组(附加组之间以逗号隔开)
4):/etc/gshadow :组密码及相关属性
组名称:组密码:组管理员列表:以该组为附加组的用户列表(以逗号隔开)
了解完用户与组的相关文件,那在Linux系统中怎么创建用户和组,下面将从创建,修改,删除这三个方面探讨。
1:创建
(1):创建用户
useradd [options] LOGIN
创建用户的命令useradd,直接使用useradd 用户名,可以直接创建一个用户,那么系统会默认创建一个和用户名同名的组:
useradd参数主要有:
-u 创建用户时指定用户的UID
-o 配合-u 选项,不检查UID的唯一性
-g GID:指明用户所属基本组,可为组名,也可以GID
-c "COMMENT":用户的注释信息
-d HOME_DIR: 以指定的路径(不存在)为家目录
-s SHELL: 指明用户的默认shell程序
-G GROUP1[,GROUP2,...]:为用户指明附加组,组须事先存在
-N 不创建私有组做主组,使用users组做主组
-r: 创建系统用户
-m 创建家目录,用于系统用户
-M 不创建家目录,用于非系统用户
(2):创建组
创建的命令位groupadd
groupadd [OPTION]... group_name
groupadd还有一些参数:
-g 在创建组时加参数-g,可以指定组的GID,
-r 创建为系统组
2:修改
用户和组修改相关属性。
(1):修改用户属性
修改用户属性使用usermod [OPTION] login修改,还可以加一些参数进行修改
-u UID: 修改UID
-g GID: 修改GID
-G GROUP1[,GROUP2,...[,GROUPN]]]:添加新的附加组,如果原来有附加组会覆盖掉,需要和-a一起使用。(这里要注意参数a需要放置在参数G之前)
-s SHELL:修改shell
-c 'COMMENT':修改注释信息
-d HOME: 修改的新家目录不存在,不会自动创建;若要创建新家目录并移动原家数据,同时使用-m选项(这里要注意参数m需要放置在参数d之前)
-l login_name: 修改用户的名称
-L: 锁定用户
-U: 解锁用户
-e 日期: 指明用户过期日期
-f INACTIVE: 设定非活动期限
(2):修改组属性
修改组属性使用 groupmod [OPTION]... group,还可以加参数修改:
-n group_name: 新名字 修改组的名称
-g GID: 新的GID 修改组的GID
3:删除
(1):删除用户
删除用户的命令为:userdel 用户 。加参数-r包括用户的家目录一起删除(请确认家目录中没有重要数据)
(2):删除组
删除组的命令为:groupdel 组名
另外在还有两个与用户相关的命令,为用户添加密码的命令:passwd , 查看用户信息的命令:id
为用户添加密码的passwd命令还有一些参数,通过这些参数,可以对用户密码进行管理维护,passwd主要的参数有如下:
-d:删除指定用户密码
-l:锁定指定用户
-u:解锁指定用户
-e:强制用户下次登录必须修改密码
-n mindays: 密码指定最短使用期限
-x maxdays:密码的最大使用期限
-w warndays:密码过期前多少天开始警告
-i inactivedays:密码非活动期限
--stdin:从标准输入接收用户密码 echo "PASSWORD" | passwd --stdin USERNAME
查看用户的信息命令id,通过使用选项可以只显示部分信息。相关选项如下:
-u: 显示UID
-g: 显示GID
-G: 显示用户所属的组的ID
-n: 显示名称,需配合ugG使用