手机网站宽度自适应,网站seo哪里做的好,wordpress 发布脚本,做磨毛布内销哪个网站比较好Linux系统的权限管理是保障系统安全的重要机制#xff0c;以下详细讲解权限相关概念及操作指令#xff1a; 一、基础权限机制
1. 权限的三元组#xff0c;读#xff08;r#xff09;、写#xff08;w#xff09;、执行#xff08;x#xff09;
每个文件或目录有三组…Linux系统的权限管理是保障系统安全的重要机制以下详细讲解权限相关概念及操作指令 一、基础权限机制
1. 权限的三元组读r、写w、执行x
每个文件或目录有三组权限分别对应三类用户
所有者User文件/目录的创建者或当前所有者。所属组Group文件/目录所属的用户组。其他用户Others非所有者且不属于所属组的用户。
每组权限由三个字符组成r读、w写、x执行。
权限的作用
权限对文件的作用对目录的作用r允许读取文件内容允许列出目录中的文件名如 lsw允许修改文件内容允许在目录中创建、删除、重命名文件x允许执行文件如脚本或程序允许进入目录并访问子文件如 cd
示例1drwxr-xr--
d目录类型。rwx所有者拥有读、写、执行权限。r-x组用户有读和执行权限。r--其他用户仅有读权限。 示例2
-rwxr-xr-- 1 root dev 1024 Jan 1 10:00 script.sh所有者root拥有 rwx读、写、执行。所属组dev拥有 r-x读和执行不可写。其他用户仅有 r--仅读。 二、权限设置指令
1. chmod修改文件/目录权限 符号模式操作对象 权限 chmod [用户类别][操作符][权限] 文件用户类别u所有者、g组、o其他、a所有。操作符添加、-移除、覆盖。示例chmod ux file # 给所有者添加执行权限
chmod g-w,orx dir # 移除组的写权限设置其他用户为rx
chmod ar file # 所有人添加读权限数字模式三位八进制数 chmod 755 file # 所有者rwx7组和其他rx5计算方式r4w2x1相加得权限值如 rwx4217。 2. chown修改所有者和所属组
chown 用户:组 文件 # 同时修改所有者和组
chown 用户 文件 # 仅修改所有者
chown :组 文件 # 仅修改所属组示例chown root:admin /data # 设置所有者为root组为admin
chown alice file.txt # 设置所有者为alice递归修改目录及其子项chown -R user:group dir/3. chgrp修改所属组
chgrp 组名 文件等效于 chown :组名 文件逐渐被 chown 替代。 三、特殊权限
1. SUIDSet User ID
作用执行文件时以所有者身份运行。设置chmod us file # 符号模式
chmod 4755 file # 数字模式4表示SUID示例/usr/bin/passwd 允许普通用户修改密码临时获得root权限。 2. SGIDSet Group ID
作用 对文件执行时以所属组身份运行。对目录新建文件继承目录的所属组。 设置chmod gs dir # 符号模式
chmod 2770 dir # 数字模式2表示SGID3. 粘滞位Sticky Bit
作用目录中文件仅所有者可删除如 /tmp。设置chmod t dir # 符号模式
chmod 1777 dir # 数字模式1表示粘滞位四、默认权限与umask
umask决定新建文件/目录的默认权限。umask 022 # 默认设置目录权限755文件644
umask -S # 查看当前符号格式的umask计算默认权限 最大权限 - umask 目录最大权限为 777文件为 666无默认执行权限。 五、ACL访问控制列表
提供更细粒度的权限控制需文件系统支持
setfacl设置ACL规则。setfacl -m u:alice:rwx file # 授予alice对文件的rwx权限
setfacl -m g:dev:rx dir # 授予dev组对目录的rx权限getfacl查看ACL规则。getfacl file六、注意事项
目录的执行权限无x权限则无法进入目录或访问子项。递归修改权限使用 -R 时谨慎操作避免开放敏感目录。特殊权限风险不当的SUID/SGID可能导致提权漏洞。root用户不受普通权限限制可访问所有文件。 七、示例汇总
设置SUID并查看chmod us /usr/bin/script
ls -l /usr/bin/script # 显示 -rwsr-xr-x设置目录SGIDchmod gs /shared_dir
ls -ld /shared_dir # 显示 drwxr-sr-x通过掌握这些权限机制和指令可以有效管理Linux系统的文件安全与共享需求。
好的Linux 的权限机制是系统安全的核心组成部分其设计目的是控制用户和进程对文件及目录的访问。以下是 权限的机制和作用 的详细解析 二、特殊权限机制
除了基础权限Linux 还支持三种特殊权限用于更复杂的场景。
1. SUIDSet User ID
机制当用户执行一个设置了 SUID 的文件时程序会以文件所有者的身份运行。作用允许普通用户临时获得文件所有者的权限常用于需要特权操作的工具。示例/usr/bin/passwd修改密码需要修改 /etc/shadow普通用户无权限但 passwd 设置了 SUID 并属于 root。设置方式chmod us file # 符号模式
chmod 4755 file # 数字模式4 表示 SUID显示权限中的 x 变为 s如 -rwsr-xr-x。
2. SGIDSet Group ID
机制 对文件执行时以文件所属组的身份运行。对目录在目录中新建的文件会继承目录的所属组而非用户默认的组。 作用 文件共享工具以组权限运行类似 SUID。目录便于团队协作确保新建文件属于同一组。 设置方式chmod gs dir # 符号模式
chmod 2770 dir # 数字模式2 表示 SGID显示组权限的 x 变为 s如 drwxr-sr-x。
3. 粘滞位Sticky Bit
机制设置后目录中的文件仅允许文件所有者或 root 删除。作用防止用户误删他人文件常见于共享目录如 /tmp。设置方式chmod t dir # 符号模式
chmod 1777 dir # 数字模式1 表示粘滞位显示其他用户的 x 变为 t如 drwxrwxrwt。 三、默认权限与 umask
1. 默认权限规则
目录默认最大权限为 777rwxrwxrwx。文件默认最大权限为 666rw-rw-rw-且默认不赋予执行权限需手动设置。
2. umask 的作用
机制umask 是一个掩码值用于从最大权限中“扣除”权限得到文件/目录的实际默认权限。计算方式实际权限 最大权限 - umask示例 umask 022 目录默认权限777 - 022 755rwxr-xr-x。文件默认权限666 - 022 644rw-r–r–。 查看与设置umask # 显示当前值如 0022
umask -S # 显示符号格式如 urwx,grx,orx
umask 027 # 设置新的 umask 值四、ACL访问控制列表
1. 作用
提供更细粒度的权限控制允许为特定用户/组单独设置权限突破三元组的限制。典型场景允许用户A读写文件同时禁止用户B访问而无需修改文件所属组。
2. 设置与查看
设置 ACLsetfacl -m u:alice:rwx file # 授予用户 alice 对文件的 rwx 权限
setfacl -m g:dev:r-- dir # 授予组 dev 对目录的读权限查看 ACLgetfacl file
# 输出示例
# user::rw-
# user:alice:rwx
# group::r--
# mask::rwx
# other::r--五、权限机制的核心原则
最小权限原则用户仅获得完成任务所需的最小权限。继承规则 新建文件继承目录的所属组若目录设置 SGID。权限受 umask 影响。 优先级顺序 用户身份匹配顺序所有者 所属组 其他用户。 root 的超级权限root 用户可无视权限限制直接访问或修改任何文件。 六、典型应用场景
1. 共享目录协作
目标团队组 dev共享目录 /project。设置chmod 2770 /project # SGID 确保新建文件继承组 dev
chown root:dev /project # 所有者 root组 dev效果所有组成员可在目录中创建文件且文件自动属于组 dev。
2. 防止误删文件
目标共享目录 /shared 允许用户创建文件但仅允许所有者删除。设置chmod 1777 /shared # 粘滞位生效3. 特权工具
目标允许普通用户执行需 root 权限的命令如 ping。设置chmod us /bin/ping # SUID 使 ping 以 root 身份运行七、注意事项
SUID/SGID 风险若程序存在漏洞攻击者可能利用 SUID/SGID 提权。目录的执行权限无 x 权限的目录无法被访问即使有 r。递归修改权限使用 chmod -R 时需谨慎避免过度开放敏感目录。 补充
dialout用户组
在 Linux 系统中dialout 用户组是一个与串行端口Serial Port访问权限相关的特殊用户组。它的存在主要是为了管理用户对串口设备如 /dev/ttyS0、/dev/ttyUSB0 等的访问权限。
1. 作用与背景
历史背景名称 “dialout” 源于早期通过调制解调器Modem“拨号”dial-out上网的时代。该用户组允许普通用户直接操作调制解调器等串口设备。现代用途如今dialout 组主要用于控制对串行端口设备的访问权限例如 物理串口如 /dev/ttyS0。USB 转串口设备如 /dev/ttyUSB0。嵌入式开发板如 Arduino、树莓派的通信接口。 2. 权限管理
设备文件权限串口设备的默认权限通常为 crw-rw----所有者是 root所属组是 dialout$ ls -l /dev/ttyUSB0
crw-rw---- 1 root dialout 188, 0 Jun 10 15:30 /dev/ttyUSB0只有 root 用户和 dialout 组成员有读写权限。 为何需要加入该组普通用户若未加入 dialout 组访问串口时会报错 Permission denied。 crw-rw----解释 c表示这是一个 字符设备文件Character Device。 字符设备以流式数据传输为特征如键盘、串口、终端与块设备如硬盘标识为 b不同。 例如/dev/ttyS0串口、/dev/ttyUSB0USB转串口等。
c rw- rw- ---
│ │ │ │
│ │ │ └─ 其他人others的权限无权限---
│ │ └─ 所属组group的权限读 写rw-
│ └─ 所有者owner的权限读 写rw-
└─ 文件类型标识符字符设备文件c3. 将用户添加到 dialout 组
命令sudo usermod -aG dialout 你的用户名或sudo gpasswd -a 你的用户名 dialout生效方式注销后重新登录或重启系统。 4. 安全注意事项
最小权限原则仅将需要访问串口的用户加入该组避免不必要的权限分配。潜在风险串口设备可能连接敏感硬件如工业控制器不当操作可能导致系统不稳定或数据泄露。 5. 替代方案
临时权限使用 sudo 临时获取 root 权限访问设备不推荐长期使用sudo minicom -D /dev/ttyUSB0udev 规则通过自定义 udev 规则永久修改设备权限更安全且灵活 创建规则文件 /etc/udev/rules.d/99-serial.rulesSUBSYSTEMtty, ATTRS{idVendor}abcd, ATTRS{idProduct}1234, GROUPusers, MODE0666重新加载 udev 规则sudo udevadm control --reload-rules6. 不同发行版的差异
Ubuntu/Debian默认使用 dialout 组管理串口。Arch Linux可能使用 uucp 或 lock 组。检查当前系统查看设备文件的所属组ls -l /dev/ttyUSB07. 常见使用场景
嵌入式开发通过串口与开发板通信如 Arduino 上传程序。工业设备调试连接 PLC、传感器等设备的串口。网络设备配置通过 Console 线管理路由器、交换机。 总结
dialout 用户组是 Linux 中管理串口设备访问权限的关键组。通过合理分配组成员或使用 udev 规则可以在便利性和安全性之间找到平衡。处理硬件设备时请始终遵循最小权限原则。