centos stream8用户权限如何设置
导读:CentOS Stream 8 用户权限设置指南 在CentOS Stream 8中,用户权限管理需遵循最小权限原则,通过用户/组管理、文件权限控制、sudo权限配置及SELinux等机制,确保系统安全。以下是具体操作步骤: 一、用户与用户...
CentOS Stream 8 用户权限设置指南
在CentOS Stream 8中,用户权限管理需遵循最小权限原则,通过用户/组管理、文件权限控制、sudo权限配置及SELinux等机制,确保系统安全。以下是具体操作步骤:
一、用户与用户组管理
用户权限的基础是合理划分用户和组。常用命令如下:
- 创建用户:使用
useradd命令创建新用户(-m选项自动创建家目录)。sudo useradd -m newuser # 创建用户newuser并生成家目录 - 设置用户密码:通过
passwd命令为用户设置初始密码。sudo passwd newuser # 交互式设置密码 - 修改用户所属组:使用
usermod命令将用户添加到指定组(-aG表示追加到附加组,避免移除原有组)。sudo usermod -aG developers newuser # 将newuser添加到developers组 - 创建用户组:使用
groupadd命令创建新组。sudo groupadd developers # 创建developers组 - 删除用户/组:
userdel删除用户(-r选项同时删除家目录),groupdel删除组。sudo userdel -r olduser # 删除olduser及家目录 sudo groupdel oldgroup # 删除oldgroup
二、文件与目录权限管理
文件权限控制需明确所有者、所属组、其他用户的三类权限(读r、写w、执行x),常用命令如下:
- 查看权限:使用
ls -l命令查看文件/目录的权限详情(如-rw-r--r--表示所有者有读写权限,组和其他用户有读权限)。ls -l /path/to/file # 查看文件权限 - 修改权限(数字表示法):用三位八进制数表示权限(4=读、2=写、1=执行),例如:
sudo chmod 755 /path/to/directory # 所有者:rwx(7),组和其他用户:r-x(5) sudo chmod 644 /path/to/file # 所有者:rw-(6),组和其他用户:r--(4) - 修改权限(符号表示法):针对用户(
u)、组(g)、其他用户(o)或所有用户(a)增减权限,例如:sudo chmod u+x script.sh # 给所有者添加执行权限 sudo chmod g-w config.ini # 移除组的写权限 - 修改属主/属组:使用
chown修改文件所有者,chgrp修改所属组(可同时修改两者)。sudo chown newuser:newgroup /path/to/file # 同时修改属主和属组 sudo chown newuser /path/to/file # 仅修改属主 sudo chgrp newgroup /path/to/file # 仅修改属组 - 特殊权限:
- SUID:使文件执行时拥有所有者权限(如
/usr/bin/passwd),命令:chmod u+s file。 - SGID:使目录下新文件继承目录的组(如
/var/www),命令:chmod g+s directory。 - 粘滞位:防止目录内文件被非所有者删除(如
/tmp),命令:chmod +t directory。
- SUID:使文件执行时拥有所有者权限(如
三、sudo权限配置
sudo允许普通用户以root身份执行特定命令,需通过visudo命令安全编辑/etc/sudoers文件:
- 赋予用户全部sudo权限:在
/etc/sudoers中添加以下行(无需密码):username ALL=(ALL) NOPASSWD: ALL # username可执行所有命令 - 限制用户执行特定命令:仅允许用户执行
/usr/bin/apt和/usr/bin/systemctl:username ALL=(ALL) NOPASSWD: /usr/bin/apt, /usr/bin/systemctl # 限制命令范围 - 将用户加入sudo组:默认情况下,
sudo组成员拥有sudo权限,可通过usermod添加:sudo usermod -aG sudo newuser # 将newuser加入sudo组
四、SELinux配置(可选但推荐)
SELinux提供强制访问控制(MAC),进一步增强权限安全性:
- 检查SELinux状态:使用
sestatus命令查看是否启用(Enforcing为启用状态)。sestatus # 输出SELinux状态 - 临时关闭SELinux:使用
setenforce命令(重启后恢复)。sudo setenforce 0 # 临时设置为Permissive模式(仅记录不阻止) - 永久关闭SELinux:编辑
/etc/selinux/config文件,将SELINUX=enforcing改为SELINUX=disabled(需重启系统)。sudo vi /etc/selinux/config # 修改SELINUX配置 - 调整SELinux策略:若需允许httpd访问特定目录,可使用
semanage和restorecon:sudo semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/html(/.*)?" # 添加SELinux上下文 sudo restorecon -Rv /var/www/html # 恢复目录的SELinux上下文
五、密码策略强化
强密码是权限安全的第一道防线,需遵循以下规则:
- 设置复杂密码:要求包含大写字母、小写字母、数字和特殊字符,长度≥10位。
- 检查空口令账号:使用
awk命令查找/etc/shadow中的空口令账户(第二字段为空),并强制设置密码:awk -F: '($2 == "") { print $1} ' /etc/shadow # 查找空口令用户 sudo passwd emptyuser # 为emptyuser设置密码 - 保护口令文件:使用
chattr命令将/etc/shadow设为不可修改(防止非授权删除或修改)。sudo chattr +i /etc/shadow # 锁定文件 sudo chattr -i /etc/shadow # 解锁文件(需修改时)
通过以上步骤,可实现CentOS Stream 8用户权限的精细化管理。操作前需确认备份重要数据,避免误操作导致系统故障。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: centos stream8用户权限如何设置
本文地址: https://pptw.com/jishu/723489.html
