Linux 搭建 SFTP伺服器

2021-10-23 13:00:27 字數 2384 閱讀 6875

更新linux裡的模組 yum update 中間可能需要按y 或者加乙個-y的引數

建立使用者組,組名sftp groupadd sftp

建立兩個使用者,乙個是sftp的管理員使用者,乙個是普通使用者

這種寫法建立的使用者是不能登入的,強行登入會提示不允許,但是可以使用服務,例如列印服務等

useradd -g sftp -s /sbin/nologin -m sftp_admin  

useradd -g sftp -s /sbin/nologin -m sftp_test

這種寫法建立的使用者也一樣不能登入,但是它在登入的時候沒有提示,直接退出,毫不留情

useradd -g sftp -s /bin/false  -m sftp_admin

useradd -g sftp -s /bin/false -m sftp_test

-g 加入到sftp組

-s 禁止使用命令

-m 不要自動建立使用者的登入目錄

設定使用者密碼

echo

"sftpadmin@123"

|passwd --stdin sftp_admin

設定使用者密碼
echo

"sftptest@123"

|passwd --stdin sftp_test

建立sftp檔案存放位址(可自行修改以下位址)

mkdir -p /usr/local/sftp/admin 管理員的根目錄

mkdir -p /usr/local/sftp/

group

/data 普通使用者的根目錄

設定資料夾擁有者以及相關的許可權,-r是代表及其子目錄等,sftp_admin是使用者,:sftp是組

chown -r sftp_admin:sftp /usr/local/sftp/admin

chown -r sftp_admin:sftp /usr/local/sftp/

group

/data

chmod 775 -r /usr/local/sftp/

group

/data

這裡注意許可權只要設定到775即可,頂層檔案最終最高許可權777一定是在root手裡(後面有相關許可權的計算,為什麼最高許可權是777)。
配置使用sftp,只要配置乙個檔案即可

cd  /etc/ssh 

vim sshd_config

在配置檔案最後面,新增如下**:

subsystem sftp internal-sftp  #配置開啟sftp

match user sftp_admin #配置管理員

chrootdirectory /usr/local/sftp #管理員主目錄

match group sftp #配置允許訪問組

chrootdirectory /usr/local/sftp/group #配置組使用者登入的根目錄這裡不能配置到/data那一級,否則客戶端會連不上伺服器

allowtcpforwarding no

x11forwarding no

然後找到上面有一句**subsystem sftp /usr/libexec/openssh/sftp-server 注釋掉。

這裡新增的**,一定一定要在usedns no後面

新增這些**的時候左邊一定不能還有空格!!!!!

在這個配置檔案上面有乙個被注釋掉的port 22**,也就是說預設的ssh訪問的埠也是在這裡配置的,可以自己加一段port 8080(或者別的埠),後續登入sftp或者ssh都將需要用這個新的埠。

配置完成,重啟服務。

service sshd restart

service sshd status 可以檢視啟動狀態,是否正常執行等。

journalctl -xe 出錯的話,看這個可以看到日誌,一般就能找出錯誤在**。

如果在執行中不小心,後面設定了資料夾的許可權,可以選擇刪除原檔案

以下是linux上許可權的計算例子:

讀取許可權 r = 4

寫入許可權 w = 2

執行許可權 x = 1

775 這三個數字代表擁有者,組使用者,其他使用者的許可權。

例如:7 擁有者有 讀取,寫入,執行許可權(4+2+1)

7 組使用者有 讀取,寫入,執行許可權 (4+2+1)

5 其他使用者有 讀取,執行許可權(4+1 = 5)

777 是最高許可權,代表資料夾開放所有許可權

Linux 搭建SFTP伺服器

系統centos 工具,自帶的internal sftp 1.首先檢視openssh版本 ssh v版本必須大於4.8p1,低於的這個版本需要公升級。2.建立sftp組 groupadd bmssftp3.建立sftp使用者 useradd g bmssftp s bin false bmssftp...

linux 搭建SFTP伺服器

參考 個人使用的是阿里雲的centos預設開啟了ssh 一開始以為 建立乙個使用者組,再新增幾個帳號,設定下許可權就好了 然而,to young to 步驟 1.建立乙個名為 sftp 的組 groupadd sftp 2.建立使用者 sftp admin 寫法1 useradd g sftp s ...

linux搭建sftp伺服器

目錄 一 sftp伺服器介紹 二 安裝步驟 sftp相對於ftp在資料傳輸的過程中對資料進行了加密,當然這也是有代價的,就是損耗了資料傳輸的一些效率,以此來保證資料的安全性。使用ftp需要進行安裝,但是使用sftp就無需進行安裝,sftp基於預設的22埠,是ssh內含的協議,只要啟動了sshd就可以...