下载安装vsftpd服务,db4用来支持文件数据库
yum install -y vsftpd db4-utils ftp
 建立宿主用户 vsftpd
useradd -s /sbin/nologin -M vsftpd
useradd -s /sbin/nologin -M www
编辑 vsftpd 配置文件
vim /etc/vsftpd/vsftpd.conf

anonymous_enable=NO
listen_port=
local_enable=YES
write_enable=YES
local_umask=
dirmessage_enable=YES
xferlog_enable=YES
xferlog_file=/var/log/xferlog
dual_log_enable=YES
vsftpd_log_file=/var/log/vsftpd.log
connect_from_port_20=YES
chown_uploads=NO
xferlog_std_format=YES
idle_session_timeout=
data_connection_timeout=
allow_writeable_chroot=yes
chroot_local_user=YES
listen=YES
tcp_wrappers=YES
userlist_enable=YES
user_config_dir=/etc/vsftpd/user.d
ascii_upload_enable=YES
ascii_download_enable=YES
check_shell=NO
pasv_addr_resolve=YES
pasv_enable=YES
pasv_min_port=
pasv_max_port=
pam_service_name=virtusers
virtual_use_local_privs=YES
guest_enable=YES
guest_username=www

vsftpd.conf

建立用户配置文件目录
mkdir /etc/vsftpd/user.d
设定 PAM 验证文件,并指定虚拟用户数据文件读取,原vsftpd不变
vim /etc/pam.d/virtusers
#PAM-1.0
auth required pam_userdb.so db=/etc/vsftpd/virtusers
account required pam_userdb.so db=/etc/vsftpd/virtusers
session required pam_loginuid.so
创建虚拟用户
touch /etc/vsftpd/virtusers.txt
添加可访问的用户和密码,一行一用户,一行一密码
echo -e 'user1\n123456' >> /etc/vsftpd/virtusers.txt
db_load -T -t hash -f /etc/vsftpd/virtusers.txt /etc/vsftpd/virtusers.db
chmod 700 /etc/vsftpd/virtusers.db
规划好虚拟用户的主路径
mkdir -p /data/vsftpd
建立测试用户的FTP主目录
mkdir -p /data/vsftpd/user1
定制测试用户的配置文件
vim /etc/vsftpd/user.d/user1
添加:
local_root=/data/vsftpd/user1
write_enable=YES
anon_world_readable_only=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
目录赋权
chown -R www:www /data/vsftpd/
重启
centos6:service vsftpd restart
centos7:systemctl restart vsftpd
创建新用户
echo -e 'user2\n123456' >> /etc/vsftpd/virtusers.txt
db_load -T -t hash -f /etc/vsftpd/virtusers.txt /etc/vsftpd/virtusers.db
chmod 700 /etc/vsftpd/virtusers.db
mkdir -p /etc/vsftpd/user.d/user2
vim /etc/vsftpd/user.d/user2
添加:
local_root=/data/vsftpd/user2
write_enable=YES
anon_world_readable_only=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
故障处理
若出现500错误

创建/home/www目录,重新连接即可

 

最新文章

  1. 杭电1008 Elevator
  2. restController与Controller-待续
  3. php yii框架使用MongoDb
  4. javaweb学习总结十五(web开发的相关概念以及常用服务器介绍)
  5. strstr函数与strcmp函数
  6. [RxJS] Error handling operator: catch
  7. windows对象的属性和方法
  8. java中Integer包装类的具体解说(java二进制操作,全部进制转换)
  9. iOS开发瀑布流的实现
  10. 兜转数年,老跳成了卖过软件开过店写过APP的电脑老师
  11. POPTEST老李分享session,cookie的安全性以及区别 1
  12. [LeetCode] 动态规划入门题目
  13. VMWare安装Ubuntu装完之后安装VMtools
  14. -bash: belts.awk: command not found
  15. ZOJ Problem Set - 3706
  16. CentOS Bash 命令补全增强软件包 bash-completion
  17. 三层结构、MVC的简介
  18. FileZilla客户端连接腾讯云FTP服务器时出现“227 Entering Passive Mode”
  19. 50个常用的Linux命令(三)基础实例
  20. strtotime 获取之前,之后时间

热门文章

  1. Python学习第二篇
  2. Mysql数据库触发器调用脚本
  3. python中变量、函数、类名、模块名等命名方式
  4. Innodb日志与事务
  5. 【学习总结】C-翁恺老师-入门-第3周<循环>
  6. #Leetcode# 985. Sum of Even Numbers After Queries
  7. Proper usage of Java -D command-line parameters
  8. 遍历List过程中删除操作报java.util.ConcurrentModificationException错误
  9. 工程下CmakeLists.txt
  10. Flutter路由管理