FTP配置多用户多目录多权限
2024-09-02 08:22:14
环境介绍
根据开发的需求 要求创建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 服务
最新文章
- iOS开发系列--通知与消息机制
- Hibernate双向多对多关联
- 怎样防止重复发送 Ajax 请求?
- 网页版视频网站可以用html5来实现吗?
- Mac OS 下 eclipse中文乱码解决方法(eclipse for mac 中文乱码)
- Effective Java 39 Make defensive copies when needed
- Spark1.6 DataSets简介
- 问题:glGenBuffers()函数没有定义怎么办
- 【转】小解DCT与DFT
- APUE16章的运行示例16-14
- [Visual Studio]透过Visual Studio 2012的选择性贴上将XML与JSON直接转成对应的类别
- jQuery使用小结
- Eclipse连接SQL Server 2008数据库 以及问题总结
- CSS颜色渐变
- getHibernateTemplate() VS getSession()
- Android WebView那些坑之上传文件
- 迅为iTOP-4418/6818开发板-驱动-实现GPIO扩展
- petapoco模板修改
- 解决mysql设置时区时的错误Unknown or incorrect time zone: 'Asia/Shanghai'
- vue的事件处理梳理
热门文章
- 【雕爷学编程】MicroPython动手做(01)——春节后入手了K210开发板
- Maven 私服你应该不陌生吧,可你会用 Artifactory 搭建吗?
- Spring Cloud Alibaba入门实战之nacos(一)
- binlog在并发状态下的记录
- mvc 页面上循环datatable
- Jmeter(二) - 从入门到精通 - 创建测试计划(Test Plan)(详解教程)
- 模板:JSP公共内容
- 【python爬虫】scrapy入门7:Scrapy中runspider和crawl的区别
- MongoDB全球云端技术盛会MongoDB.live
- 剑指Offer之矩形覆盖