Centos7特殊权限及掩码(centos777权限)

以下是CentOS 7系统中特殊权限(SUID/SGID/Sticky Bit)及权限掩码(umask)的详细用法和示例,结合功能说明与操作实践整理:


一、特殊权限

1. SUID (Set User ID)

  • 功能:文件执行时临时拥有文件所有者的权限(仅对二进制程序有效)。
  • 设置方法
chmod u+s 文件名 # 符号模式 
chmod 4755 文件名 # 数字模式(4表示SUID)
  • 示例
chmod u+s secret.key # 普通用户执行secret.key时可修改/etc/shadow(原权限:-rwsr-xr-x)

2. SGID (Set Group ID)

  • 功能

对文件:执行时继承文件所属组的权限。

对目录:新创建的子文件/目录自动继承目录的所属组。

  • 设置方法
chmod g+s 目录名 # 符号模式 
chmod 2770 目录名 # 数字模式(2表示SGID)
  • 示例
mkdir shared_dir 
chgrp dev_team shared_dir 
chmod g+s shared_dir # 新文件自动归属dev_team组

3. Sticky Bit (粘滞位)

  • 功能:目录内文件仅所有者、root可删除(常用于公共目录如/tmp)。
  • 设置方法
chmod o+t 目录名 # 符号模式 
chmod 1777 目录名 # 数字模式(1表示Sticky Bit)
  • 示例
chmod o+t /public_upload # 用户只能删除自己上传的文件

特殊权限数字表示对比表

权限类型

符号模式

数字前缀

完整示例(目录)

SUID

u+s

4

4755

SGID

g+s

2

2770

Sticky

o+t

1

1777


二、权限掩码(umask)

1. 作用与原理

  • 功能:控制新创建文件/目录的默认权限,通过“屏蔽”特定权限位实现。
  • 权限计算

文件:666 - umask(自动去掉执行权限)

目录:777 - umask

  • 常见值

umask 022 → 文件权限 644(rw-r--r--),目录权限 755(rwxr-xr-x)。

umask 077 → 文件权限 600(rw-------),目录权限 700(rwx------)。

2. 设置方法

  • 临时生效
umask 002 # 新文件权限664,目录权限775
  • 永久生效
echo "umask 027" >> /etc/profile # 系统全局设置 
echo "umask 002" >> ~/.bashrc # 用户级设置

3. 验证示例

umask 077
touch file1
mkdir dir1
ls -l
# 输出:
# -rw-------. 1 user user 0 file1 # 文件权限600
# drwx------. 2 user user 6 dir1 # 目录权限700

三、扩展:ACL(访问控制列表)

功能:突破UGO权限限制,为特定用户/组单独授权。

  • 设置示例
setfacl -m u:job:rwx /project             # 用户john拥有/project的rwx权限 
setfacl -m g:dev:r-x /project                 # 组dev拥有r-x权限 
getfacl /project                                           # 查看ACL规则

四、安全实践建议

  1. SUID/SGID慎用:避免普通程序设置SUID,减少提权风险。
  2. umask安全配置
  • 共享环境:umask 002(组协作)。
  • 敏感数据:umask 077(禁止其他用户访问)。
  1. 目录权限
  • 执行权限(x)对目录必不可少,否则无法浏览内容。
  1. ACL替代方案:复杂权限需求优先使用ACL而非777开放权限。

总结:特殊权限(SUID/SGID/Sticky)解决特定场景的权限继承与限制问题,umask则通过掩码机制预设安全基线。ACL进一步扩展了精细化控制能力。生产环境中需结合最小权限原则,避免过度开放(如chmod 777)。

原文链接:,转发请注明来源!