Linux命令之用户与组管理
- 介绍
Linux操作系统中,任何文件都归属某一特定的用户,而任何用户都隶属至少一个用户组。用户是否有权限对某文件进行访问、读写以及执行,受到系统严格约束的正式这种清晰、严谨的用户与用户组管理系统。在很大程度上保证了Linux系统的安全。
Linux账号分类
用户账号 -用来存储单一用户的数据
用户账号分为:
超级账户:拥有完全控制权,用户名通常称为root,其UID为0
普通账户
系统账户 -这种账户提供给Linux系统本身使用,UID在1-499之间
真实用户 -UID在500-4,294,967,295之间
群组账号 -用来存储多个用户的信息,每个群组账号可以用来记录一组用户的数据
群组账号分类:
超级用户组: -root的用户群组称为超级用户组
超级用户组GID(群组标识符)为0,隶属于超级用户群的成员,不具备系统管理的权利
系统群组: -GID范围为1-499
用户自定义组: -上述群组外的都是自定义群组GID范围500-4,294,967,293
2.用户账号文件-passwd
位于/etc/passwd,每一行保存一个用的资料,用户的数据按域以:分割,每行的数据格式是:
username:password:uid:gid:userinfo:home:shell
username:登录名
password:加密的登录口令
uid:用户的ID
gid:用户组ID
userinfo:用户信息
home:分配给用户的主目录
shell:用户登录后将执行的shell(若为空格则默认为/bin/sh)
3.用户影子文件-shadow
位于:/etc/shadow,每行保存一条数据,每条用:分割成9个域,格式为
username:password:lastchg:min:max:warn:inactive:expire:flag
username:用户登录名
password:加密的用户口令
lastchg:表示从1970年1月1日起到上次修改口令所经过的天数
min:表示两次修改口令之间至少经过的天数
max:表示口令还会有效的最大的天数,如果是99999则表示永不过期
warn:表示口令失效前多少天内系统向用户发出警告
inactive:表示禁止登录前用户名还有效的天数
expire:表示用户被禁止登录的时间
flag:保留域,暂未使用
4.用户组账号文件-group和gshadow
位于/etc/group和/etc/gshadow
group的格式是:group_name:group_password:group_id:group_members
members:以逗号分隔的成员清单
gshadow的格式是:group_name:group_password:group_members
5.用户和用户组账号管理命令
useradd -添加用户
语法:useradd [参数] {username}
参数:-u UID 用来指定UID
-g GROUP 定义用户的群组,群组必须已经存在
-G GROUP 指定用户的次要的群组,可以指定多个群组,用,连接
-d HOME 指定用户的主目录
-s SHELL 指定用户登录执行的程序
-r 建立一个系统用户的账号
passwd username 更改username的密码
usermod -修改使用者账号
语法:usermod [参数] {username}
参数:-u UID 修改UID
-g GROUP 修改主要群组
-G GROUP 修改次要群组
-d HOME 修改家目录
-s SHELL 修改可执行程序
-l NEWNAME 修改用户名
-L 锁定账号
-U 解除锁定
userdel -删除系统中的用户信息
语法:userdel [参数] {username}
参数:-r 删除用户的主目录和邮箱
groupadd -创建新的用户组
语法:groupadd [参数] {groupname}
参数:-g UID 指定用户组的UID
-r 指定添加的群组成为系统群组
-f 强制执行,(建立相同UID的群组)
groupmod -修改用户组属性
语法:groupmod [参数] {groupname}
参数:-g GID 修改GID
-n newName 修改群组的名称
groupdel -删除用户组
groupdel groupname