Ubuntu镜像中用户权限设置指南
adduser命令创建用户(自动创建家目录并设置默认shell),例如创建名为ubuntu_user的用户:sudo adduser ubuntu_user(执行后会提示设置密码及个人信息,可直接回车跳过可选项)。sudo组(Ubuntu默认sudo组拥有root权限),命令:sudo usermod -aG sudo ubuntu_user(-aG表示追加到组,避免移除原有组)。deluser命令(保留家目录需加--remove-home参数),例如:sudo deluser ubuntu_user 或 sudo deluser --remove-home ubuntu_user。groupadd命令,例如创建dev_group:sudo groupadd dev_group。usermod命令,例如将ubuntu_user加入dev_group:sudo usermod -aG dev_group ubuntu_user。gpasswd命令,例如:sudo gpasswd -d ubuntu_user dev_group。ls -l命令查看文件/目录权限(如-rw-r--r--表示所有者有读写权限,组和其他用户有读权限)。chmod命令,常见用法:
chmod u+x script.sh;chmod a+r file.txt;chmod 755 /path/to/dir。chown(修改所有者)或chgrp(修改所属组),例如:sudo chown ubuntu_user:dev_group /path/to/file(同时修改所有者和组)。acl选项(如/dev/sda1挂载到/):sudo tune2fs -o acl /dev/sda1,然后修改/etc/fstab文件添加acl选项(永久生效)。setfacl命令,例如:
ubuntu_user添加对/data目录的读写执行权限:sudo setfacl -m u:ubuntu_user:rwx /data;sudo setfacl -m d:u:ubuntu_user:rwx /data。visudo命令(避免语法错误导致所有sudo失效),例如添加以下内容:
ubuntu_user无密码执行所有命令:ubuntu_user ALL=(ALL) NOPASSWD:ALL;dev_group组成员以root身份执行/usr/bin/apt命令:%dev_group ALL=(root) /usr/bin/apt。/etc/sudoers文件,必须使用visudo。/etc/ssh/sshd_config,修改以下参数:PermitRootLogin no(禁止root通过密码登录),若需密钥登录可设置为without-password。sudo systemctl restart sshd。nginx只能访问/var/www目录),配置文件位于/etc/apparmor.d/。sudo apt install selinux-basics selinux-policy-default安装,然后运行sudo selinux-activate激活。/etc/polkit-1/localauthority/50-local.d/,例如创建10-usb-mount.pkla文件:[Allow USB Mount]
Identity=unix-user:*
Action=org.freedesktop.udisks2.filesystem-mount;org.freedesktop.udisks2.filesystem-mount-system
ResultAny=yes
ResultInactive=yes
ResultActive=yes
sudo apt install auditd audispd-plugins。ausearch命令,例如查看最近的sudo使用记录:sudo ausearch -k sudo。