Linux用户管理
Linux系统属于多用户、多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份登入系统。在Linux系统中,uid就相当于我们的身份证一样具有唯一性,在RHEL 8系统中:
管理员UID 为0
系统用户UID为1~999
普通用户UID从1000开始
为方便管理用户,Linux系统引入了用户组的概念(Group),使用GID来区分用户组,另外,在创建单个用户的时候,将自动创建一个与其同名的用户组,一个用户可以有一个基本组和多个扩展组。
用户在系统中就是文件中的字符串,每个字符串映射了该用户所用到的系统资源
1 用户配置文件及内容
/etc/passwd #用户信息库
/etc/group #组信息库
/home/用户同名目录 #默认用户家目录
/etc/skel/ #用户环境配置文件模板
/etc/shadow #用户认证信息
/etc/gshadow #组用户认证信息
2查看用户信息
id ##查看用户id信息
参数 | 意义 |
---|---|
-u | 查看用户uid |
-g | 查看用户组id |
-G | 查看用户所有组id |
-n | 显示名字而不显示id数字 |
3 用户信息切换
su 和 su-
su 只切换用户身份,不切换用户环境
su - 切换用户环境及身份
4 用户及用户组的建立,删除和管理
创建用户test,采用/etc/login.defs文件的默认参数:
MAIL_DIR /var/spool/mail #用户默认邮箱目录
PASS_MAX_DAYS 99999 #密码最长过期时间
PASS_MIN_DAYS 0 #密码最短过期时间
PASS_MIN_LEN 5 #密码最小长度
PASS_WARN_AGE 7 #密码过期提前提醒时间
UID_MIN 1000 #普通用户UID最小值
UID_MAX 60000 #普通用户UID最大值
SYS_UID_MIN 201 #系统用户UID最小值
SYS_UID_MAX 999 #系统用户UID最大值
GID_MIN 100 #普通组GID最小值
GID_MAX 60000 #普通组GID最大值
SYS_GID_MIN 201 #系统组GID最小值
SYS_GID_MAX 999 #系统组GID最大值
CREATE_HOME yes #默认创建用户家目录
UMASK 077 #默认用户家目录权限 drwx------ 2
USERGROUPS_ENAB yes #默认创建同用户名称的用户组
ENCRYPT_METHOD SHA512 #密码加密方式为SHA512
命令 | 参数 | 意义 |
---|---|---|
useradd | 建立用户 | |
… | -u | 指定用户的uid |
… | -g | 指定用户组 |
… | -G | 指定添加附加组 |
… | -c | 指定用户说明 |
… | -d | 指定用户家目录 |
… | -s | 指定shell |
userdel | 删除用户,不删除资源 | |
… | -r | 删除用户,删除家目录 |
… | -f | 强制删除用户 |
usermmod | -c | 添加用户备注 |
… | -d -m | 重新指定家目录并把旧数据转移过去 |
, | -u | 修改uid |
… | -g | 修改gid(组必须存在) |
… | -aG | 添加附加组 |
… | -e | 指定用户到期时间 |
… | -L | 锁定用户 |
… | -U | 解锁用户 |
… | -s | 更改用户shell |
5 用户认证管理 passwd chage
密码中的信息9列表示的含义(记不住用man 5–)
[1]zhq–用户名称:[2]用户密码(用户的加密字符串,如果出现!则用户被冻结):[3]18262–用户密码最后一次被更改的时间,此时间计算是从1970-01-01开始计算的累计天数:[4]1–用户密码最短有效期:[5]99999–用户密码最长有效期(用户必须在此有效期内修改密码,否则会被冻结):[6]7–密码警告期限(在过期前制定天数内会发送警告信息给用户):[7]用户非活跃天数–默认为空,如果设定,表示密码最长有效期限过后还能使用的天数:[8]用户到期日–表示账户一定会被冻结的时间点:[9]用户自定义列,目前尚未启用
参数 | 意义 |
---|---|
passwd -l | 锁定用户禁止其登录 |
passwd -u | 解除锁定,允许其登录 |
passwd --stdin | 通过标准输入修改密码 |
passwd -d | 使该用户可用空密码登录系统 |
passwd -e | 强制用户下次登陆修改密码 |
passwd -S | 显示用户密码是否被锁定,以及密码所采用的加密算法 |
passwd -n / chage -m | 修改用户密码最短有效期 |
passwd -x / chage -M | 修改用户密码最长有效期 |
passwd -i / chage -I | 修改用户非活跃天数–密码过期后仍可登陆的天数 |
passwd -w / chage -W | 修改密码警告期限–密码过期前两天有警告输出 |
chage -E | 修改用户到期日 |
6用户权力的下放
sudo 能把某些超级权限针对性的下放 , 并且不需要普通用户知道 root 密码 , 所以 sudo 相
对于权限无限制性的 su 来说 , 还是比较安全的
sudo 能把某些超级权限针对性的下放 , 并且不需要普通用户知道 root 密码 , 所以 sudo 相对于权限无限制性的 su 来说 , 还是比较安全的sudo 执行命令的流程是当前用户切换到 root,
然后以 root 身份执行命令 , 执行完成后 , 直接退回到当前用户 ; 而这些的前提是要通过sudo 的配置文件 /etc/sudoers 来进行授权
/etc/sudoers
>visudo
用户 主机名称=(新执行身份) [NOPASSWD:] 命令
westos server0.example.com=(root) /usr/sbin/useradd
westos server0.example.com=(root) NOPASSWD: /usr/sbin/userdel