Debian Stream8如何设置权限
导读:Debian Stream 8 权限设置实用指南 一 概念与常用命令 权限对象与表示:Linux 将访问主体分为所有者 u、所属组 g、其他 o;权限为读 r=4、写 w=2、执行 x=1,可用八进制如755、644表示,也可用符号模式如...
Debian Stream 8 权限设置实用指南
一 概念与常用命令
- 权限对象与表示:Linux 将访问主体分为所有者 u、所属组 g、其他 o;权限为读 r=4、写 w=2、执行 x=1,可用八进制如755、644表示,也可用符号模式如u+x、g-w、o=r。目录通常需要执行 x才能进入与访问其内容。查看权限用ls -l。
- 核心命令速览:
- 改权限:chmod 755 file 或 chmod u+x,g-w,o=r file
- 改属主/属组:chown user:group file
- 默认权限:umask(新文件/目录的默认权限掩码)
- 精细授权:ACL(访问控制列表)
- 提权执行:sudo
以上命令与语义在 Debian 12(含 Stream 8 系列)中通用。
二 文件与目录权限设置
- 查看与理解:
- 命令:ls -l
- 输出示例:-rw-r–r-- 1 alice dev 1234 Jan 1 12:34 app.py
- 含义:首字符为文件类型(如**-普通文件、d目录),其后三组分别为u/g/o的rwx**权限。
- 常用 chmod 场景:
- 脚本可执行:chmod 755 myscript.sh(所有者 rwx,组/其他 rx)
- 私有文件:chmod 600 config.ini(仅所有者读写)
- 共享目录:chmod 775 shared/(所有者/组 rwx,其他 rx)
- 递归与默认权限:
- 递归设置目录树:chmod -R 755 project/(谨慎用于含大量小文件的目录)
- 设置默认掩码(影响新创建文件/目录):
- 临时:umask 022(常见,文件默认 644、目录 755)
- 永久:在**~/.bashrc或/etc/profile中添加一行umask 022**,然后执行source ~/.bashrc生效。
三 用户与组及 sudo 权限
- 用户与组管理:
- 添加用户:sudo adduser alice
- 创建组:sudo groupadd devs
- 将用户加入组:sudo usermod -aG devs alice(加入后需重新登录生效)
- 授予管理员权限(sudo):
- 推荐方式:将用户加入sudo组(Debian 默认策略)
- 命令:sudo usermod -aG sudo alice 或 sudo addgroup alice sudo
- 直接编辑 sudoers(请用visudo):
- 示例:alice ALL=(ALL:ALL) ALL(允许 alice 以任意用户/组执行任意命令)
- 验证:sudo -l -U alice 查看该用户可用的 sudo 权限。
- 推荐方式:将用户加入sudo组(Debian 默认策略)
四 进程与特权最小化
- 以特定身份运行:
- 临时提权:sudo -u www-data command
- 切换用户:su - www-data
- 文件能力与端口绑定:
- 让非 root 程序绑定1024 以下端口(如 80/443):
- 命令:sudo setcap cap_net_bind_service=+ep /usr/bin/myapp
- 让非 root 程序绑定1024 以下端口(如 80/443):
- 运行时最小权限框架:
- seccomp:系统调用白名单/黑名单,限制进程可用调用。
- AppArmor:基于路径的访问控制(PBAC),为进程定义可访问的文件/网络等资源。
以上做法遵循“最小权限原则”,尽量避免长期以 root 身份运行服务。
五 ACL 与目录共享示例
- 场景:目录**/data/project需要对alice与devs组可写,其他只读;并为bob**单独授予读权限。
- 操作步骤:
- 创建组并加入用户:
- sudo groupadd devs
- sudo usermod -aG devs alice
- sudo usermod -aG devs bob(如仅需只读,可不加 devs)
- 设置属主/属组与基础权限:
- sudo chown alice:devs /data/project
- sudo chmod 775 /data/project(rwxrwxr-x)
- 使用 ACL 精细授权:
- 对 devs 组与 alice 授予 rwx,并设默认继承:
- sudo setfacl -R -m g:devs:rwx,u:alice:rwx /data/project
- sudo setfacl -R -d -m g:devs:rwx,u:alice:rwx /data/project
- 为 bob 单独只读:
- sudo setfacl -m u:bob:rX /data/project(目录加 X 仅影响目录本身的执行位)
- 对 devs 组与 alice 授予 rwx,并设默认继承:
- 验证:
- getfacl /data/project 查看 ACL 条目
- ls -ld /data/project 应看到权限末尾出现**+**表示启用了 ACL。
- 创建组并加入用户:
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Debian Stream8如何设置权限
本文地址: https://pptw.com/jishu/758464.html
