✏️
安全运维
  • 目录
  • 常用命令速查手册
    • LINUX 命令总结
  • Linux--CentOS
    • 实战案例
      • 进入CentOS 7紧急模式,恢复root密码
      • 创建一个让root都无法删除的文件
      • tar源码包管理及srpm源码包安装方法
      • 找出系统中使用CPU最多的进程
      • 使用screen执行备份命令
      • 扩展Swap分区
      • 解决磁盘有空间但创建不了文件及修复文件系统问题
      • 修复服务器文件系统
      • 自定义ssh服务的日志类型和存储位置
      • 日志切割及搭建远程日志收集服务器
      • 配置公司内网服务器每天定时自动开关机
    • 基础知识
      • Linux的目录结构
      • 系统时间管理
      • 关机、重启命令及7个运行级别
      • passwd、shadow 文件
    • 基础命令
      • 帮助命令
      • ping 命令
      • ls 命令
      • alias 命令
      • history 命令
      • Linux中的快捷键
      • Untitled
      • Untitled
    • 基础配置
      • 安装中文版man手册
      • 网卡配置
      • 关闭防火墙并设置开机不启动防火墙
      • 临时和永久关闭SELinux
      • 配置本地YUM源
    • 文件管理
      • touch 命令
      • VIM 命令
      • cp 命令
      • mv 命令
    • 文件查看
      • cat 命令
      • more 命令
      • less 命令
      • head 命令
      • tail 命令
      • sort 命令
    • 用户和用户组管理
    • 文件权限管理
      • 文件基本权限
      • 文件的特殊权限:SUID、SGID、STicky及文件扩展权限ACL
    • 程序包的管理与安装
      • Yum的使用
    • 文件的压缩和归档
    • 系统进程管理
      • uptime命令查看系统负载
      • top 命令动态管理进程
      • lsof 命令
      • pstree 命令
      • 进程前、后台切换及优先级管理
    • 重定向和文件的查找
      • 文件描述符
      • 重定向的含义及管道、tee命令的使用
      • 查找文件的常用命令及应用
      • 命令判断——3个特殊符号“;”“﹠﹠”“||”
    • 磁盘介绍及管理
      • 磁盘分区工具和挂载
    • 文件系统结构
      • 文件系统结构
      • 文件的硬链接和软链接
      • 使用ln命令创建文件的链接
    • RAID的原理与搭建
      • RAID常用类型搭建和使用,以及注意事项
    • LVM管理和SSM工具的使用
      • 创建LVM的基本步骤
      • SSM工具
    • Linux计划任务与日志的管理
      • 日志的种类和记录的方式
    • 文件共享服务
      • NFS 的安装与使用
      • Samba 的安装与使用
      • CentOS 7.6 安装和配置samba文件共享服务
      • FTP 的安装与使用
      • proftpd
  • 安全加固
    • Windows 安全加固
    • WebLogic 安全加固
    • Apache 安全加固
    • Tomcat 安全加固
    • MySql 安全加固
    • PHP 安全加固
    • SSH 安全加固
    • IIS 安全加固
  • 基线检查
    • DB2数据库基线检查策略
    • MySQL数据库基线检查策略
    • Oracle10g数据库基线检查策略
    • Sybase数据库基线检查策略
    • MSSQL 2008 基线检查策略
    • Jboss7 基线检查策略
    • Apache 基线检查策略
    • Tomcat 基线检查策略
    • 基线检查策略
  • ClamAV
  • iptables
由 GitBook 提供支持
在本页
  • 文件的特殊权限
  • 1.SUID
  • 2.SGID
  • 3.STicky
  • 文件扩展权限

这有帮助吗?

  1. Linux--CentOS
  2. 文件权限管理

文件的特殊权限:SUID、SGID、STicky及文件扩展权限ACL

上一页文件基本权限下一页程序包的管理与安装

最后更新于3年前

这有帮助吗?

文件的特殊权限

其实文件和目录的权限设置不止这些,还有所谓的特殊权限。特殊权限会拥有一些“特权”,如umask掩码的3位,实际上是4位,umask掩码的第1位表示特殊权限SUID、SGID、STicky。

SUID、SGID和STicky对应的八进制数值如图所示:

1.SUID

SUID属性一般用在可执行文件上,当用户执行该文件时,会临时拥有该执行文件的所有者权限。使用“ls -l”或者“ll”命令查看文件时,如果可执行文件所有者权限的第三位是一个小写的“s”,就表明该执行文件拥有SUID属性,如/usr/bin/passwd文件,如图:

注意:赋予SUID权限后,该权限需占用所属主的x权限位,如果文件本身的所属主权限具有x权限,那么将会显示为s ,如果没有x权限,则显示为S。

赋值SUID权限。

查看设置SUID权限后的效果

互动:普通用户mk没有对shadow文件的写权限,但是mk用户使用passwd修改自己的密码时,可以修改shadow文件中的内容,这是什么原因?

因为mk用户执行passwd命令时,权限会提升成root用户,所以可以修改成功。

2.SGID

限定:既可以给二进制可执行程序设置,也可以给目录设置。

功能:在设置了SGID权限的目录下创建文件时,新创建的文件的所属组会继承上级目录的权限。

注意:赋予SGID权限后,该权限需占用所属组的x权限位,如果文件本身的所属组权限具有x权限时,将会显示为s,如果没有x权限,则显示为S。

测试设置SGID大权限后的效果。

3.STicky

限定:只作用于目录。

功能:在一个公共目录中,每个用户都可以创建文件,但只能删除自己的文件,不能删除其他用户的文件。

注意:赋予STicky权限后,该权限需占用其他用户的x权限位,如果目录本身的其他用户权限具有x权限,将会显示为t,如果没有x权限,则显示为T。

系统中的tmp目录本身就具有STicky权限。

文件扩展权限

文件扩展权限(ACL)的全称为Access Control List。

设置ACL权限的相关命令:setfacl命令和getfacl命令。

setfacl命令:用于设置ACL权限。

命令使用格式:setfacl -m u:用户名:权限 文件名。

setfacl -m g:用户名:权限 文件名。
setfacl -x u:用户名 文件名。
setfacl -x g:用户名 文件名。

注意:用setfacl设定权限时,没有相关修改权限的参数,也就是说,权限设定后不支持修改或调整,但可以通过重新指定权限进行调整,例如,指定了rwx权限时,想要去掉x权限,重新赋予rw权限即可。

setfacl命令的选项如下:

-m:设定权限(通常需要带上u/g标识指定权限)。
U: 用户名:给指定用户设定的ACL权限。
G: 用户组名:给指定用户组设定的ACL权限。
-x:取消设定。
d:该参数针对目录使用时不需要使用“-”指定,使用时加在u:或d:前面。
getfacl命令用于查看ACL权限。
命令使用格式:getfacl文件名。

设置用户mk对文件a.txt拥有的rwx权限,mk不属于a.txt的所属主和所属组,mk是其他用户。

给目录设置ACL权限

测试一下d参数

给目录下所有文件都加扩展权限。