在CentOS系統中,設置SFTP(SSH File Transfer Protocol)權限通常涉及以下幾個方面:
用戶和組權限:
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而不是SSH shell。AllowTcpForwarding no
和X11Forwarding no
禁用了TCP和X11轉發,以提高安全性。設置目錄權限:
chmod
和chown
命令設置權限:sudo chown root:root /home/username
sudo chmod 755 /home/username
sudo chown username:sftp_users /home/username/upload
sudo chmod 755 /home/username/upload
sudo chmod 700 /home/username/upload/*
/home/username
是用戶的根目錄,/home/username/upload
是用戶可以上傳文件的目錄。SELinux配置(如果啟用):
setsebool
命令啟用必要的布爾值:sudo setsebool -P sftp_home_dir on
重啟SSH服務:
sshd_config
文件后,重啟SSH服務以應用更改:sudo systemctl restart sshd
通過以上步驟,你可以設置CentOS系統上的SFTP權限,確保用戶只能通過SFTP訪問其主目錄及其子目錄,并且不能執行其他命令或訪問其他用戶的文件。