Day08 红帽Linux — 2管理本地用户

红帽Linux — 2管理本地用户


用户的概念

  • 用户账户用于在运行命令的不同人员和程序之间提供安全界限

  • Linux中通过UID区分不同的用户,用户名和UID的映射在账户信息数据库中定义


用户类型

  • 超级用户:0

    root用户,具有系统中至高无上的权力

  • 系统用户:1-999

    一些用来做系统服务的用户

  • 普通用户:1000+

    一些基本使用系统的用户


用户的配置文件

  • /etc/passwd:存储所有用户的大部分信息

  • /etc/shadow:存储这用户的密码信息

注:root有权限直接修改,但不建议,可能导致root无法登录,且错误配置无法恢复


/etc/passwd
  1. 用户的用户名
  2. 曾是加密后的用户密码,出于安全考虑,已转移,使用x作为占位符
  3. 用户的UID
  4. 用户的主要组的GID
  5. 用户的注释,通常是其真实姓名
  6. 用户的家目录
  7. 用户登录的shell

在这里插入图片描述


/etc/shadow
  1. 用户的用户名
  2. 用户加密后的密码,包括三个部分,用"$"分隔,用哈希算法加密,随机选取的salt值
  3. 上次更改密码的日期,从1970年1月1日起的天数
  4. 密码最短使用期限,上次改密后,多久才能再次改
  5. 密码最长使用期限,上次改密后,多久必须再次改
  6. 警告期,密码过期前的警告时长
  7. 非活动期,密码过期后的宽限期,非活动期后,不该密码将锁定用户
  8. 密码过期日,空字段表示不会过期
  9. 留空,预留给未来使用

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


管理用户

新建用户
  • 指令

    useradd <user>		#创建用户
    
  • 例子

    • 新建用户 Tom

      useradd tom
      #或
      useradd -m tom 	#创建用户时在/home同步创建家目录
      #或
      adduser tom		#创建用户时在/home同步创建家目录
      
      passwd tom		#不设密码无法登录,密码有复杂度要求,root不受限制
      
    • 新建用户ken,要求UID为610,注释为thisisken,家目录为/ken,非交互式登录

      useradd -u 610 -c thisisken -d /ken -s /sbin/nologin ken
      tail -1 /etc/passwd		#查看最后一行
      
  • 一些默认值会从 /etc/login.defs 中读取,如UID编号范围和默认密码过期规则等。修改后只对新创建的用户有效


删除用户
  • 指令

    userdel <user>		#删除用户
    Find / -nouser -nogroup	#找到无人拥有的目录和文件(拥有者被删除了),然后再手动分配这些文件
    
    #或
    userdel -r <user>	#删除用户时同步删除主目录
    
  • 默认情况下,新用户的UID会从1000开始分配,被删后的UID可能会被分配到新用户,具有相同UID的用户具有相同权限,并且可以直接接管之前用户的文件。因此要考虑是否删除用户时删除文件夹。

  • 假设有Linux A和Linux B。A上的用户tom,UID为1001,对1.txt有读写权力,B上的用户tom,UID为1002,将1.txt拷贝到B上,B上的tom对文件没有权限,若B上有用户lisa,UID为1001,则lisa对1.txt文件有读写权限。


修改用户属性
  • 格式

    usermod [option] <user>
    

  • 指令

    usermod选项作用
    -c 或 --comment将用户的真实姓名添加到注释字段
    -g 或 --gid为用户账户指定主要组
    -G 或 --groups为用户账户指定附加组的逗号分隔列表
    -a 或 --append与-G选项组合使用,将附加组添加到用户当前的组成员集合中,而不是将附加组集合替换为新集合
    -d 或 --home为用户账户指定特定的主目录(HOME_DIR)
    -m 或 --move-home将用户的主目录移到新的位置,必须与-d搭配使用
    -s 或 --shell为用户账户指定特定的登录shell
    -L 或 --lock锁定用户账户
    -U 或 --unlock解锁用户账户
    -l 或 --login更改账户登录的用户名

  • 修改ken用户的名称为bob

    usermod -l bob ken	#使用-l选项修改用户名称,选项与useradd基本一致
    

  • 新建一个admin,UID为0,然后禁用root用户

    • useradd -o -u 0 admin	#使用-o选项去除UID的唯一性
      usermod -L root 		#锁定root用户,U解锁
      
    • 由于root用户具有非常高的权限,所以锁定root用户是非常操作,使用-L选项进行锁定,其实是在root用户的密码前加了个感叹号。

    • 另外也可将root的shell修改为nologin shell,也可以显示禁止root用户登录的效果。


  • 添加用户tom到group1、group2用户组中

    • usermod -G group1, group2 tom
      
    • 注:使用usermod -G 时,若该用户还有其他补充组,将从其他补充组中移除 usermod -aG <group> <user> #把用户追加到某些组中,通常-a -G连用

  • 设置密码

    passwd user01
    

    有复杂度要求,用root权限则可强制改


UID范围
范围设定
0始终分配给 root 账户
1-200系统用户,由红帽静态分配给系统进程
201-999系统用户,供文件系统中没有自己的文件的系统进程使用。通常在安装需要它们的软件时,从可用池中动态分配它们。程序以这些”无特权“系统用户身份运行,以便限制它们仅访问正常运行所需的资源。
1000+分给普通用户

常用指令

Windows cmd:

scp <文件> <账户>@<IP>:/home/用户名/		#远程传输文件

查找文件

find \ -name \*keyword\*

参考资料:Red Hat Training and Certification

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值