linux服務器設置sftp傳輸文件賬號的實現(xiàn)方式
一、前言
linux自帶sftp功能,只要配置一個賬號,就能用sftp來上傳下載文件。
當需要sftp服務器測試的時候,很好用,只要有l(wèi)inux服務器就行了,不用花錢買sftp軟件。
二、sftp賬號設置方法
1.登錄你的linux服務器
2.創(chuàng)建父目錄
sudo mkdir -p /home/sftp/sftpuser
這個目錄當做用戶目錄。
3.創(chuàng)建用戶,指定用戶目錄
# 創(chuàng)建用戶 sftpuser,指定 home sudo useradd -m -d /home/sftp/sftpuser -s /usr/sbin/nologin sftpuser
這里創(chuàng)建了一個nologin用戶sftpuser,這個用戶禁止ssh登錄。
4.設置用戶密碼
sudo passwd sftpuser
這個是給sftpuser用戶設置密碼,輸入后會提示你輸入兩次新密碼。
5.給用戶目錄配置權限
sudo chown root:root /home/sftp/sftpuser sudo chmod 755 /home/sftp/sftpuser
這里設置sftpuser目錄屬于root用戶,權限是755.
6.配置上傳目錄
sudo mkdir -p /home/sftp/sftpuser/data sudo chown root:root /home/sftp/sftpuser/data sudo chmod 755 /home/sftp/sftpuser/data
這里再創(chuàng)建一個data目錄,設置屬于root用戶,權限755,用來給用戶上傳文件用。
7.配置賬號僅允許SFTP傳輸
sudo vi /etc/ssh/sshd_config
用這個命令打開配置文件,注意,然后在這個文件的末尾加上:
Match User sftpuser
ChrootDirectory /home/sftp/%u/data
ForceCommand internal-sftp
PasswordAuthentication yes
AllowAgentForwarding no
X11Forwarding no
PermitTunnel no
AllowTcpForwarding no
其中設置了ChrootDirectory ,意思是以data目錄為根目錄;
PasswordAuthentication ,意思是允許賬號密碼登錄(如果不設置,有可能只能用秘鑰登錄,就得看其他地方的全局配置了)。
8.保存配置文件
#先按ESC,然后輸入這個,然后回車保存 :wq
9.重啟配置文件
sudo systemctl restart sshd
10.準備測試
根目錄只有root用戶能創(chuàng)建文件夾,sftpuser不能創(chuàng)建,所以先創(chuàng)建幾個測試用。
sudo mkdir -p /home/sftp/sftpuser/data/upload sudo mkdir -p /home/sftp/sftpuser/data/download sudo chmod -R 777 /home/sftp/sftpuser/data/*
這里創(chuàng)建了兩個文件夾,upload和download,然后設置權限777,所有用戶都能用。
11.使用FileZilla測試,輸入服務器ip,用戶名是sftpuser,密碼是自己設置的用戶密碼,注意端口輸入22。(sftp端口22)

如圖,sftp連接后,以data作為根目錄(用戶看到就是/),其中是測試步驟創(chuàng)建的download文件夾與upload文件夾。
注意sftpuser用戶不能直接在根目錄里上傳下載文件,需要在下級文件夾才行。(download文件夾與upload文件夾)
總結
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
linux實現(xiàn)定時備份mysql數(shù)據(jù)庫的簡單方法
在本篇文章中我們給大家整理了一些關于linux實現(xiàn)定時備份mysql數(shù)據(jù)庫的簡單方法,有需要的朋友們可以學習下。2018-09-09
PHP程序員玩轉Linux系列 搭建FTP代碼開發(fā)環(huán)境
這篇文章主要為大家詳細介紹了PHP程序員玩轉Linux系列文章,F(xiàn)TP代碼開發(fā)環(huán)境搭建教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-04-04
如何解決Linux下Too many open files問題
Too many open files是Linux系統(tǒng)中常見的錯誤,從字面意思上看就是說程序打開的文件數(shù)過多,不過這里的files不單是文件的意思,也包括打開的通訊鏈接(比如socket),正在監(jiān)聽的端口等等,所以有時候也可以叫做句柄(handle),這個錯誤通常也可以叫做句柄數(shù)超出系統(tǒng)限制。2021-06-06

