Linux分区权限设置指南
在Linux系统中,分区权限设置是保障数据安全的核心环节,需结合基础权限、特殊权限、ACL(访问控制列表)及挂载选项等多维度管理。以下是具体操作流程及注意事项:
基础权限控制用户(owner)、所属组(group)、其他用户(others)对文件/目录的访问,分为读(r,4)、写(w,2)、执行(x,1)三类,可通过符号模式或数字模式修改。
使用ls -l命令查看分区内文件/目录的权限及归属(如-rw-r--r-- 1 root root 4096 Jan 1 12:34 file):
-=普通文件,d=目录);rw-=可读可写);r--=只读);r--=只读);root);root)。u/g/o/a(用户类别)、+/-/=(操作)、r/w/x(权限)组合设置。chmod u+x script.sh;chmod g-w data.txt;chmod -R 755 /webapps/(目录设为rwxr-xr-x,避免敏感文件过度开放)。7=4+2+1=rwx,6=4+2=rw-)。chmod 755 /bin/bash;chmod 644 /etc/passwd。chown root /mnt/data;chown root:developers /mnt/data。chgrp developers /mnt/data。特殊权限用于扩展基础权限功能,需通过chmod命令设置(八进制模式首位表示特殊权限)。
/usr/bin/passwd以root权限修改密码)。chmod u+s file(如chmod 4755 /usr/bin/passwd,首位4表示SUID)。/var/www目录下文件均属www-data组)。chmod g+s dir(如chmod 2755 /var/www,首位2表示SGID)。/tmp目录)。chmod +t dir(如chmod 1777 /tmp,末位1表示粘滞位)。ACL提供更细粒度的权限控制,允许为单个用户或组设置权限(超越基础权限的u/g/o限制)。
mount -o remount,acl /(重新挂载分区并启用ACL);/etc/fstab文件,在对应分区选项后添加acl(如UUID=c2ca6f57-b15c-43ea-bca0-f239083d8bd2 / ext4 defaults,acl 1 2),然后执行mount -o remount /使设置生效。setfacl -m u:username:rwx /mnt/data(用户username对/mnt/data有rwx权限);setfacl -m g:groupname:r-x /mnt/data(组groupname对/mnt/data有r-x权限)。getfacl /mnt/data(显示文件/目录的ACL规则,若有+标志则表示存在ACL)。挂载时通过选项限制分区权限,增强安全性(需修改/etc/fstab或使用mount命令临时设置)。
mount -o nosuid,nodev,noexec /dev/sdb1 /mnt/backup;/etc/fstab,在对应分区选项后添加nosuid,nodev,noexec(如UUID=1234-5678 /mnt/backup ext4 defaults,nosuid,nodev,noexec 1 2),然后执行mount -o remount /mnt/backup使设置生效。chmod -R 777,这会导致所有用户可读可写可执行,增加安全风险;ls -l或getfacl查看权限设置,及时修复异常;cryptsetup luksFormat /dev/sdb1),进一步提升安全性。