FTP、SFTP的簡單搭建


FTP服務

軟件安裝包:   vsftpd

默認發布目錄: /var/ftp

協議接口:     21/tcp

服務配置文件: /etc/vsftpd/vsftpd.conf

報錯id的解析:

       500    ##文件系統權限過大

       530    ##用戶認證失敗

       550    ##服務本身功能未開放

       553    ##文件權過小

FTP(File Transfer Protocol),是文件傳輸協議的簡稱。用於Internet上的控制文件的雙向傳輸。同時, 它也是一個應用程序(Application),用戶可以通過它把自己的PC機與世界各地所有運行FTP協議的服務器相連, 訪問服務器上的大量程序和信息。 FTP的主要功能是實現各種操作系統之間的文件交流,建立一個統一的文件傳輸協議。 ftp:// ##文件傳輸協議 vsftpd ##FTP服務器包

安裝包

服務端: vsftd

客戶端: lftp

 

服務端部署ftp服務

yum install -y vsftpd

systemctl start vsftpd

systemctl enable vsftpd

 

添加防火牆策略

##添加防火牆策略,讓火牆允許ftp服務; --permanent表示永久添加

firewall-cmd --permanent --add-service=ftp

Success

##重新加載;必須執行,否則不生效

firewall-cmd --reload

success

firewall-cmd --list-all

 

關閉selinux

##查看selinux的狀態

getenforce Enforcing

vim /etc/sysconfig/selinux

SELINUX=disabled

reboot

 

客戶端部署

yum -y install lftp

 

連接命令:

lftp 172.25.254.234 -u chunyu

 

基本命令使用

##本地用戶登陸 [kiosk@foundation34 ~]$ lftp 172.25.254.234 -u westos Password: lftp westos@172.25.254.234:~> ls -rw-r--r-- 1 0 0 0 Oct 31 15:18 westosfile1 -rw-r--r-- 1 0 0 0 Oct 31 15:18 westosfile2 -rw-r--r-- 1 0 0 0 Oct 31 15:18 westosfile3 ##上傳文件 lftp westos@172.25.254.234:~> put /etc/passwd 3190 bytes transferred lftp westos@172.25.254.234:~> ls -rw-r--r-- 1 1001 1001 3190 Oct 31 15:19 passwd -rw-r--r-- 1 0 0 0 Oct 31 15:18 westosfile1 -rw-r--r-- 1 0 0 0 Oct 31 15:18 westosfile2 -rw-r--r-- 1 0 0 0 Oct 31 15:18 westosfile3 ##刪除文件 lftp westos@172.25.254.234:~> rm passwd rm ok, `passwd' removed lftp westos@172.25.254.234:~> ls -rw-r--r-- 1 0 0 0 Oct 31 15:18 westosfile1 -rw-r--r-- 1 0 0 0 Oct 31 15:18 westosfile2 -rw-r--r-- 1 0 0 0 Oct 31 15:18 westosfile3 ##新建目錄 lftp westos@172.25.254.234:~> mkdir hello mkdir ok, `hello' created lftp westos@172.25.254.234:~> ls drwxr-xr-x 2 1001 1001 6 Oct 31 15:20 hello -rw-r--r-- 1 0 0 0 Oct 31 15:18 westosfile1 -rw-r--r-- 1 0 0 0 Oct 31 15:18 westosfile2 -rw-r--r-- 1 0 0 0 Oct 31 15:18 westosfile3 ##但不能用使用touch命令 因為ftp服務界面並非支持所有shell中的所有命令 lftp westos@172.25.254.234:~> touch file Unknown command `touch'. lftp westos@172.25.254.234:~> exit 

https://blog.csdn.net/lilygg/article/details/83616565

SFTP服務

sftp是Secure File Transfer Protocol的縮寫,安全文件傳送協議。可以為傳輸文件提供一種安全的網絡的加密方法。SFTP 為 SSH的其中一部分,是一種傳輸檔案至 Blogger 伺服器的安全方式。其實在SSH軟件包中,已經包含了一個叫作SFTP(Secure File Transfer Protocol)的安全文件信息傳輸子系統,SFTP本身沒有單獨的守護進程,它必須使用sshd守護進程(端口號默認是22)來完成相應的連接和答復操作,所以從某種意義上來說,SFTP並不像一個服務器程序,而更像是一個客戶端程序。SFTP同樣是使用加密傳輸認證信息和傳輸的數據,所以,使用SFTP是非常安全的。但是,由於這種傳輸方式使用了加密/解密技術,所以傳輸效率比普通的FTP要低得多

本次使用系統自帶的internal-sftp搭建sftp,因為需要用到chroot,所以openssh 版本不能低於4.8p1

ssh -V檢查版本

創建用戶

useradd chunyu

passwd chunyu

創建工作目錄

mkdir /sftp/chunyu/

修改配置文件

vim /etc/ssh/sshd_config

在后邊追加

Subsystem sftp internal-sftp Match Group sftp ChrootDirectory /sftp/%u ForceCommand internal-sftp AllowTcpForwarding no X11Forwarding no

參數說明:

Subsystem sftp internal-sftp:指定使用sftp服務使用系統自帶的internal-sftp

Match Group sftp:用來匹配sftp組的用戶,如果要匹配多個組,多個組之間用逗號分割。

                              注:當然也可以匹配用戶,如:【Match User mysftp】,多個用戶名

                                     之間也是用逗號分割。

ChrootDirectory /sftp/%u:用chroot將用戶的根目錄指定到/sftp/%u,%u代表用戶名,這

                                          樣用戶就只能在/sftp/%u下活動。

ForceCommand   internal-sftp:指定sftp命令

更改工作目錄權限

chown root:sftp /sftp

chown root:sftp /sftp/tom

chmod 755 /sftp

chmod 755 /sftp/tom

權限說明:

目錄的權限設定有兩個要點:

      1、由ChrootDirectory指定的目錄開始一直往上到系統根目錄為止的目錄擁有者,都只能是              root,群組可以

           是第一步創建的組,這里是sftp

      2、由ChrootDirectory指定的目錄開始一直往上到系統根目錄為止,目錄所屬的群組都不可以          具有寫的權限。

注:讀(r,權限值為4)、寫(w,權限值為2)、執行(x,權限值為1)。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM