linux_用户及用户组的管理
用户以及用户组的管理:
用户: UID,/etc/passwd ->密码文件: /etc/shadow
组: GID,/etc/group -> /etc/gshadow
用户类别:
管理员: UID = 0
普通用户: UID = 1-65535
系统用户: UID = 1-499 =>> 不允许登陆系统
一般用户: UID = 500-65535
组类别:
私有组: 创建用户时,如果没有为其制定所属的组,系统会为其创建一个与用户名相同的组
基本组: 用户的默认组 -g 指定,一个用户只能有属于一个基本组
附加组,额外组: 默认组以外的其他组 -G 指定,一个用户可以属于多个附加组
/etc/passwd文件内容解释:
$1: 用户名
$2: password -> x 表示密码存储在 /etc/shadow
$3: UID
$4: GID,基本组ID
$5: 对用户的补充,使用","分隔
$6: 用户的家目录
$7: 用户的默认shell /etc/shells
/etc/shadow:
$1: 用户名
$2: 加密的密码 *|!! 表示锁定
$3: 上一次密码修改时间 1970-1-1经过的天数
$4: 密码最小使用时间
$5: 密码最长使用时间 99999表示永不过期
$6: 密码过期前多少天提醒
$7: 密码过期后多少天之后锁定账户,在此期间登录系统必须修改密码
$8: 明确定义账户过期时间
$9: 保留字段
/etc/group
$1: 组名
$2: x 密码占位符 -> /etc/gshadow
$3: GID
$4: 以这个组为附加组的用户列表,以","分隔
用户管理:
添加用户:useradd | adduser
useradd [option] username
-u: 指定UID
-g: 指定基本组GID,组必须存在
-G: 指定附加组,必须存在,可以有多个,使用‘,’分隔
-c: 注释信息
-d: 指定用户的家目录 /home/username
-s: 指定用户的默认shell, /etc/shells 中存在的shell。
-m: 如果指定用户的家目录不存在,则创建
-M: 不创建用户家目录
-r: 添加一个系统用户
useradd -u 505 -g mygroup -d /home/test -s /sbin/nologin user5
删除用户: userdel
userdel [option] username
-r: 删除用户的同时删除用户的家目录
查看用户属性:
id: 查看用户的账号属性信息
-u: 显示用户id
-g: 显示用户基本组id
-G: 显示用户附加组id
-n: 与以上参数一起使用显示name
修改用户属性: usermod
usermod [option]... [username]
-u: 修改UID
-g: 修改基本组
-G: 修改附加组, -a 追加附加组,默认覆盖
-c: 修改注释信息
-d: 组合-m使用,修改家目录并移动原家目录文件至新家目录
-s: 修改默认shell
-l: 重命名账户名
-L: 锁定账号
-U: 解锁账号
密码管理:
passwd [username] | echo “abcdef” | passwd --stdin usernam
-l: 锁定用户
-u: 解锁用户
-d: 删除用户密码
-n: 密码最小使用期限
-x: 密码最长使用期限
修改用户密码属性:(/etc/shadow)
chage [option] username
-d: 最近一次的修改时间
-E: 过期时间
-I: 非活动时间
-m: 最短使用期限
-M: 最长使用期限
-w: 警告时间
pwck: 检查用户账户完整性
组管理:
添加组:
groupadd [option] groupname
-g: GID
-r: 添加系统组
-p: 用户组密码
-o: 允许多个不同的用户组使用相同的ID
修改用户组:
groupmod [option] groupname
-g: 修改GID
-n: 修改组名
-o: 允许多个不同的用户组使用相同的ID
groupdel groupname
--当有用户属于该用户组时,用户组不能被删除
给组设置密码:
gpasswd groupname
临时切换到基本组, exit 退出临时基本组
newgrp groupname