环境介绍
根据开发的需求 要求创建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 服务