CentOS 7搭建FTP服務器


安裝vsftpd

  • CentOS/Fedora
    yum install vsftpd -y

編輯vsftpd配置文件

默認vsftpd的配置文件在/etc/vsftpd/目錄下

默認ftp是允許匿名登陸的, ftp目錄在/var/ftp.

啟動ftp服務

systemctl start vsftpd

配置ftp上傳和下載

編輯一個系統文件之前, 記得備份, cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak

編輯配置文件vim /etc/vsftpd/vsftpd.conf, 修改對應的字段, 如果沒有相應的字段, 就新建:

# 允許匿名用戶和本地用戶登陸
anonymous_enable=YES
local_enable=YES

# 使用匿名登入時,所登入的目錄
anon_root=/home/ftp

# 如果設為YES, 允許匿名登入者有上傳文件(非目錄)的權限. 默認值為NO.
anon_upload_enable=YES

# 如果設為YES, 允許匿名登入者有新增目錄的權限, 只有在write_enable=YES時, 此項才有效. 當然, 匿名用戶必須要有對上層目錄的寫入權. 默認值為NO.
anon_mkdir_write_enable=NO

# 如果設為YES, 允許匿名登入者更多於上傳或者建立目錄之外的權限. 默認值為NO.
anon_other_write_enable=NO

# 設置是否改變匿名用戶上傳文件(非目錄)的屬主. 默認值為NO.
chown_uploads=NO

# 設置匿名登入者新增或上傳檔案時的umask值. 默認值為077, 則新建檔案的對應權限為700
anon_umask=077

如果不能上傳和下載

  • 配置文件
# 允許匿名用戶登錄FTP
anonymous_enable=YES

# 設置匿名用戶的登錄目錄
anon_root=/var/ftp/pub

# 打開匿名用戶的上傳權限
anon_upload_enable=YES

#開啟匿名用戶的下載權限
anon_world_readable_only=no 

# 打開匿名用戶創建目錄的權限
anon_mkdir_write_enable=YES

# 打開匿名用戶刪除和重命名的權限
anon_other_write_enable=YES

#匿名用戶的掩碼(含義: 如umask是022, 這時創建一個權限為666的文件, 文件的實際權限為666-022=644)
anon_umask=022
  • 目錄權限設置

    默認情況下, ftp的根目錄為/var/ftp, 為了安全, 這個目錄默認不允許設置為777權限, 否則ftp將無法訪問. 但是我們要匿名上傳文件, 需要other用戶的寫權限, 正確的做法"

    /var/ftp中默認有一個pub文件夾, 將個文件夾權限設置為777(視具體需要自己設), 在pub這個文件夾中, 匿名用戶可以上傳文件, 創建文件夾, 刪除文件等.

  • SELinux配置

如果還是不行, 那么查看selinux的配置, 查看配置文件/etc/selinux/config中的SELINUX=disabled是不是disabled, 如果是, 那么使用命令getenforce查看狀態, 如果是Permissive(這是SELinux的中間狀態), 那么重啟系統(命令reboot)就好了.

再次使用getenforce查看狀態, 就會變成Disabled


免責聲明!

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



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