在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系統中的用戶權限,確保系統的安全性和穩定性。