RH124 第五章 Linux系统中的用户管理

RH124 第五章 Linux系统中的用户管理

1. 用户及用户组存在的意义

1)用户存在的意义 ——系统资源是有限的,如何合理分配系统资源?
3A机制,组成系统中最底层的安全架构

1.身份 account
2.授权 author
3.认证 auth

2)用户组存在意义

用户组是一个逻辑容器 对用户进行归类和统一授权

2.用户及用户组在系统中的存在方式

电脑对数字敏感 id
人类对字符串敏感 名称
id <-------> 名称 必须要记录到文件当中用户才能存在
用户就是/etc/passwd文件中的一行字符
用户组存在的方式就是/etc/group 文件中的一行字符

3.用户切换

1)用户查看

  • whomai 查看当前用户
[westos@localhost root]$ whoami
westos
  • id 查看用户id信息
    -u 查看用户的用户id
    -g 查看用户主组id
    -G 查看用户所有的组的id
    -ngG (-ng -nG) 显示名称
[westos@localhost Desktop]$ id westos
uid=1000(westos) gid=1000(westos) groups=1000(westos)
[westos@localhost Desktop]$ id root
uid=0(root) gid=0(root) groups=0(root)
[westos@localhost Desktop]$ id -G westos
1000

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

[westos@localhost Desktop]$ su -
Password: 
[root@localhost ~]# su westos
[westos@localhost root]$ whoami
westos
[westos@localhost root]$ exit
exit
[root@localhost ~]# exit
logout

注销图形,变为用户登陆界面
注销图形,变为用户登陆界面

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

  • /etc/passwd
    ##用户身份信息文件(用户的所有资源文件)
    用户名称 : 用户密码 用户id :用户主组I d : 用户说明(登录界面用户名称):用户家目录 :用户默认shell
    man 5 passwd -----可以看到如下图所示的用法解释
    在这里插入图片描述

  • /etc/group
    ##组身份信息文件
    组名称 :组密码 :组id :组的附加成员

  • /etc/skel/.* ##用户环境配置文件模板

  • /etc/shadow ##用户认证信息文件

  • /home/username ##用户家目录

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

监控用户建立的命令----- watch

[root@localhost ~]# watch -n 1 "tail -n 3 /etc/passwd /etc/group /etc/shadow"

在这里插入图片描述
在这里插入图片描述

(当一行写两个命令的时候,用分号隔开;Ctrl + C 退出监测模式)

在这里插入图片描述

  • useradd 命令
    useradd username 创建用户
    useradd -u id username 其中 uid 2**16=0-65535

     										 uid
     										0 表示超级用户
     										1-200 系统预留id
     										201-999 系统用户
     										1000-60000 用户级用户
    

    参数规则
    useradd -g id 创建 gid指定 主组id 用户
    useradd -G id Gid指定 附加组id
    useradd -d dir 指定 用户家目录
    useradd -M 不创建家目录
    useradd -c word 指定 用户说明
    useradd -s shell 指定 用户shell

  • userdel 命令
    删除用户
    userdel –r username 用户删除 ( -r 删除用户的系统配置文件)

  • groupadd命令 建立用户组
    例 groupadd groupname 用户组建立
    例 groupadd -g id groupname 建立 指定组名称 的用户组

  • groupdel 命令 删除用户组

[root@localhost ~]# useradd lee
[root@localhost ~]# groupadd lee
groupadd: group 'lee' already exists
[root@localhost ~]# id lee
uid=1001(lee) gid=1001(lee) groups=1001(lee)
[root@localhost ~]# groupadd -g 666 lee
groupadd: group 'lee' already exists
[root@localhost ~]# useradd jm
[root@localhost ~]# userdel -r jm
[root@localhost ~]# useradd westos
useradd: user 'westos' already exists
[root@localhost ~]# groupadd -g 666 linux
[root@localhost ~]# useradd linux
useradd: group linux exists - if you want to add this user to that group, use -g.
[root@localhost ~]# useradd -g 666 linux
[root@localhost ~]# id 666
id:666: no such user
[root@localhost ~]# groupadd -g 999 linux
groupadd: group 'linux' already exists
[root@localhost ~]# groupdel linux
groupdel: cannot remove the primary group of user 'linux'
[root@localhost ~]# userdel -r linux
[root@localhost ~]# useradd linux
[root@localhost ~]# useradd kl

