CentOS 7搭建vsftp服務

CentOS 7搭建vsftp服務

1. 安裝前準備

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

臨時關閉html

setenforce 0

重啓機器關閉linux

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

查看是否關閉shell

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開啓容許欺騙

配置介紹:centos

    • 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
相關文章
相關標籤/搜索