在CentOS系統中,配置SFTP權限主要涉及以下幾個方面:
用戶和組設置:
sftp_users
。usermod
命令將用戶添加到該組:sudo usermod -aG sftp_users username
SSH配置:
/etc/ssh/sshd_config
文件,確保以下配置項正確設置:Subsystem sftp internal-sftp
Match Group sftp_users
ChrootDirectory %h
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
ChrootDirectory %h
:將用戶的根目錄限制在其主目錄中。ForceCommand internal-sftp
:強制使用SFTP子系統。AllowTcpForwarding no
和 X11Forwarding no
:禁用TCP和X11轉發,以提高安全性。目錄權限:
sudo chown root:root /home/username
sudo chmod 755 /home/username
sudo chown username:sftp_users /home/username/uploads
sudo chmod 755 /home/username/uploads
sudo chmod 775 /home/username/uploads
sudo find /home/username/uploads -type f -exec chmod 644 {} \;
sudo find /home/username/uploads -type d -exec chmod 755 {} \;
SELinux設置(如果啟用):
sudo setsebool -P sftp_home_dir on
sudo chcon -Rt svirt_sandbox_file_t /home/username
重啟SSH服務:
sudo systemctl restart sshd
通過以上步驟,你可以有效地配置CentOS系統中的SFTP權限,確保用戶只能訪問其主目錄及其子目錄,并且不能進行不必要的操作。