补充:添加成员(默认添加了这个成员的主组),删除时只能删除成员(默认删除成员的主组)

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

  • usermod 命令 更改用户信息
    -l #更改用户名称
    -u #更改用户id
    -g #更改主组id
    -G #更改用户附加组身份
    -aG #添加用户附加组身份
    -c #更改用户说明
    -d #更改家目录指向
    -md #更改家目录指向同时更改家目录名称
    -s #更改默认shell
    -L #冻结账号
    -U #解锁
[root@localhost ~]# usermod -l lee1 lee
[root@localhost ~]# usermod -u 678 lee1
[root@localhost ~]# usermod -g 890 lee1
usermod: group '890' does not exist
[root@localhost ~]# usermod -g 1000 lee1
[root@localhost ~]# usermod -G 1001 lee1
[root@localhost ~]# usermod -c "lee1" lee1
[root@localhost ~]# usermod -d /home/lee1
[root@localhost ~]# usermod -d /home/lee1/ lee1
[root@localhost ~]# usermod -md /home/lee1/ lee1
usermod: no changes
[root@localhost ~]# usermod -s /bin/sadh lee1
  • groupmod 命令 ##更改用户组信息
    groupmod –g** ##更改用户组id
[root@localhost ~]# groupmod -g 1001 linux
groupmod: GID '1001' already exists
[root@localhost ~]# groupmod -g 1005 linux

7.用户认证信息管理

监控用户认证信息管理状态-----watch
在这里插入图片描述

1.用户名称
passwd -S lee 查看密码状态

2.用户加密字符

  • 更改密码
    passwd lee 只有root用户可以执行 或 “echo 123 | passwd --stdin lee”——用脚本非交互模式更改密码!!
    passwd 普通用户改密码
    8位以上无序数字+无序字母组合
[root@localhost ~]# passwd westos
Changing password for user westos.
New password: 
BAD PASSWORD: The password is shorter than 8 characters
Retype new password: 
passwd: all authentication tokens updated successfully.
  • 冻结认证
    Passwd -l username 冻结 账号认证----第二位显示!!
    passwd -u username 解锁 账号认证-----第二位显示空格
[westos@localhost ~]$ su -
Password: 
[root@localhost ~]# passwd -l westos
Locking password for user westos.
passwd: Success
[root@localhost ~]# passwd -u westos
Unlocking password for user westos.
passwd: Success
  • 密码删除
    passwd -d username 密码删除
[root@localhost ~]# passwd -d westos
Removing password for user westos.
passwd: Success
  • 密码使用天数 ------第三位显示
    passwd –e username 从1970-1-1算其到今天的时间
    chage -d 0 username 修改默认使用时间为0, 账号必须改密码才能登陆系统d
[root@localhost ~]# passwd -e linux
Expiring password for user linux.
passwd: Success
[root@localhost ~]# chage -d 10 linux
  • 密码最短有效期 ------第四位显示
    passwd -n 1 lee # lee在1天内不能改密码
    chage -m 1 lee
[root@localhost ~]# passwd -n 5 linux
Adjusting aging data for user linux.
passwd: Success
[root@localhost ~]# chage -m 15 linux
  • 密码最长有效期 ------第五位显示
    passwd -x 40 username #40天内lee用户必须更新密码否则会被冻结
    Chage -M 30 username
[root@localhost ~]# passwd -x40 linux
Adjusting aging data for user linux.
passwd: Success
[root@localhost ~]# chage -M 150 linux
  • 密码过期警告 -------第六位显示
    passwd -w 2 username
    chage -W 1 username
    账号过期前警告时间
