用户与权限

本文详细介绍了Linux系统中的用户管理,包括用户信息存储、组信息存储、用户切换及文件权限设置。深入探讨了传统权限如读、写、执行,以及特殊权限如SUID、SGID和Sticky位的使用场景。同时,文章还覆盖了访问控制列表(ACL)的高级应用,以及如何通过ACL为更多用户提供定制化的权限。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

    Linux的用户都有自己唯一的用户名和口令,用户可以根据自己的用户名和口令登陆系统。

用户管理文件

  1./etc/passwd 用于存放用户的信息
   格式为:
   用户名:密码 : uid:gid:注释:家目录:shell类型
   (注意:密码用符号x占位,真正的密码存在/etc/shadow文件中)
  2. /etc/gshadow 存放用户密码
   格式为:
   用户名:加密的密码 :上一次密码修改时间:修改密码的最小期限:密码最长有效期:密码最长过期前提醒时间:宽限时间:账户到期时间:保留字段
  3./etc/group 用于存放组的信息
   格式为: 群组名称:群组密码:GID
  4./etc/gshadow 组密码及其相关属性
   格式为: 群组名:群组密码: 组管理员列表:以当前组为附加组的用户列表

切换用户

  1.用户可以用su 命令来切换不同的用户身份
  su [options…] [-] [user [args…]]
   su UserName:非登录式切换,即不会读取目标用户的配置文件,不改变当前工作目录
   su - UserName:登录式切换,会读取目标用户的配置文件,切换至家目录
  root 切换至其他用户无须 密码,非root用户切换时需要密码

文件权限

  1.传统权限有r(读),w(写),x(执行),而且同样的权限在文件和目录的作用不一样
  目录:
   r:用户可以查看目录下面有哪些文件
   w:用户可以在删除此目录下面或复制,移动文件到此目录下面
   x:用户可以进入到目录下面,文件夹最低需要执行权限
  文件:
   r:用户可查看文件内容
   w:用户可以修改文件
   x:用户可以执行此文件,一般默认不给文件执行权限
  2.特殊权限
   SUID, SGID, Sticky
   suid:设置在可执行的二进制程序上面,当使用执行此程序就会获得文件所有者的权限
在这里插入图片描述
在这里插入图片描述
   前面我们介绍了用户的口令是放在/etc/shadow文件里面的,修改用户口令就是修改/etc/shadow文件,但是除了root用户其他用户无法修改shadow文件,但是用户可以修改自己的口令。
  原因就是普通用户使用passwd执行程序的时候暂时获得了root的权限,修改了shadow文件。sgid可以理解成古代钦差大臣携带的尚方宝剑,大臣就拥有了皇帝拥有的权限 在这里插入图片描述
   sgid:设置在可执行的二进制程序上面,当使用执行此程序就会获得文件所属组的权限,与sgid类似。但是当文件作用在文件夹上时,在文件夹的下面新建的文件的所属组就会变成文件夹的所属组
   sticky:具有写权限的目录通常用户可以删除该目录中的任何文件,无论是不是拥有该文件什么权限, 在目录设置Sticky 位,只有文件的所有者或root可以删除该文件,注意sticky 设置在文件上没有意义
   除了上面的权限,还可以对文件设置特殊的权限
在这里插入图片描述
   可以看到连root无法在修改i属性的文件的内容,说明+i属性不允许所有的用户修改文件
在这里插入图片描述
   a属性的功能是只能对文件增加内容,不能修改文件

   访问控制列表 ACL:
   除了文件的所有者,所属组和其它人,可以对更多的用户设置权限
   CentOS7 默认创建的xfs和ext4文件系统具有ACL功能
    CentOS7 之前版本,默认手工创建的ext4文件系统无ACL功能,需手动增加 tune2fs –o acl /dev/sdb1 mount –o acl /dev/sdb1 /mnt/test
   ACL有生效次序:文件所有者,自定义用户,自定义组,其他人,其中如果没有针对一个用户单独设置权限
   注意:若他在多个组自定义组里,那么他拥有的权限是所有字定义组的权限之和
   ACL文件上的group权限是mask 值(自定义用户,自定义组,拥有组的最大权 限),而非传统的组权限 。getfacl 可看到特殊权
   通过ACL赋予目录默认x权限,目录内文件也不会继承x权限
   base ACL 不能删除
    setfacl -k dir 删除默认ACL权限
    setfacl –b file1清除所有ACL权限
    getfacl file1 | setfacl --set-file=- file2 复制file1的acl权限给file2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值