2019-08-28 1、引言 sftp可以為傳輸文件提供一種安全的網路的加密方法。sftp 與 ftp 有著幾乎一樣的語法和功能。SFTP 為 SSH的其中一部分,是一種傳輸檔案至 Blogger 伺服器的安全方式。其實在SSH軟體包中,已經包含了一個叫作SFTP(Secure File Tran ...
2019-08-28
1、引言
sftp可以為傳輸文件提供一種安全的網路的加密方法。sftp 與 ftp 有著幾乎一樣的語法和功能。SFTP 為 SSH的其中一部分,是一種傳輸檔案至 Blogger 伺服器的安全方式。其實在SSH軟體包中,已經包含了一個叫作SFTP(Secure File Transfer Protocol)的安全文件信息傳輸子系統,SFTP本身沒有單獨的守護進程,它必須使用sshd守護進程(埠號預設是22)來完成相應的連接和答覆操作,所以從某種意義上來說,SFTP並不像一個伺服器程式,而更像是一個客戶端程式。SFTP同樣是使用加密傳輸認證信息和傳輸的數據,所以,使用SFTP是非常安全的。但是,由於這種傳輸方式使用了加密/解密技術,所以傳輸效率比普通的FTP要低得多,如果您對網路安全性要求更高時,可以使用SFTP代替FTP。
2、搭建SFTP前期準備
OS : CentOS/RHEL 7/6
Openssh version 4.8以上
目的:實現某一個或多個用戶只可以訪問一個或多個目錄。(User kunlun對目錄A和B有rwx許可權,User kunlunsun 對目錄C和B擁有rwx許可權)
#ssh -V #查看openssh版本
3、創建管理組和用戶
#groupadd sftp
#useradd -g sftp -s /bin/false kunlun # /bin/false 沒有可以登錄的shell,只能使用sftp登錄
#passwd kunlun
#useradd -g sftp -s /bin/false kunlunsun
#passwd kunlunsun
創建組(用於管理目錄和授權用戶的組)
#groupadd A
#groupadd B
#groupadd C
4、創建要訪問的目錄
#mkdir -p /Data/SFTP/A/
#mkdir -p /Data/SFTP/B/
#mkdir -p /Data/WEB/C/
5、配置SFTP伺服器
註:由於上述中講到sftp與ssh的關係,所以我們進行以下操作。
# vim /etc/ssh/sshd_config #進入配置文件
# PasswordAuthentication yes #如果您的伺服器在Cloud上,那麼請註意該雲平臺是否預設只允許密鑰登錄。
#Subsystem sftp /usr/libexec/openssh/sftp-server #註釋掉
Subsystem sftp internal-sftp
Match Group sftp
ChrootDirectory /Data/
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
註:ChrootDirectory /Data/ 目錄屬主(指User)和屬組(Group組)必須都是root。
可以通過getfacl /Data查看owner(user)和group(group)
6、將用戶加入到要訪問的“目錄”組
#usermod -a -G A kunlun #將用戶加入到要訪問的目錄組
#usermod -a -G B kunlun
#usermod -a -G B kunlunsun
#usermod -a -G C kunlunsun
7、修改目錄的owner和group
==============User kunlun的授權=========
#chgrp A A/
#chmod 770 A/
#chmod g+w A/
#chown kunlun:A A/
#chgrp B B/
#chmod 770 B/
#chmod g+w B/
#chown kunlun:B B/
==============User kunlunsun授權=========
#chgrp C C/
#chmod 770 C/
#chmod g+w C/
#chown kunlunsun:C C/
註:由於前面已經給過目錄B做過授權所以只需要將用戶kunlunsun加入到目錄B的組即可(加入組的操作在第6步完成)
通過getfacl B/或A/目錄查看目錄的owner和group許可權
親測:經過以上操作,用戶將對相應的目錄有rwx許可權
另:
通過setfacl授權,經過測試無效果。
個人感覺這種做法還可以更簡便,歡迎各位多多測試,有更簡便的方法歡迎留言,有問題也可以留言提出,看到會第一時間回覆。