CentOS 7搭建vsftp服務


CentOS 7搭建vsftp服務

1. 安裝前准備

  • 關閉防火牆或者開端口權限。一般是firewalld或者iptables。
systemctl stop firewalld
systemctl disable firewalld
  • 關閉sellinux

臨時關閉

setenforce 0

重啟機器關閉

vi /etc/selinux/config
修改
SELINUX=disabled

查看是否關閉

getenforce

2. 安裝vsftpd

yum install -y vsftpd ftp
systemctl start vsftpd
systemctl enable vsftpd

3. 配置vsftpd

  • 創建vsftpd使用的系統用戶,主目錄為/home/vsftpd,禁止ssh登錄。創建之后所有虛擬用戶使用這個系統用戶訪問文件。
useradd vsftpd -d /home/vsftpd -s /bin/false
  • 創建虛擬用戶主目錄,比如虛擬用戶叫ftp1,執行下面的命令。
mkdir -p /home/vsftpd/ftp1
chmod 755 /home/vsftpd/ftp1
chown vsftpd.vsftpd /home/vsftpd/ftp1
  • 創建這個虛擬用戶
vi /etc/vsftpd/loginusers.conf
增加
ftp1
123456

這樣就創建了ftp1這個虛擬用戶,密碼為123456

  • 根據這個文件創建數據庫文件
db_load -T -t hash -f /etc/vsftpd/loginusers.conf /etc/vsftpd/loginusers.db
chmod 600 /etc/vsftpd/loginusers.db
  • 啟用這個數據庫文件
vi /etc/pam.d/vsftpd
注釋掉所有內容后,增加下面的內容

auth    sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/loginusers
account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/loginusers
  • 創建虛擬用戶配置文件
mkdir /etc/vsftpd/userconf
vi /etc/vsftpd/userconf/ftp1    # 這里的文件名稱必須與虛擬用戶名一致
增加下面的內容
# 設置登錄后禁錮的目錄
local_root=/home/vsftpd/ftp1/
# 開放寫權限
write_enable=YES
# 開放下載權限
anon_world_readable_only=no
# 開放上傳權限
anon_upload_enable=yes
# 開放創建目錄的權限
#anon_mkdir_write_enable=yes
# 開放刪除和重命名的權限
anon_other_write_enable=yes
  • 最后修改主配置文件
vi /etc/vsftpd/vsftpd.conf
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
ascii_upload_enable=YES
ascii_download_enable=YES
chroot_local_user=YES
listen=YES
listen_ipv6=NO
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
guest_enable=YES
guest_username=vsftpd
user_config_dir=/etc/vsftpd/userconf
allow_writeable_chroot=YES

# 以下是跟被動模式相關配置:
pasv_enable=yes # 被動模式啟動
pasv_max_port=10250 # 啟動的最大端口
pasv_min_port=10240 # 啟動的最小端口
# 端口設置需要防火牆開啟、華為雲需要配置安全組
pasv_address=114.1*6.*1.*7 # 華為雲主機的IP,改為你自己的運服務器IP
pasv_addr_resolve=yes # 配合pasv_address開啟允許欺騙

配置介紹:

    • anonymous_enable=NO 禁止匿名用戶登錄
    • chroot_local_user=YES 禁止用戶訪問除主目錄以外的目錄
    • ascii_upload_enable=YES ascii_download_enable=YES 設定支持ASCII模式的上傳和下載功能
    • guest_enable=YES 啟動虛擬用戶
    • guest_username=vsftpd 虛擬用戶使用的系統用戶名
    • user_config_dir=/etc/vsftpd/userconf 虛擬用戶使用的配置文件目錄
    • allow_writeable_chroot=YES 最新版的vsftpd為了安全必須用戶主目錄(也就是/home/vsftpd/ftp1)沒有寫權限,才能登錄,或者使用
    • allow_writeable_chroot=YES
  • 最后重啟服務使配置生效

systemctl restart vsftpd

4. 登錄測試

  • shell 查看
# sudo su - vsftpd
# pwd
/home/vsftpd/ftp1
# ls
111.pdf

5. 參考文檔

# 華為雲Centos 7.4安裝、配置FTP服務器vsftpd
https://blog.csdn.net/qiantanlong/article/details/82909865

# centos7安裝vsftp配置虛擬用戶,詳細介紹,親測完美!
https://blog.csdn.net/will0532/article/details/79175478

# CentOS 7搭建vsftp(虛擬用戶方式登錄)
http://www.cnblogs.com/wsjhk/p/8311037.html


免責聲明!

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



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