日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > Ubuntu >内容正文

Ubuntu

ubuntu sftp服务器搭建

發(fā)布時(shí)間:2023/12/31 Ubuntu 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ubuntu sftp服务器搭建 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一、SFTP是什么

SFTP(SSH File Transfer Protocol)是一個(gè)比普通FTP更為安全的文件傳輸協(xié)議。它工作在SSH 上,確保文件被加密傳輸。默認(rèn)使用端口是 22.

SFTP 常用客戶端軟件推薦使用 FileZilla,下載鏈接如下:
https://www.filezilla.cn/download/client

FileZilla 客戶端配置步驟:
打開 FileZilla --> 文件 --> 站點(diǎn)管理 --> 新站點(diǎn) --> 常規(guī) --> 協(xié)議選擇 SFTP --> 填寫主機(jī) IP,用戶名,密碼 --> 連接

?

二、需求描述
1. 兩類 SFTP 用戶,給這兩類用戶分為兩個(gè)用戶組,分別命名為 sftp_root 和 sftp_read
2. sftp_root 用戶組可以對(duì) SFTP 指定目錄擁有所有權(quán)限(讀,增,刪,改)
3. sftp_read 用戶組只有可讀權(quán)限,不允許刪除,上傳操作,只允許下載操作

三、在 Ubuntu 服務(wù)器上 搭建 SFTP 服務(wù)端

在 SFTP 搭建的過程中,遇到了一個(gè)客戶端連不上服務(wù)端的問題。根本原因是忽略了 SFTP “監(jiān)獄”根目錄,導(dǎo)致每次都被拒絕鏈接。

“監(jiān)獄”的根目錄必須滿足如下要求:所有者為root,其他任何用戶都不能擁有寫入權(quán)限。

“監(jiān)獄”根目錄下需要?jiǎng)?chuàng)建 SFTP 共享目錄,該共享目錄才是 SFTP 用戶可以維護(hù)的目錄,“監(jiān)獄”根目錄只能ssh等登錄ubuntu服務(wù)器后用root用戶維護(hù)。

以下步驟都是在 Ubuntu 服務(wù)器的終端中輸入命令。

1.?安裝OpenSSH服務(wù)器
sudo apt-get install openssh-server

2. 創(chuàng)建?sftp_root 和 sftp_read 用戶組
sudo addgroup sftp_root
sudo addgroup sftp_read

3. 創(chuàng)建使用 SFTP 的用戶,如果已經(jīng)有已存在用戶了,也可以跳過改步驟
sudo adduser test_read_user1
sudo adduser test_read_user2
...
sudo adduser test_root_user1
sudo adduser test_root_user2
...

4. 將不同類別用戶添加到對(duì)應(yīng)的用戶組
將?test_read_user1,test_read_user2 添加到?sftp_read 用戶組,并從所有其他用戶組中移除,同時(shí)關(guān)閉其Shell訪問
sudo usermod -G sftp_read -s /bin/false test_read_user1
sudo usermod -G sftp_read -s /bin/false test_read_user2
sudo usermod -a -G sftp_read test_root_user1
sudo usermod -a -G sftp_read test_root_user2

將?test_root_user1,test_root_user2 添加到?sftp_root?用戶組,但不從其他用戶組用移除(當(dāng)然,也可以像 test_read_user1 一樣,同時(shí)關(guān)閉其Shell訪問,但不要從所有其他用戶組中移除
sudo usermod -a -G sftp_root?test_root_user1
sudo usermod -a -G sftp_root test_root_user2

以下步驟在自己沒有搞清楚原理前,請(qǐng)務(wù)必按照下面的步驟嚴(yán)格執(zhí)行,不要有漏掉的,避免將來訪問權(quán)限不對(duì),造成困惑。

5. 創(chuàng)建“監(jiān)獄”根目錄和 SFTP 共享目錄并修改用戶和權(quán)限
以要共享?share1 和?share2 兩個(gè)目錄為例:
sudo mkdir /data/testSFTP
sudo mkdir /data/testSFTP/share1
sudo mkdir /data/testSFTP/share2

sudo chown root:sftp_read /data/testSFTP
sudo chmod 755 /data/testSFTP

sudo chown root:sftp_root /data/testSFTP/share1
sudo chown root:sftp_root /data/testSFTP/share2
sudo chmod 775 /data/testSFTP/share1
sudo chmod 775 /data/testSFTP/share2

6. 修改?SSH 配置文件
sudo vim /etc/ssh/sshd_config

#Subsystem sftp /usr/lib/openssh/sftp-server Subsystem sftp internal-sftp AllowGroups sftp_root sftp_read rootMatch Group sftp_readAllowTcpForwarding noX11Forwarding noForceCommand internal-sftpChrootDirectory /data/testSFTP

相關(guān)配置解釋如下:
(1)添加 sftp 子系統(tǒng),SFTP 根目錄會(huì)根據(jù)下面的 Match 進(jìn)行匹配,如果沒有匹配到而且還在 AllowGroups 的用戶組,那么 SFTP 根目錄會(huì)是用戶根目錄,比如,/home/test_read_user1/
(2)允許 sftp_root sftp_read root 用戶組通過 SFTP 訪問 SFTP 服務(wù)器
(3)置 Match 的用戶組 sftp_read,只要在該用戶組的用戶,都要滿足 Match 下的限制條件
(4)禁止TCP Forwarding和X11 Forwarding;
? ? ? ? ?強(qiáng)制該組用戶僅僅使用SFTP;
? ? ? ? ?該用戶組根目錄為 /data/testSFTP

7. 重啟 ssh 服務(wù)
sudo service ssh restart

備注:如果您的網(wǎng)絡(luò)沒有硬件防火墻,也沒有設(shè)置ubuntu軟件防火墻(默認(rèn)關(guān)閉的),那么理論上上講,可以通過 FileZilla 成功訪問該 SFTP 服務(wù)器了。

總結(jié)

以上是生活随笔為你收集整理的ubuntu sftp服务器搭建的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。