安裝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