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