作为IT工程师,我将为您详细介绍如何在CentOS系统中配置以限制用户对系统资源的访问权限。
# 创建新用户并设置密码
sudo useradd -m restricted_user
sudo passwd restricted_user
# 禁止用户登录shell
sudo usermod -s /sbin/nologin restricted_user
# 创建新组
sudo groupadd restricted_group
# 将用户添加到组
sudo usermod -aG restricted_group restricted_user
# 限制用户只能访问特定目录
sudo chown root:restricted_group /path/to/restricted_dir
sudo chmod 750 /path/to/restricted_dir
# 递归设置目录权限
sudo chown -R root:restricted_group /path/to/restricted_dir
sudo chmod -R 750 /path/to/restricted_dir
# 安装ACL工具
sudo yum install acl
# 设置ACL权限
sudo setfacl -R -m u:restricted_user:r-x /path/to/dir
sudo setfacl -R -m g:restricted_group:r-x /path/to/dir
sudo vi /etc/security/limits.conf
添加以下内容:
restricted_user hard nproc 50 # 限制进程数
restricted_user hard nofile 100 # 限制打开文件数
restricted_user hard fsize 50 # 限制文件大小(MB)
restricted_user hard as 500000 # 限制虚拟内存(KB)
* hard core 0 # 禁止生成core文件
sestatus
sudo setsebool -P allow_user_mysql_connect off
sudo setsebool -P httpd_enable_homedirs off
# 生成策略模块
sudo audit2allow -a -M mypolicy
sudo semodule -i mypolicy.pp
sudo yum install libcgroup
sudo systemctl start cgconfig
sudo systemctl enable cgconfig
sudo vi /etc/cgconfig.conf
添加以下内容:
group restricted {
cpu {
cpu.shares = 256;
}
memory {
memory.limit_in_bytes = 512M;
}
}
sudo vi /etc/cgrules.conf
添加:
restricted_user cpu,memory restricted/
# 使用firewalld限制用户访问
sudo firewall-cmd --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.1.100" service name="ssh" reject' --permanent
sudo firewall-cmd --reload
sudo yum install audit
sudo systemctl start auditd
sudo systemctl enable auditd
sudo vi /etc/audit/audit.rules
添加:
-w /etc/passwd -p wa -k passwd_changes
-w /etc/shadow -p wa -k shadow_changes
-a always,exit -F arch=b64 -S open -F success=1 -F path=/etc -F uid=restricted_user -k restricted_user_access
# 查看用户登录历史
last restricted_user
# 查看用户进程
ps -u restricted_user
# 检查用户打开的文件
lsof -u restricted_user
# 检查异常登录
sudo grep "Failed password" /var/log/secure
# 检查sudo使用
sudo grep "sudo:" /var/log/secure
通过以上配置,您可以有效地限制CentOS系统中用户对系统资源的访问权限。根据实际需求,您可以选择性地实施这些措施或进行更严格的配置。