Linux——用户管理

一、用户管理

  1. 用户存在的意义
    用户的存在是为了系统的安全,因为用户概念在系统中是系统安全机制的一部分 (限制权力)

  2. 组存在的一意义
    共享 (开放权力)

  3. 用户的查看
    1)查看当前用户
    ➢whoami 查看当前用户
    在这里插入图片描述
    2)系统中用户的查看
    ➢id 查看指定用户id信息
    ➢id 参数 用户
    -u 查看用户的uid
    -g 查看用户的gid(初始组)
    -G 查看用户所在的所有组的id(附加组)
    -n 显示名字而不显示id数字(-n不可单独使用,要和其他参数一起搭配使用)
    在这里插入图片描述

  4. 用户切换
    ➢su - 用户名称
    在这里插入图片描述
    su - 中 “-” 表示在用户身份切换时同时切换当前用户的环境
    su - 执行时高级用户切换到低级用户不需要密码,低级用户切换到高级需要,平级用户切换切换也需要

    注意:每次su切换到其他用户操作之后必须退出(exit|logout),然后再次切换到其他用户,否则开启shell会很多,系统很卡。
    在这里插入图片描述

    :su - student 切换到student
    注意:除了shell是student下的,剩下的还是root环境下的

  5. 用户在系统中的存储方式
    (1)/etc/passwd 用户信息文件
    用户信息包括以下7个部分:
    用户名称:密码:uid:gid:说明:家目录:默认shell
    在这里插入图片描述
    说明是看到界面的名字(Student User),说明部分不加则显示用户名称
    (2)/etc/group 用户组信息文件
    组的名字:组密码:组id:组成员
    在这里插入图片描述
    (3)/etc/shadow 认证信息文件
    (4)/etc/skel/.* 默认开启shell的配置,用户的骨文件(建立用户后需要添加这里面的所有文件到用户家目录 中)
    (5)/home/username 用户的家目录
    在这里插入图片描述

  6. 用户管理命令
    1)用户的删除
    ➢userdel
    ➢userdel student 删除用户但不删除用户的配置文件
    ➢userdel -r student 删除用户并删除用户的配置文件
    2)用户建立
    用户信息监控命令
    在这里插入图片描述
    在这里插入图片描述
    ➢useradd westos 建立用户
    建立用户时,读取/etc/login.defs 文件内容确定规则
    uid和gid默认从1000开始 即创建后uid=gid=1001
    ➢useradd -u 888 westos 指定用户uid
    在这里插入图片描述
    如果westos用户已经存在,则要删除后再重新创建
    在这里插入图片描述
    ➢useradd -g 21 westos 指定用户初始组id(21用户组必须是存在的)
    在这里插入图片描述
    ➢useradd -G 21 westos 指定用户的附加组id(21用户组必须存在)
    在这里插入图片描述
    注意:usderadd -g 和usderadd -G 在做试验的时候必须先创建组groupadd,(想附加给别的组,则组得先存在)
    以下命令用法同上,不再赘述:
    ➢useradd -c “hello” westos 指定用户的说明
    ➢useradd -d /home/lee westos 指定用户的家目录
    ➢useradd -s /bin/sh westos 指定用户的默认shell (默认是/bin/bash,修改shell则限制登陆)
    ➢groupadd 建立用户组
    ➢groupadd -g 888 建立用户组并指定用户组的id
    ➢groupdel 删除用户组
    ➢cat /etc/shells 显示系统中所有的shell版本
    注意:若想新建用户的信息,要记得把已经存在的相关信息删除掉
    3)更改用户信息
    更改组信息
    ➢groupmod -g 666 linux 更改组id
    更改用户信息
    ➢usermod
    ➢usermod -l 新名称 westos 更改用户的名称
    在这里插入图片描述
    ➢usermod -u 666 westos 更改用户uid
    在这里插入图片描述
    ➢usermod -g 21 westos 更改用户的初始组
    在这里插入图片描述
    ➢usermod -G 21 westos 更改用户的附加组
    在这里插入图片描述
    ➢usermod -aG 72 westos 添加用户的附加组
    在这里插入图片描述
    ➢usermod -G “” westos 删除用户所有附加组的身份
    ➢usermod -c “hahahah” westos 指定用户说明文字
    ➢usermod -c “” westos 删除用户说明文字
    ➢usermod -d /home/lee westos 更改用户家目录的指向
    ➢usermod -md /home/lee westos 更改用户家目录
    ➢usermod -s /bin/sh westos 更改用户的shell
    ➢usermod -L westos 冻结用户,在用户密码前加入“!”
    ➢usermod -U westos 解锁用户
    注意:冻结用户命令在root下执行
    但是从root下切换到冻结用户还是可以执行的,因为超级用户切换到普通用户不需要密码
    只有在普通用户切换到普通用户时,冻结用户功能才成功(因为普通用户切换到普通用户需要密码)

    在这里插入图片描述

  7. 用户认证信息
    /etc/shadow 记录用户认证信息文件
    此文件一共有九列:
    用户名称:用户密码:用户密码最后一次被更改的时间:用户密码最短有效期:用户密码最长有效期: 密码警告期限:用户非活跃天数(过期后还能使用多长时间):用户到期日:用户自定义列,目前没有启用
    用以下命令对用户认证信息文件进行监控:
    在这里插入图片描述
    (1)用户名称
    (2)用户密码
    ➢passwd westos 更改westos密码
    ➢passwd -l westos 给密码加锁(在用户密码前加入“!!”),强度高于usermod -L
    在这里插入图片描述➢passwd -u westos 去掉"!!“密码空时使用(去不掉时可-f强制)
    ➢usermod -L westos 给密码加锁(在用户密码前加入“!”)
    加一个!后再使用命令则不能再加!
    ➢usermod -U westos 在密码不为空时使用,密码为空时锁”!!"去不掉
    ➢passwd -d westos 清空westos密码
    在这里插入图片描述
    ➢ passwd -S westos 查看westos用户密码信息
    在这里插入图片描述
    注意:
    普通用户改密码时
    1.必须知道当前原始密码
    2.密码不能和帐号名称相似
    3.密码不能是纯数字或纯字母
    4.密码不能是有序的字母和数字的组合

    (3)用户密码最后一次被更改的时间
    ➢passwd -e westos 会改变用户最后一次更改密码时间为(此命令一般不加数字)
    目的在于用户在登陆时会被强制更改密码在更改密码后,0会变回去
    ➢chage -d 0 westos 两个命令功能类似
    (4)用户密码最短有效期
    ➢passwd -n 1 westos westos用户在1天之内不能修改密码
    ➢chage -m 1 westos
    (5)用户密码最长有效期
    ➢passwd -x 30 westos 设定westos在30天内必须改密码
    ➢chage -M 40 westos
    (6)密码警告期限
    ➢passwd -w 2 westos 密码过期前两天有警告输出
    ➢chage -W 2 westos
    (7)用户非活跃天数
    ➢passwd -i 1 westos 密码过期后仍可登陆系统的天数
    ➢chage -I 1 westos
    (8)用户到期日
    ➢chage -E 2018-11-11 westos westos用户在2018-11-11日会被冻结
    (9)用户自定义列,目前没有启用

  8. 用户权限
    (1)/etc/sudoers 权力下放文件
    (2)下放方式
    ➢vim /etc/sudoers 但是不提供语法检测
    ➢visudo visudo命令时提供语法检测的(推荐使用visudo)
    一般都在100左右进行编辑:set nu --->:100
    编辑内容:
    用户 主集名称=(得到的用户身份) 命令
    例:
    (1)world用户可以在localhost主机以root身份执行useradd命令
    在这里插入图片描述
    在这里插入图片描述
    (2)world用户可以在localhost主机以root身份免密码执行useradd命令在这里插入图片描述
    在这里插入图片描述
    (3)测试
    su - tom 先切换到tom用户(测试时先设置tom用户的密码)
    sudo useradd hello (tom用户下)


版权声明:本文为qq_42036824原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。