搭建vsftpd文件服务器并创建虚拟用户
2024-08-26 07:42:24
一、安装
1. 查看是否安装vsftpd
rpm -qa | grep vsftpd
2. 安装
yum -y install vsftpd
3. 设置开机启用
ckconfig vsftpd on
二、配置vsftpd
打开vsftpd配置文件
# vi /etc/vsftpd/vftpd.conf
#设定不允许匿名访问
anonymous_enable=NO
#设定本地用户可以访问。注:如使用虚拟宿主用户,在该项目设定为NO的情况下所有虚拟用户将无法访问
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
#记录上传下载文件的日志
xferlog_enable=YES
connect_from_port_20=YES
chown_uploads=YES
chown_username=ftp
#日志记录文件位置
xferlog_file=/var/log/vsftpd.log
#格式化日志
xferlog_std_format=YES
#设定支持ASCII模式的上传和下载功能
ascii_upload_enable=YES
ascii_download_enable=YES
//使用户不能离开主目录
chroot_list_enable=YES
#chroot_list_file=/etc/vsftpd/chroot_list
ls_recurse_enable=YES
#监听IPv4 sockets
listen=YES
#注释IPv6 sockets监听
#listen_ipv6=YES
#PAM认证文件名。PAM将根据/etc/pam.d/vsftpd进行认证 //已下三个请在配置文件中手动添加
pam_service_name=vsftpd
userlist_enable=YES
userlist_deny=YES
#/etc/vsftpd/user_list中的用户禁止登录ftp
#如果只配置userlist_enable=YES,有可能出现错误 “530 Permission denied”,因此加上如下配置
userlist_file=/etc/vsftpd/user_list
tcp_wrappers=YES
#设定启用虚拟用户功能
guest_enable=YES
//指定虚拟用户的宿主用户,CentOS中已经有内置的ftp用户了
guest_username=ftp
#设定虚拟用户个人vsftp的CentOS FTP服务文件存放路径。存放虚拟用户个性的CentOS FTP服务文件(配置文件名=虚拟用户名)
user_config_dir=/etc/vsftpd/vuser_conf
pasv_min_port=61001 (被动模式开放端口)
pasv_max_port=62000
#文件上传下载权限设置
allow_writeable_chroot=YES
anon_umask=022
file_open_mode=777
#虚拟用户和本地用户有相同的权限
virtual_use_local_privs=YES
三、创建chroot list,将vftpd.conf配置文件中的guest_username加入其中:
# touch /etc/vsftpd/chroot_list
# echo ftp >> /etc/vsftpd/chroot_list
四、创建用户密码文件
# touch /etc/vsftpd/vuser_passwd.txt
##注意奇行是用户名,偶行是密码
test
111222
五、生成虚拟用户认证的db文件
如果没有db4需要先进行安装。安装Berkeley DB工具:
# yum install db4 db4-utils
生成虚拟用户认证的db文件:
# db_load -T -t hash -f /etc/vsftpd/vuser_passwd.txt /etc/vsftpd/vuser_passwd.db
六、编辑认证文件:
# vi /etc/pam.d/vsftpd
全部注释掉原来语句再增加以下两句:
##查看系统版本号
# getconf LONG_BIT
#系统为32位的
auth required pam_userdb.so db=/etc/vsftpd/vuser_passwd
account required pam_userdb.so db=/etc/vsftpd/vuser_passwd
#系统为64位的
auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser_passwd
account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser_passwd
七、创建虚拟用户配置文件
# mkdir /etc/vsftpd/vuser_conf/
#文件名等于vuser_passwd.txt里面的账户名,否则下面设置无效
# vi /etc/vsftpd/vuser_conf/test
##内容如下:
#虚拟用户根目录,根据实际情况修改(如果没有需要创建)。该目录必须要有读写权限 chmod -R 777 目录。
local_root=/var/ftp/upload
#可写
write_enable=YES
#掩码
anon_umask=022
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
八、设置防火墙
打开防火墙设置:
# vi /etc/sysconfig/iptables
注释其他,新加如下
# -A INPUT –m state --state NEW –m tcp –p tcp –dport 22 –j ACCEPT
# -A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
# -A INPUT -m state --state NEW -m tcp -p tcp --dport 10060:10090 -j ACCEPT (被动模式开放端口)
然后保存,并关闭该文件,在终端内运行下面的命令,刷新防火墙配置:
# systemctl restart firewalld.service
转载于:https://www.cnblogs.com/caibaofei/p/9149366.html
最新文章
- SQL Server Management Studio 2012 设置脚本默认保存路径
- uva133-S.B.S.
- 【POJ】2653 Pick-up sticks(计算几何基础+暴力)
- poj2912 带权并查集
- 教你用Cocosdx导出安卓安装文件(.apk)(一)
- HDU 2639 Bone Collector II(01背包变型)
- CSS基础-引入方法,选择器,继承
- PHP - 防止 XSS(跨站脚本攻击)
- c# base和this在构造函数中的应用
- 纯css实现横向下拉菜单
- Response.Write输出导致页面变形和页面白屏解决办法
- VM下安装Windows 2008 R2服务器操作系统
- SystemUI中设置横竖屏显示
- Java获取文件Content-Type的四种方法
- FC磁盘设备管理
- C++中const关键字的使用方法,烦透了一遍一遍的搜,总结一下,加深印象!!!
- 紧接着上篇文章,实现类一个是标准的FIFO,一个是出队在头部入队不一定追加到末尾
- python中赋值-浅拷贝-深拷贝之间的关系
- SQL Manager Lite可视化工具部分中英对照
- MySql(十七):MySql架构设计——高可用设计之思路及方案
热门文章
- PHP常用设计模式,PHP常用设计模式详解,PHP详解设计模式,PHP设计模式
- RedHat 6.5 上将系统语言修改为中文
- cookie、session、csrf
- Boyer-Moore字符串搜索(BM算法)的Python实现
- 3分钟掌握Quartz.net分布式定时任务的姿势
- 运用JAVA的concurrent.ExecutorService线程池实现socket的TCP和UDP连接
- NCTF2019 小部分题解
- jmeter5.1.1 生成html报告
- 【考试总结】欢乐模拟赛_Day1
- SpringBoot与单元测试JUnit的结合