在Ubuntu上設置SFTP權限主要涉及安裝和配置OpenSSH服務器,創建特定的用戶組和用戶,以及調整目錄權限。以下是詳細的步驟指南:
如果您還沒有安裝OpenSSH服務器,請在終端中執行以下命令來安裝:
sudo apt update
sudo apt install openssh-server
創建一個新的用戶組(例如 sftp_users
):
sudo groupadd sftp_users
創建一個新的SFTP用戶(例如 sftpuser
)并將其添加到新創建的組。同時設置該用戶的密碼:
sudo useradd -m sftpuser -g sftp_users
sudo passwd sftpuser
編輯 /etc/ssh/sshd_config
文件以限制SFTP用戶對其根目錄的訪問:
sudo nano /etc/ssh/sshd_config
在文件末尾添加以下內容:
Match Group sftp_users
ChrootDirectory /sftp_root
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
這里,/sftp_root
是您為SFTP用戶設置的根目錄。
保存文件并退出編輯器。
重新啟動OpenSSH服務器以使更改生效:
sudo systemctl restart sshd
創建一個新目錄,用作SFTP用戶的根目錄(例如 /sftp_root
):
sudo mkdir /sftp_root
為新創建的SFTP用戶創建一個子目錄,作為其個人目錄:
sudo mkdir /sftp_root/sftpuser
更改SFTP根目錄和個人目錄的所有者和權限:
sudo chown root:root /sftp_root
sudo chmod 755 /sftp_root
sudo chown sftpuser:sftp_users /sftp_root/sftpuser
sudo chmod 700 /sftp_root/sftpuser
使用以下命令測試SFTP連接:
sftp sftpuser@your_server_ip
輸入您設置的密碼后,如果一切正常,您將登錄到SFTP服務器。
以上步驟將幫助您在Ubuntu上成功設置SFTP權限,確保用戶只能訪問其指定的目錄,并且無法訪問系統上的其他部分。