vsftpd 安装与配置
下载安装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目录,重新连接即可
最新文章
- 杭电1008 Elevator
- restController与Controller-待续
- php yii框架使用MongoDb
- javaweb学习总结十五(web开发的相关概念以及常用服务器介绍)
- strstr函数与strcmp函数
- [RxJS] Error handling operator: catch
- windows对象的属性和方法
- java中Integer包装类的具体解说(java二进制操作,全部进制转换)
- iOS开发瀑布流的实现
- 兜转数年,老跳成了卖过软件开过店写过APP的电脑老师
- POPTEST老李分享session,cookie的安全性以及区别 1
- [LeetCode] 动态规划入门题目
- VMWare安装Ubuntu装完之后安装VMtools
- -bash: belts.awk: command not found
- ZOJ Problem Set - 3706
- CentOS Bash 命令补全增强软件包 bash-completion
- 三层结构、MVC的简介
- FileZilla客户端连接腾讯云FTP服务器时出现“227 Entering Passive Mode”
- 50个常用的Linux命令(三)基础实例
- strtotime 获取之前,之后时间
热门文章
- Python学习第二篇
- Mysql数据库触发器调用脚本
- python中变量、函数、类名、模块名等命名方式
- Innodb日志与事务
- 【学习总结】C-翁恺老师-入门-第3周<;循环>;
- #Leetcode# 985. Sum of Even Numbers After Queries
- Proper usage of Java -D command-line parameters
- 遍历List过程中删除操作报java.util.ConcurrentModificationException错误
- 工程下CmakeLists.txt
- Flutter路由管理