架构师养成记--25.linux用户管理
用户管理配置文件
用户信息文件:/etc/passwd
密码文件:/etc/shadow
用户配置文件:/etc/login.defs /etc/default/useradd
新用户信息文件:/etc/skel
用户组文件:/etc/group
用户组密码文件:/etc/gshadow
用户信息文件:/etc/passwd
对应解释如下:
字段 | 含义 |
用户名 | 用户登录系统时使用的用户名 |
密码 | 密码位 |
UID | 用户标识码 |
GID | 缺省组标识码 |
注释性描述 | 例如存放用户全名等信息 |
宿主目录 | 用户登录系统后的缺省目录 |
命令解释器 | 用户使用的Shell,默认为bash |
Linux用户一般分为3种
超级用户(root UID = 0)
一般来说UID为0的是超级用户
普通用户(UID = 500 -60000)
普通用户安装UID=500开始递增
伪用户(UID 1-499)
伪用户一般是linux系统和进程服务相关的,比如bin、daemon 、shutdown等,任何linux系统都有这些伪用户,比如我们进行相关操作其实就是调用了系统的伪用户的身份,在linux系统里任何进程操作都必须要有一个用户身份。伪用户一般无法登陆系统。
密码文件
/etc/shadow
用户组
每个用户至少属于一个用户组
每个用户组可包括多个用户
同一个用户组的用户享有该组的共有权限
文件/etc/group 文件格式
添加用户组:groupadd[配置项][组名]
形如:groupadd -g 1001 webs
删除用户:groupdel[组名]
形如:groupadd webs
修改用户组:groupmod -n [新组名][旧组名]
查看用户属于哪些用户组:groups u1
添加用户
添加用户useradd 设置选项 用户名 -D 查看缺省参数
u:UID
g:缺省所属用户组的名称或GID
G:指定用户所属多个组
d:宿主目录
s:命令解释器shell
c:描述信息
e:指定用户失效时间
示例:useradd -u 1002 -g webapps -G sys,root -d /web -s /bin/bash -c "is a u2" -e 2019-12-12
修改用户:usermod -l [新用户名] [旧用户名]
示例:usermod -l u3 u2
删除用户:userdel -r u
设置用户禁用和恢复
禁用:
usermod -L [用户名]
passwd -l [用户名]
恢复
usermod -u [用户名]
passwd -U [用户名]
操作用户组
命令:gpasswd
-a 添加用户到用户组中
-d 从用户组中删除用户
-A 设置用户组管理员
描述:管理组内成员
示例:gpasswd -a u1 webapps
用户组授权