运维之Linux中的用户管理

1.用户切换

1.用户查看

whomai

查看当前用户
运维之Linux中的用户管理

id

查看用户id信息

  • -u 查看用户的用户id
  • -g 查看用户主组id
  • -G 查看用户所有的组的id
  • -n 显示名称
    运维之Linux中的用户管理

2.用户切换

su - username

切换用户环境

如果root ----> commonuser 不需要后者密码
commonuser ----> root 需要密码
commonuser ----> commonuser 需要密码
注意:在做用户切换时当使用完毕用户身份及时退出
不要在一个shell中反复执行su命令
在一个shell中反复执行su命令会导致环境错乱

2.用户涉及到的系统配置文件

  • /etc/passwd 用户身份信息文件
    七列内容:用户名称;用户密码;用户id;用户主组id;用户说明;用户家目录;用户默认shell
    运维之Linux中的用户管理
  • /etc/group 组身份信息文件
    四列内容:组名称;组密码;组id;组的附加成员
    运维之Linux中的用户管理
  • /etc/skel/.* 用户环境配置文件模板
    运维之Linux中的用户管理
  • /etc/shadow 用户认证信息文件
    运维之Linux中的用户管理
  • /home/username 用户家目录
    运维之Linux中的用户管理

3.用户和用户组建立及删除

建立监控用户的命令
watch -n 1 “tail -n 4 /etc/passwd /etc/groupecho =======ls -l /home”
  • useradd username 用户建立
  • -u id username uid 2**16=0-65535
    (0 表示超级用户
    1-200 系统预留id
    201-999 系统用户
    1000-60000 用户级用户
    /etc/login.defs 记录用户建立的默认)
    -g id username
    主组id
    -G id username
    附加组id
    -d dir username
    指定用户家目录
    -c word username
    指定用户说明
    -s shell username
    指定用shell
  • userdel -r username
    用户删除 -r 删除用户的系统配置文件
  • groupadd groupname
    组建立
    -g id groupname
    指定组名称
  • groupdel groupname
    组删除
    示例:建立id为666,主组id为666的用户han
    运维之Linux中的用户管理

监控用户示例:
运维之Linux中的用户管理
运维之Linux中的用户管理

4.用户和用户组的信息管理

  • usermod
    -l更改用户名称
    -u更改用户id
    -g更改主组id
    -G 更改用户附加组身份
    -aG 添加用户附加组身份
    -c 更改用户说明
    -d 更改家目录指向
    -md 更改家目录指向同时更改家目录名称
    -s 更改默认shell
    -L 冻结账号
    -U 解锁
  • groupmod -g
    更改用户组id
    示例:一顿操作猛如虎运维之Linux中的用户管理

5.用户认证信息管理

1.用户名称

  • passwd -S username
    查看密码状态
    运维之Linux中的用户管理

2.用户加密字符

更改密码
在超级用户里写个脚本给我的普通用户修改密码

运维之Linux中的用户管理
监控用户han的密码状况:
运维之Linux中的用户管理

  • passwd username
    只有root可以执行 “echo 123 | passwd --stdin username”
  • passwd
    普通用户改密码
    Changing password for user username.
    Current password: #输入原始密码
    New password: ##输入新密码(8位以上无序数字+无序字母组合)
    Retype new password: ##重复输入
    passwd: all authentication tokens updated successfully.
冻结认证
  • passwd -l username
    冻结账号认证

  • passwd -u username
    解锁账号认证
    运维之Linux中的用户管理

密码删除
  • passwd -d 用户 密码使用天数
    运维之Linux中的用户管理
    *从1970-1-1算其到今天的时间

  • passwd -e username
    修改默认使用时间为0

运维之Linux中的用户管理

  • chage -d 0 username
    账号必须改密码才能登陆系统
密码最短有效期
  • passwd -n 1 username
    用户在1天内不能改密码
    运维之Linux中的用户管理
  • chage -m 1 username
密码最长有效期
  • passwd -x 40 username
    40天内用户必须更新密码否则会被冻结
  • chage -M 30 用户运维之Linux中的用户管理
密码过期警告
  • passwd -w 2 username
    账号过期前警告时间
  • chage -W 1 username
    运维之Linux中的用户管理
认证非活跃天数
  • passwd -i 2 用户
    账号认证最大时间超过后还能用多久
  • chage -I 1 用户
    运维之Linux中的用户管理
账号认证到期时间
  • chage -E “2020-05-11” username
    到2020-5-11这天账号会被冻结
    运维之Linux中的用户管理
未启用功能

6.用户权力下放

在系统中普通用户时无法执行系统管理命令的
如果需要普通用户执行系统管理动作那么需要root用户来进行授权
普通用户授权方式 “sudo”
作用:
可以使普通用户使用指定的用户身份运行命令

示例可以看到当前为普通用户时权利被拒绝运维之Linux中的用户管理
运维之Linux中的用户管理

授权方法:

  • visudo
    用户名(uername) 主机名=(获得到的用户身份:root) 命令(代码)

此图所示授权方法需要密码
运维之Linux中的用户管理
如果不想输入密码
运维之Linux中的用户管理

  • hostname 获取主机名
    运维之Linux中的用户管理