CentOS FetchLinux用户权限管理指南
用户账户是权限管理的基础,需通过命令行工具完成创建、修改、删除等操作,确保只有授权用户能访问系统资源。
useradd命令创建用户(如sudo useradd newuser);若需设置密码,通过passwd命令完成(sudo passwd newuser)。sudo usermod -l newname oldname(如将olduser改为newuser);sudo usermod -aG groupname username(将用户添加到指定组,-aG表示追加组,避免移除原有组);sudo usermod -d /new/home/directory username(如将用户主目录改为/home/newhome)。userdel命令删除用户(sudo userdel username);若需同时删除用户主目录及内容,添加-r选项(sudo userdel -r username)。id username:查看用户的UID(用户ID)、GID(组ID)及所属组;getent passwd username:查询系统中的用户详细信息(如用户名、密码占位符、UID、GID、主目录、默认shell)。用户组用于批量管理用户权限,简化权限分配流程。
groupadd命令(如sudo groupadd devgroup,创建名为devgroup的开发组)。sudo gpasswd -a username groupname(如sudo gpasswd -a newuser devgroup);sudo gpasswd -d username groupname(如sudo gpasswd -d newuser devgroup);sudo groupdel groupname(如sudo groupdel devgroup,需确保组内无用户)。文件与目录的权限设置直接影响用户对资源的访问能力,需结合chmod、chown、chgrp命令调整。
chmod命令,通过数字或符号模式设置权限:
sudo chmod 755 filename(所有者具读、写、执行权限7,组用户与其他用户具读、执行权限5);sudo chmod u+x,g-w,o=r filename(所有者添加执行权限+x,组用户移除写权限-w,其他用户设置读权限=r)。chown命令:sudo chown owner:group filename(如sudo chown newuser:devgroup config.conf,将文件所有者设为newuser,所属组设为devgroup);chgrp命令:sudo chgrp groupname filename(仅修改所属组,如sudo chgrp devgroup data/)。若FetchLinux作为服务运行,需确保服务进程具备正确的用户权限,避免权限过高导致安全风险。
/etc/sysconfig/fetchlinux或/etc/default/fetchlinux),调整USER和GROUP参数(如USER=fetchlinux,GROUP=fetchlinux)。systemctl命令重启服务(sudo systemctl restart fetchlinux)。为提升系统安全性,需结合特殊权限、SELinux及日志审计强化权限管理。
setfacl命令实现精细化权限控制(如sudo setfacl -m u:username:rwx /path/to/dir,给指定用户添加目录的读、写、执行权限);umask命令设置(如umask 022,新文件的默认权限为644,目录为755)。semanage或setsebool命令调整策略(如sudo setsebool -P fetchlinux_port_t 1,允许FetchLinux服务使用特定端口)。journalctl命令查看服务日志(sudo journalctl -u fetchlinux),跟踪用户操作与权限变更,及时发现异常行为。