sftp全稱:secure file transfer protocol,與ftp有著一樣的功能和語法。sftp是ssh的一部分,同樣使用22埠。
本篇文章以centos系統為例,搭建乙個sftp服務,使用的賬號是 ftpuser,該賬號使用sftp客戶端軟體登入後的根目錄為:/opt/sftp,該賬號只能訪問 /opt/sftp 及其子目錄,對子目錄有讀寫許可權,對 /opt/sftp僅有訪問許可權。
賬號:ftpuser
根目錄:/opt/sftp
讀寫目錄:/opt/sftp/doc
已經新增了賬號的話直接略過。該賬號只能使用sftp客戶端登入,不能ssh到伺服器。
useradd ftpuser -s /sbin/nologin
#設定密碼
passwd ftpuser
修改或增加配置如下
usepam yes
subsystem sftp internal-sftp
match user ftpuser
chrootdirectory /opt/sftp/
forcecommand internal-sftp
allowtcpforwarding no
x11forwarding no
如果需要配置多個賬號,只需要重複以下配置就好了(或者使用 match group xx)
match user ftpuser
chrootdirectory /opt/sftp/
forcecommand internal-sftp
allowtcpforwarding no
x11forwarding no
具體上面的配置什麼意思,還不清楚。
chrootdirectory 指定登入後的根目錄,並且將使用者限制在該目錄及其子目錄下。
這裡有條規則
1、由 chrootdirectory 指定的目錄開始一直往上到系統根目錄為止的目錄擁有者都只能是 root
2、由 chrootdirectory 指定的目錄開始一直往上到系統根目錄為止都不可以具有群組寫入許可權(最大許可權 755)
在本例項中,opt 和 sftp 這兩個目錄的屬主都是 root,屬組合其他使用者都沒有寫許可權
mkdir -p /opt/sftp
#設定屬主和屬組,本例都是root
chown root:root /opt /opt/sftp
#設定許可權
chmod 755 /opt /opt/sftp
mkdir /opt/sftp/doc
chown ftpuser:root /opt/sftp/doc
chmod 755 /opt/sftp/doc
由於目錄 sftp 只有root才有寫的許可權,而我們登入的使用者是 ftpuser,所以我們對 sftp只有讀的許可權,沒有寫的許可權,ftp賬號登入後只能操作sftp目錄的子目錄,所以此處將 doc 目錄的屬主設定為 ftpuser,並設定屬主的許可權為 rwx。
注意: 由於 chrootdirectory 的兩條規則限制,我們不可能對 chrootdirectory 指定的目錄有寫的許可權,所以只能在其子目錄下操作
sftp伺服器搭建
在centos 6.6環境使用系統自帶的internal sftp搭建sftp伺服器。開啟命令終端視窗,按以下步驟操作。0 檢視openssh的版本 plain view plain copy ssh v 使用ssh v 命令來檢視openssh的版本,版本必須大於4.8p1,低於的這個版本需要公升...
SFTP伺服器搭建
簡介 sftp是secure file transfer protocol的縮寫,安全檔案傳送協議。可以為傳輸檔案提供一種安全的加密方法。sftp 與 ftp有著幾乎一樣的語法和功能。sftp 為 ssh的一部份,和vsftpd一點關係沒有,是一種傳輸檔案至 blogger 伺服器的安全方式。本身沒...
Ubuntu搭建SFtp伺服器
1.sudo apt get install openssh server 驗證是否安裝成功的方法,檢查 etc init.d下是否有ssh資料夾以及 etc ssh sshd config檔案是否存在,第一次安裝,往往不能安裝成功 2.sudo addgroup sftp users 3.sudo...