對於服務器文件上傳, 我們會創建sftp用戶登陸服務器,禁止ssh登陸服務器;這樣是為了安全性的考慮,避免外部訪問服務器的其他路徑,對其他路徑上的文件進行訪問、修改等。
現在對外提供test用戶,sftp訪問服務器;創建過程如下:
1. 建立sftp用戶 test
useradd test, 此時會在創建sftp用戶目錄/home/test
chown -R root:test /home/test
chmod -R 750 /home/test
2.創建上傳目錄file,賦予權限
cd /home/test
mkdir file
chown -R test:test /home/test/file
chmod -R 755 /home/test/file
說明:
sftp家目錄屬主必須是root,屬組是test,該權限最高設置為755,否則sftp連不上;sftp登陸直接會進入file目錄;對於文件上傳或下載 不要使用絕對路徑/home/test/file.
sftp家目錄屬主必須是root,屬組是test,該權限最高設置為755,否則sftp連不上;sftp登陸直接會進入file目錄;對於文件上傳或下載 不要使用絕對路徑/home/test/file.
3. 修改sshd_config文件
vim /etc/ssh/sshd_config
注釋調 Subsystem sftp /usr/libexec/openssh/sftp-server
結尾添加
Subsystem sftp internal-sftp
Match User test01
ChrootDirectory /home/test (sftp用戶的根目錄)
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
注釋調 Subsystem sftp /usr/libexec/openssh/sftp-server
結尾添加
Subsystem sftp internal-sftp
Match User test01
ChrootDirectory /home/test (sftp用戶的根目錄)
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
重啟服務:
systemctl restart sshd.service
systemctl restart sshd.service