如何同时为用户加执行权、为组去写权?

权限基础概念

  1. 权限类型

    • 读(r):查看文件内容或目录列表
    • 写(w):修改文件或增删目录内容
    • 执行(x):运行程序或进入目录
    • 数字表示:r=4, w=2, x=1(如 rwxr-xr-- = 754)
  2. 权限对象

    • 用户(Owner):文件创建者
    • 组(Group):共享权限的用户组
    • 其他(Others):系统所有其他用户

查看权限

使用 ls -l 命令查看:

$ ls -l /home/example.txt
-rw-r--r-- 1 user group 1024 Jan 1 10:00 example.txt
  • -rw-r--r--:
    • 首位 表示文件(d 为目录)
    • 后续三组:用户(rw-)、组(r–)、其他(r–)

修改权限(chmod命令)

方法1:符号模式(直观)


# 目录递归设置:用户读写执行,组读执行,其他无权限
$ chmod -R u=rwx,g=rx,o= private_dir/

方法2:数字模式(高效)

# 设置 example.txt 为 rw-r-----(用户读写,组读,其他无)
$ chmod 640 example.txt
# 目录递归设置 755(用户rwx,组和其他rx)
$ chmod -R 755 public_dir/

修改所有者和组

  1. 更改文件所有者(chown)

    # 将文件所有者改为 newuser
    $ sudo chown newuser example.txt
    # 递归修改目录所有者及组
    $ sudo chown -R newuser:newgroup /data/
  2. 更改文件所属组(chgrp)

    $ sudo chgrp developers project.conf

设置默认权限(umask)

  • umask值 决定新建文件的默认权限(如 umask 022 使文件权限为 644,目录为 755)
  • 永久生效:编辑 /etc/profile 或用户 ~/.bashrc

高级权限设置

  1. SUID(Set User ID)

    • 文件运行时以所有者身份执行
      $ chmod u+s /usr/bin/script.sh  # 设置SUID(数字模式4000)
  2. SGID(Set Group ID)

    • 目录中新文件继承父目录组
      $ chmod g+s /shared/  # 设置SGID(数字模式2000)
  3. 粘滞位(Sticky Bit)

    • 仅文件所有者可删除目录内文件(如 /tmp)
      $ chmod +t /public_upload/  # 设置粘滞位(数字模式1000)

安全实践建议

  1. 最小权限原则:用户只赋予必要权限(避免 777)
  2. 关键目录权限:
    • /etc/:755(root所有)
    • 用户家目录:700
  3. 定期审计:
    # 查找全局可写文件
    $ find / -type f -perm -o+w -exec ls -l {} \;

权威参考来源:

  • Linux官方文档:The Linux Documentation Project
  • POSIX标准文件权限规范(IEEE Std 1003.1)
  • Red Hat系统管理指南(Red Hat Enterprise Linux Documentation)
  • Ubuntu社区维基:File Permissions

通过精确控制权限,可有效隔离用户操作空间,降低误操作或恶意行为风险,建议结合业务场景设计权限策略,并定期审查关键文件权限设置。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/7198.html

赞 (0)
酷番叔酷番叔
上一篇 2025年7月13日 08:26
下一篇 2025年7月13日 08:43

相关推荐

  • linux如何输出目录信息

    Linux中,可使用ls命令输出目录信息,如ls -l显示

    2025年8月16日
    25400
  • 怎么查Linux发行版?

    方法 1:使用 lsb_release 命令(推荐)lsb_release 是专为查询 Linux 标准库(LSB)信息设计的工具,输出简洁规范:lsb_release -a输出示例:Distributor ID: UbuntuDescription: Ubuntu 22.04.3 LTSRelease: 22……

    2025年7月14日
    31600
  • Linux系统死机后,如何快速排查原因?

    Linux系统出现hang机(即系统无响应,鼠标键盘失灵,屏幕卡住)时,排查问题需要从硬件到软件逐步深入,结合系统日志、资源监控工具和诊断命令定位根本原因,以下是详细的检查步骤和方法:物理检查与硬件状态排查硬件问题是系统hang机的常见诱因,首先需确认物理层面是否存在异常,电源与散热检查:观察主机电源指示灯是否……

    2025年10月7日
    58100
  • 如何正确配置LVM?

    分区基础概念在红帽企业Linux 6(RHEL 6)安装过程中,磁盘分区是构建稳定系统环境的关键步骤,合理的分区方案能提升系统安全性、简化维护并优化性能,以下为详细操作指南:必需的分区/boot 分区作用:存放内核与启动文件大小:≥500MB(推荐1GB)格式:ext4注意:BIOS系统需置于MBR磁盘前2TB……

    2025年7月19日
    29000
  • Linux如何关闭3306端口?

    在Linux系统中,3306端口通常是MySQL/MariaDB数据库服务的默认监听端口,关闭该端口可能是出于安全加固、服务迁移或暂时停止数据库访问等需求,关闭3306端口的方法多样,需根据实际场景选择,本文将详细介绍不同操作系统的具体步骤及注意事项,关闭3306端口的常用方法停止MySQL/MariaDB服务……

    2025年9月19日
    28900

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信