Debian系统中设置用户权限的步骤(Dolphin为图形化工具,底层逻辑与命令行一致)
使用adduser命令创建新用户,系统会提示设置密码、全名等信息(可选指定UID、家目录路径):
sudo adduser username
示例:创建用户tom并设置家目录为/home/tom(默认路径):
sudo adduser tom
使用deluser命令删除用户,--remove-home选项可同时删除家目录及邮件文件:
sudo deluser --remove-home username
示例:删除用户tom及其家目录:
sudo deluser --remove-home tom
sudo usermod -l new_username old_username(如将tom改为jerry);sudo usermod -d /new/home/path -m username(-m选项自动迁移原家目录内容);sudo usermod -aG groupname username(-aG表示追加到组,避免移除原有组)。使用getent group命令列出系统所有组及成员:
getent group
示例输出:sudo:x:27:user1,user2(表示sudo组包含user1和user2)。
sudo groupadd groupname(如创建dev组);sudo groupdel groupname(如删除dev组)。sudo groupmod -n new_groupname old_groupname(如将dev改为developers)。使用ls -l命令查看文件/目录的权限、所有者和组:
ls -l /path/to/file_or_directory
示例输出:-rw-r--r-- 1 tom dev 1024 Oct 30 10:00 example.txt(表示所有者tom有读写权限,组dev和其他用户有读权限)。
使用chmod命令通过符号或数字模式修改权限:
chmod u+x,g-w,o=r file.txt(给所有者添加执行权限,移除组写权限,设置其他用户读权限);chmod 755 file.txt(所有者rwx(7)、组r-x(5)、其他用户r-x(5));x权限才能进入,常用755(chmod 755 directory)。sudo chown username:groupname file_or_directory(如将example.txt所有者设为tom,组设为dev);sudo chgrp groupname file_or_directory(如将example.txt组设为dev)。sudo chmod u+s file(如/usr/bin/passwd,允许普通用户以root权限执行);sudo chmod g+s directory(目录下新建文件继承目录组);sudo chmod +t directory(如/tmp,目录内文件仅所有者可删除)。使用setfacl命令为特定用户/组设置权限,getfacl查看ACL规则:
sudo setfacl -m u:username:rwx file_or_directory(如给tom对project目录的rwx权限);sudo setfacl -m g:groupname:r-x file_or_directory(如给dev组对project目录的r-x权限);getfacl /path/to/file_or_directory。使用visudo命令安全编辑/etc/sudoers文件(避免语法错误导致系统锁死):
sudo visudo
示例:允许用户tom在任何主机上以任何用户身份执行任何命令:
tom ALL=(ALL:ALL) ALL
示例:允许dev组用户使用sudo:
%dev ALL=(ALL:ALL) ALL。
sudo apt-get install apparmor apparmor-utils;/etc/apparmor.d/目录下的配置文件(如/etc/apparmor.d/usr.sbin.apache2),修改后重启服务:sudo systemctl restart apparmor。