[root@localhost ~]# passwd -w 2 linux
Adjusting aging data for user linux.
passwd: Success
[root@localhost ~]# chage -W 5 linux
  • 认证非活跃天数------第七位显示
    passwd -i 2 username
    chage -I 1 username 账号认证最大时间超过后还能用多久
[root@localhost ~]# passwd -i 10 linux
Adjusting aging data for user linux.
passwd: Success
[root@localhost ~]# chage -I 100 linux
  • 账号认证到期时间------第八位显示
    chage -E “2020-05-11” #到2020-5-11这天账号会被冻结
[root@localhost ~]# chage -E "2026-12-19" linux
  • 未启用功能------第九位显示

总结

在这里插入图片描述

补充:练习题在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

8.用户权力下放

  • 背景
    在系统中普通用户时无法执行系统管理命令的,如果需要普通用户执行系统管理动作,那么需要root用户来进行授权

  • 普通用户授权方式 “sudo”命令

  • 作用
    可以使普通用户,使用指定的用户身份运行命令

  • 授权方法
    visudo 命令 ——此命令作用是编辑/etc/sudoers并提供语法检测
    在配置文件的100行左右编辑修改权限!! (代码规范性)
    username hostname=(newusername) [NOPASSWD:] /command, / command1

  • 例1
    lee用户 在linux.wesots.com主机=(用超级用户身份)执行useradd命令
    lee linux.westos.com=(root) /usr/sbin/ useradd
    在这里插入图片描述

  • 例2
    westos用户 在linux.wesots.com使用超级用户身份 免密 执行 useradd 和 userdel 命令
    westos linux.wesots.com = (root) NOPASSWD: /usr/sbin/ useradd, /usr/sbin/userdel
    在这里插入图片描述

  • 测试
    su - lee
    sudo useradd westostest #在lee第一次使用sudo命令时需要输入lee密码
    exit #退出lee
    su - westos
    sudo userdel -r westostest #westos可以免密执行userdel 命令

linux localhost.localdomain=(root) NOPASSWD:/usr/sbin/useradd, /usr/sbin/userdel
[westos@localhost Desktop]$ visudo
visudo: /etc/sudoers: Permission denied
[westos@localhost Desktop]$ su -
Password: 
[root@localhost ~]# visudo
[root@localhost ~]# su - linux
[linux@localhost ~]$ sudo useradd hallo
[linux@localhost ~]$ sudo userdel -r hallo

补充:

[root@localhost ~]# which adduser
/usr/sbin/adduser
[root@localhost ~]# whoami
root
[root@localhost ~]# hostname 
localhost.localdomain
补充:测试题

在这里插入图片描述

[westos@localhost Desktop]$ mkdir /tmp/conf
[westos@localhost Desktop]$ su -
Password: 
[root@localhost ~]# cp /etc/*[[:digit:]]*.conf /tmp/conf
[root@localhost ~]# su - westos
[westos@localhost ~]$ find /etc/ -name passwd 2>&1 | tee /tmp/find.all
find: ‘/etc/pki/rsyslog’: Permission denied
find: ‘/etc/lvm/archive’: Permission denied
find: ‘/etc/lvm/backup’: Permission denied
find: ‘/etc/lvm/cache’: Permission denied
find: ‘/etc/dhcp’: Permission denied
find: ‘/etc/cups/ssl’: Permission denied
/etc/pam.d/passwd
/etc/passwd
find: ‘/etc/nftables’: Permission denied
find: ‘/etc/sssd’: Permission denied
find: ‘/etc/grub.d’: Permission denied
find: ‘/etc/polkit-1/rules.d’: Permission denied
find: ‘/etc/polkit-1/localauthority’: Permission denied
find: ‘/etc/audit’: Permission denied
find: ‘/etc/libvirt’: Permission denied
find: ‘/etc/firewalld’: Permission denied
find: ‘/etc/sudoers.d’: Permission denied
[westos@localhost ~]$ cp /etc/passwd /tmp/
[westos@localhost ~]$ vim /tmp/passwd

passwd文件里:
:%s/: /""/g
:wq!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值