插件窝 干货文章 linux chmod安全权限怎么配

linux chmod安全权限怎么配

权限 文件 chmod 目录 831    来源:    2025-05-14

Linux chmod 安全权限配置指南

chmod 是 Linux 系统中用于更改文件或目录权限的重要命令。合理配置权限对于系统安全至关重要。以下是一些安全权限配置的建议和最佳实践。

基本权限概念

Linux 文件权限分为三类: - 所有者(User):文件/目录的所有者 - 组(Group):文件/目录所属的用户组 - 其他(Other):其他所有用户

每种权限类型有三种权限: - 读(r):4 - 写(w):2 - 执行(x):1

安全权限配置原则

1. 最小权限原则

  • 只授予必要的权限,不多不少
  • 默认情况下,新文件权限为 644 (rw-r--r--),目录为 755 (rwxr-xr-x)

2. 常用安全权限配置

文件权限:

  • 600 (rw-------):只有所有者可读写,最严格的文件权限 bash chmod 600 文件名
  • 644 (rw-r--r--):所有者可读写,其他用户只读(适用于配置文件) bash chmod 644 文件名

目录权限:

  • 700 (rwx------):只有所有者可读、写、执行(进入) bash chmod 700 目录名
  • 755 (rwxr-xr-x):所有者完全控制,其他用户可读和执行(适用于公共可读目录) bash chmod 755 目录名

可执行文件:

  • 750 (rwxr-x---):所有者完全控制,组成员可读和执行 bash chmod 750 可执行文件

3. 特殊权限设置(谨慎使用)

  • SetUID (4):以文件所有者身份运行

    chmod u+s 文件
    chmod 4755 文件
    
  • SetGID (2):以文件所属组身份运行

    chmod g+s 文件
    chmod 2755 文件
    
  • Sticky Bit (1):只有文件所有者才能删除/重命名(常用于/tmp目录)

    chmod +t 目录
    chmod 1777 目录
    

安全实践建议

  1. 敏感文件(如密码文件、私钥)应设置为 600 权限:

    chmod 600 /etc/shadow
    chmod 600 ~/.ssh/id_rsa
    
  2. Web 目录通常设置为 755(目录)和 644(文件):

    chmod -R 755 /var/www/html/
    find /var/www/html/ -type f -exec chmod 644 {} \;
    
  3. 避免使用 777 权限,这会允许所有用户读写执行,存在严重安全隐患:

    # 不推荐的做法
    chmod 777 文件或目录
    
  4. 递归修改权限时要小心:

    chmod -R 750 目录/  # 递归修改目录及其内容
    
  5. 检查系统权限

    # 查找全局可写文件
    find / -xdev -type f -perm -o+w
    
    # 查找没有所有者的文件
    find / -xdev -nouser -o -nogroup
    
  6. 使用 umask设置默认权限:

    umask 027  # 新文件权限为640,目录为750
    

权限检查

查看文件权限:

ls -l 文件名

查看目录权限:

ls -ld 目录名

记住,权限配置应该根据具体需求和最小权限原则来设置,过度宽松的权限会带来安全风险。