在Ubuntu系統中,設置SFTP權限需要遵循以下步驟:
安裝OpenSSH服務器(如果尚未安裝): 打開終端,然后輸入以下命令:
sudo apt-get update
sudo apt-get install openssh-server
創建一個新的用戶(如果需要):
若要創建一個新用戶,請輸入以下命令,將username
替換為您選擇的用戶名:
sudo adduser username
按照提示設置密碼和其他詳細信息。
限制用戶訪問SFTP:
編輯/etc/ssh/sshd_config
文件,以限制用戶訪問SFTP。在終端中輸入以下命令:
sudo nano /etc/ssh/sshd_config
找到以下行:
#Subsystem sftp /usr/lib/openssh/sftp-server
取消注釋(刪除行首的#
),然后在其下方添加以下內容:
Subsystem sftp internal-sftp
Match Group sftpusers
ChrootDirectory %h
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
保存并關閉文件。
創建一個新組(如果需要):
若要創建一個名為sftpusers
的新組,請輸入以下命令:
sudo groupadd sftpusers
將用戶添加到新組:
將用戶添加到sftpusers
組,以便應用SFTP限制。將username
替換為您創建的用戶名:
sudo usermod -aG sftpusers username
更改用戶的主目錄權限:
為了使chroot生效,需要更改用戶主目錄的權限。將username
替換為您創建的用戶名:
sudo chown root:root /home/username
sudo chmod 755 /home/username
創建用戶的SFTP目錄:
在用戶的主目錄中創建一個名為sftp
的子目錄,用于存放用戶的文件:
sudo mkdir /home/username/sftp
sudo chown username:sftpusers /home/username/sftp
sudo chmod 755 /home/username/sftp
重啟SSH服務: 為了使更改生效,請重啟SSH服務:
sudo systemctl restart ssh
現在,您已經成功設置了Ubuntu系統上的SFTP權限。用戶username
現在可以通過SFTP訪問其主目錄中的sftp
子目錄。