在CentOS系统中,通过SSH管理用户权限主要涉及以下几个方面:
创建用户:
sudo adduser username
或者使用useradd命令:
sudo useradd username
设置密码:
sudo passwd username
删除用户:
sudo deluser username
修改用户信息:
sudo usermod -l new_username old_username
sudo usermod -d /new/home/directory username
sudo usermod -m -G groupname username
文件和目录权限:
使用chmod命令来更改文件或目录的权限。
chmod 755 filename
chmod u+x filename # 给文件所有者添加执行权限
chmod g-w filename # 移除组用户的写权限
特殊权限位:
setuid (suid):允许程序以文件所有者的身份运行。sudo chmod u+s /path/to/executable
setgid (sgid):允许程序以文件所属组的身份运行。sudo chmod g+s /path/to/executable
sticky bit:防止用户删除或重命名其他用户的文件。sudo chmod +t /path/to/directory
创建组:
sudo groupadd groupname
将用户添加到组:
sudo usermod -aG groupname username
从组中移除用户:
sudo gpasswd -d username groupname
限制SSH访问:
编辑/etc/ssh/sshd_config文件,设置允许登录的用户或组。
AllowUsers username1 username2
AllowGroups groupname
禁止root直接登录:
在sshd_config中设置:
PermitRootLogin no
使用公钥认证:
生成SSH密钥对并将公钥添加到用户的~/.ssh/authorized_keys文件中。
ssh-keygen -t rsa
ssh-copy-id username@hostname
查看SSH登录日志:
sudo tail -f /var/log/secure
配置审计规则:
使用auditd服务来监控和记录系统活动。
sudo systemctl enable auditd
sudo systemctl start auditd
sudo auditctl -a exit,always -F arch=b32 -S execve -k processes
启用SELinux(如果尚未启用):
sudo setenforce 1
配置SELinux策略:
编辑/etc/selinux/config文件,设置SELinux模式为enforcing或permissive。
通过以上步骤,你可以有效地管理CentOS系统中的用户权限,确保系统的安全性和稳定性。