环境介绍

根据开发的需求 要求创建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= #设置本地用户创建文件时的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-- root root 4月 : chroot_list
-rw-------. root root 10月 : ftpusers
drwxr-xr-x root root 4月 : userconfig
-rw------- root root 4月 : user_list
-rw------- root root 4月 : vsftpd.conf
-rw------- root root 4月 : vsftpd.conf.bak
-rwxr--r--. root root 10月 : vsftpd_conf_migrate.sh
[root@bimvm01 vsftpd]# cd userconfig/
[root@bimvm01 userconfig]# ll
总用量
-rw-r--r-- root root 4月 : admin
-rw-r--r-- root root 4月 : 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 服务
 

最新文章

  1. iOS开发系列--通知与消息机制
  2. Hibernate双向多对多关联
  3. 怎样防止重复发送 Ajax 请求?
  4. 网页版视频网站可以用html5来实现吗?
  5. Mac OS 下 eclipse中文乱码解决方法(eclipse for mac 中文乱码)
  6. Effective Java 39 Make defensive copies when needed
  7. Spark1.6 DataSets简介
  8. 问题:glGenBuffers()函数没有定义怎么办
  9. 【转】小解DCT与DFT
  10. APUE16章的运行示例16-14
  11. [Visual Studio]透过Visual Studio 2012的选择性贴上将XML与JSON直接转成对应的类别
  12. jQuery使用小结
  13. Eclipse连接SQL Server 2008数据库 以及问题总结
  14. CSS颜色渐变
  15. getHibernateTemplate() VS getSession()
  16. Android WebView那些坑之上传文件
  17. 迅为iTOP-4418/6818开发板-驱动-实现GPIO扩展
  18. petapoco模板修改
  19. 解决mysql设置时区时的错误Unknown or incorrect time zone: 'Asia/Shanghai'
  20. vue的事件处理梳理

热门文章

  1. 【雕爷学编程】MicroPython动手做(01)——春节后入手了K210开发板
  2. Maven 私服你应该不陌生吧,可你会用 Artifactory 搭建吗?
  3. Spring Cloud Alibaba入门实战之nacos(一)
  4. binlog在并发状态下的记录
  5. mvc 页面上循环datatable
  6. Jmeter(二) - 从入门到精通 - 创建测试计划(Test Plan)(详解教程)
  7. 模板:JSP公共内容
  8. 【python爬虫】scrapy入门7:Scrapy中runspider和crawl的区别
  9. MongoDB全球云端技术盛会MongoDB.live
  10. 剑指Offer之矩形覆盖