環境介紹
根據開發的需求 要求創建FTP服務器,把前端和后端分開用不同的FTP賬號
系統環境
centos 7.4
selinux 關閉
防火牆關閉
安裝FTP
很簡單就一條命令
yum install vsftpd
創建FTP賬號
useradd -d /home/bim/web -m www useradd -d /home/bim -m admin passwd admin mkdir -p /home/bim chmod -R 777 /home/bim chmod -R 777 /home/bim/*
修改配至文件
[root@bimvm01 bim]# cat /etc/vsftpd/vsftpd.conf |grep -v "^#" anonymous_enable=no #設置是否允許匿名用戶登錄 local_enable=YES #設置是否允許本地用戶登錄 write_enable=YES #是否允許用戶有寫權限 local_umask=022 #設置本地用戶創建文件時的umask值 dirmessage_enable=YES #允許為目錄配置顯示信息,顯示每個目錄下面的message_file文件的內容 xferlog_enable=YES connect_from_port_20=YES xferlog_std_format=YES #日志文件位置 chroot_local_user=YES #鎖定用戶到各自的根目錄 chroot_list_enable=YES chroot_list_file=/etc/vsftpd/chroot_list listen=NO listen_ipv6=YES pam_service_name=vsftpd userlist_enable=YES tcp_wrappers=YES local_root=/home/bim #用戶路徑 user_config_dir=/etc/vsftpd/userconfig #用戶配至文件 allow_writeable_chroot=YES
chroot_list 文件下不寫入內容
cd /etc/vsftpd/ touch chroot_list mkdir userconfig cd userconfig/ #配置各自用戶訪問根目錄 vim admin local_root=/home/bim [root@bimvm01 vsftpd]# ll -rw-r--r-- 1 root root 0 4月 19 16:10 chroot_list -rw-------. 1 root root 125 10月 31 03:45 ftpusers drwxr-xr-x 2 root root 30 4月 19 17:09 userconfig -rw------- 1 root root 372 4月 4 13:47 user_list -rw------- 1 root root 5172 4月 19 17:19 vsftpd.conf -rw------- 1 root root 5136 4月 19 14:41 vsftpd.conf.bak -rwxr--r--. 1 root root 338 10月 31 03:45 vsftpd_conf_migrate.sh [root@bimvm01 vsftpd]# cd userconfig/ [root@bimvm01 userconfig]# ll 總用量 8 -rw-r--r-- 1 root root 21 4月 19 17:09 admin -rw-r--r-- 1 root root 26 4月 19 17:09 www [root@bimvm01 userconfig]# cat admin local_root=/home/bim [root@bimvm01 userconfig]# cat www local_root=/home/bim/web [root@bimvm01 userconfig]# pwd /etc/vsftpd/userconfig [root@bimvm01 userconfig]#
然后重啟服務
登錄驗證
鏈接ftp 500 報錯

“500 OOPS: vsftpd: refusing to run with writable root inside chroot()”
解決方法
1. 在服務器上修改Vsftpd的配置文件vsftpd.conf
vim /etc/vsftpd/vsftpd.conf
# 添加一行配置 allow_writeable_chroot=YES
重啟ftp 服務