1勿璃、復制配置文件
cp /usr/lib/systemd/system/sshd.service /usr/lib/systemd/system/sftpd.service
cp /etc/ssh/sshd_config /etc/ssh/sftpd_config
2擒抛、修改sftpd.service配置文件
vim /usr/lib/systemd/system/sftpd.service
[Unit]
Description=Sftpd server daemon
[Service]
ExecStart=/usr/sbin/sshd -f /etc/ssh/sftpd_config
3、修改/etc/ssh/sftpd_config配置文件
vim /etc/ssh/sftpd_config
Port 12345 # 端口可自定義
#Subsystem sftp /usr/libexec/openssh/sftp-server # 注釋掉
Subsystem sftp internal-sftp
Match User sftpuser ##限制用戶
ChrootDirectory /sftpdir ##限制sftp目錄
X11Forwarding no ##與sftp無關(guān)补疑,所以關(guān)閉
AllowTcpForwarding no ##與sftp無關(guān)歧沪,所以關(guān)閉
PermitTTY no ##不允許登入TTY
ForceCommand internal-sftp
備注:
Sftp目錄權(quán)限設(shè)置要遵循2點:
ChrootDirectory設(shè)置的目錄權(quán)限及其所有的上級文件夾權(quán)限,屬主必須是root莲组;
ChrootDirectory設(shè)置的目錄權(quán)限及其所有的上級文件夾權(quán)限诊胞,只有屬主能擁有寫權(quán)限,權(quán)限最大設(shè)置只能是755锹杈。
4撵孤、增加sftp用戶并創(chuàng)建目錄和賦權(quán)
useradd sftpuser
passwd sftpuser
usermod -s /bin/false sftpuser # 使用/bin/false,限制該用戶通過shell登入OS
mkdir /sftpuser/upload
chown root.sftpuser /sftpuser
chown sftpuser.sftpuser /sftpuser/upload
chmod -R 755 /sftpuser
# /sftpuser/upload 為最終文件上傳下載目錄竭望。注意邪码,因為使用ChrootDirectory,所以sftp的時候不能使用絕對路徑/sftpuser/upload/xxx
5咬清、啟動服務
systemctl daemon-reload
systemctl start sftpd
參考資料:
https://www.cnblogs.com/caoyibin/p/15205287.html
https://codeleading.com/article/59295569585/