在Debian系统中,分卷(逻辑/物理分区)的权限管理需结合用户/组管理、权限设置、高级控制(ACL/SELinux)及磁盘配额等手段,实现对分卷访问的精细化控制。以下是具体操作流程:
权限管理的核心是用户身份和组归属,需先合理规划用户与组:
sudo adduser username
命令创建用户(交互式设置密码及信息);或用sudo useradd -m -G groupname username
(手动指定主目录及附加组)。sudo groupadd groupname
创建组,用于归类具有相同权限的用户。sudo usermod -aG groupname username
(-aG
表示追加,避免移除原有组);移除用户用sudo gpasswd -d username groupname
。通过chown
、chmod
、chgrp
命令调整分卷的所有者、所属组及权限:
sudo chown username:groupname /mount/point
(如将/home
分卷所有者设为user1
,组设为users
)。chmod
命令用符号或数字设置权限:
sudo chmod u+x,g-w,o=r /mount/point
(给所有者添加执行权限,移除组写权限,设置其他用户只读)。sudo chmod 755 /mount/point
(所有者rwx
,组及其他r-x
,适用于目录)。sudo chgrp groupname /mount/point
(如将/var/www
分卷所属组改为www-data
)。传统权限无法满足细粒度控制(如单个用户的特殊权限),需启用ACL:
acl
选项(修改/etc/fstab
,如/dev/sda1 /mnt/data ext4 defaults,acl 0 0
),然后sudo mount -o remount /mnt/data
。sudo setfacl -m u:username:rwx /mount/point
(如给user2
在/data
分卷添加读写执行权限)。sudo setfacl -m g:groupname:r-x /mount/point
(如给devs
组在/data
分卷添加读执行权限)。getfacl /mount/point
(显示详细的权限信息)。若需更严格的安全策略,可启用SELinux或AppArmor:
sudo apt install selinux-basics selinux-policy-default
;sudo setenforce 1
(临时生效);/etc/selinux/config
,设置SELINUX=enforcing
(强制模式)。sudo apt install apparmor apparmor-utils
;sudo aa-enforce /etc/apparmor.d/usr.sbin.mysqld
(如限制MySQL访问/var/lib/mysql
分卷)。防止用户占用过多分卷空间,需启用quota:
sudo apt install quota
。/etc/fstab
:在对应分卷挂载选项中添加usrquota,grpquota
(如/dev/sdb1 /home ext4 defaults,usrquota,grpquota 0 0
),然后sudo mount -o remount /home
。sudo quotacheck -cug /mount/point
(生成aquota.user
和aquota.group
文件)。sudo quotaon -av
(激活所有分卷的quota)。sudo edquota username
(编辑用户的磁盘块/inode限制,如blocks
设为102400(约50GB),inodes
设为10000)。ls -l /mount/point
查看权限,用su - username
切换用户验证访问权限。/etc/fstab
、ACL规则及quota设置,确保符合当前安全需求。通过以上步骤,可实现Debian分卷下用户权限的精细化、安全化管理,满足不同场景(如家庭共享、服务器多用户)的需求。