Linux上搭建VSFTPD服务器的方法

作者 : 小优 本文共2921个字,预计阅读时间需要8分钟 发布时间: 2020-10-20 共1.06K人阅读
一般情况在各种linux的发行版中,默认带有的ftp软件是vsftp,从各个linux发行版对vsftp的认可可以看出,vsftp应该是一款不错的ftp软件。

1、检查安装vsftpd软件

使用如下命令#
rpm -qa | grep vsftpd
可以检测出是否安装了vsftpd软件,如果没有安装,使用YUM命令进行安装
yum install vsftpd -y

2、启动服务

使用vsftpd软件,主要包括如下几个命令:
service vsftpd start // 启动ftp命令
service vsftpd stop // 停止ftp命令
service vsftpd restart // 重启ftp命

3、创建虚拟宿主用户

useradd virtuser -s /sbin/nologin echo "123456" | passwd virtuser -stdin

4. 备份/etc/vsftpd/vsftpd.conf配置文件并将vsftpd.conf配置文件编辑内容如下

mv /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak
vim /etc/vsftpd/vsftpd.conf
# 是否允许匿名登陆
anonymous_enable=NO

# 是否允许本地用户登陆
local_enable=YES

# 是否具备写入权限
write_enable=NO

# 上传文件的权限掩码
local_umask=022

# 是否进行日志记录
xferlog_enable=YES
xferlog_std_format=YES
xferlog_file=/var/log/vsftpd.log

# FTP开启数据传输端口20
connect_from_port_20=YES

# 会话超时时间/秒
idle_session_timeout=600

# 数据传输连接超时时间
data_connection_timeout=120

# 是否允许进行异步传输
async_abor_enable=YES

# 请求欢迎信息
ftpd_banner=Welcome to blah FTP service.

# linux中FTP默认情况下允许用户从ftp主目录切换到linux系统的其他目录
# 可开启chroot_list_enable功能,通过列表文件,进行用户限制
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_deny

# 是否允许FTP用户使用"ls -R"命令,该命令会对系统造成较大的负担
ls_recurse_enable=NO

# 设定vsftpd服务工作在standalone模式,可理解为拥有自己的守护进程 
listen=YES

# 设定pam服务下的vsftpd验证配置文件名,pam验证配置文件位于/etc/pam.d/目录下
pam_service_name=vsftpd

# 是否启用userlist列表限制功能
userlist_enable=YES

# 是否支持TCPwrappers
tcp_wrappers=YES

# 是否进行反向域名解析
reverse_lookup_enable=NO

# 启用虚拟用户功能
guest_enable=YES

# 指定虚拟的宿主用户
guest_username=virtuser

# 虚拟用户权限符合它们的宿主用户
virtual_use_local_privs=YES

# 指定虚拟用户的配置文件目录
user_config_dir=/etc/vsftpd/vconf

5、 创建可供pam服务识别的虚拟账户文件(虚拟用户:test,密码:123456)

mkdir /etc/vsftpd/vconf
cd /etc/vsftpd/vconf/ 
echo -e "testn123456" > password 
db_load -T -t hash -f password{,.db}

 

6. 配置vsftpd的pam账户认证文件,加入下面两行账户认证配置(一定要加在文件内容的最上面)

vim /etc/pam.d/vsftpd
auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vconf/password
account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vconf/password

7. 创建共享目录并配置虚拟用户的个人配置文件(配置文件位于/etc/vsftpd/vconf/目录下,配置文件名称要和虚拟用户名一致)

mkdir /share
chown -R virtuser /share
vim /etc/vsftpd/vconf/test
#指定虚拟用户仓库的具路径
local_root=/share

#允许写的操作
write_enable=YES

#不允许下载操作
download_enable=NO

#设定并发客户端的访问数量
max_clients=20

#设定客户端的最大线程数
max_per_ip=10

#设定用户的最大传输速率,单位b/s
local_max_rate=102400

8. 创建测试文件,并启动vsftpd

echo "testfile" >>/share/abd.txt
chown -R virtuser /share
service vsftpd restart

9.补充说明

默认情况下,登录linux中ftp的用户拥有切换到linux系统其它目录的权限,可通过配置chroot_list_enable=YES进行限制
1、/etc/vsftpd/vsftpd.conf文件中配置如下内容
# linux中FTP默认情况下允许用户从ftp主目录切换到linux系统的其他目录 # 可开启chroot_list_enable功能,通过列表文件,进行用户限制 
chroot_list_enable=YES chroot_list_file=/etc/vsftpd/chroot_deny
2、 创建/etc/vsftpd/chroot_deny文件,把需要限制的用户名加入到文件中
echo "test" >>/etc/vsftpd/chroot_deny

3、把21加入到IPTABLES中,开放21端口

iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT
4. 报『服务器发回了不可路由的地址。被动模式失败』时,在配置文件中增加以下内容
vim /etc/vsftpd/vsftpd.conf
pasv_enable=YES
pasv_address=47.96.13.145
pasv_min_port=1700
pasv_max_port=1799

 >> 可能出现的问题

Q: 500 OOPS: vsftpd: both local and anonymous access disabled!
A: 出现这个错,需要修改配置:local_enable=YES

 

Q: 500 OOPS: vsftpd: refusing to run with writable root inside chroot()
A: 出现这个错,需要修改配置:allow_writeable_chroot=YES

资源下载说明

请使用百度网盘下载资源,请不要在线解压!

1.人民币与U币汇率为1比10,即1元=10U币.有任何疑问请联系客服处理!
2.请记住本站永久网址发布页:http://uuscw.com
3.本站资源大多存储在云盘,如发现链接失效请在下方评论留言,作者看到后会第一时间更新补链。
4.关于解压密码错误或者资源损坏,请查看解压教程:[必看]关于资源教程及常见问题
5.本站大部分资源解压密码均为: uuscw.com 如密码有误,请查看原帖的资源说明!

免责申明:
1.如果服务器暂不能下载请稍后重试!总是不能下载,请联系客服,谢谢合作!
2.本站所有资源(包括写真、模板、素材、软件、字体等)仅供学习与参考,请勿用于商业用途。
3.本站所有素材来源于用户上传和网络,如有侵权请请联系客服处理!
4.本站资源售价只是赞助,收取费用仅维持本站的日常运营所需。
博创云素材 » Linux上搭建VSFTPD服务器的方法

常见问题FAQ

免费下载或者VIP会员专享资源能否直接商用?
本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
提示下载完但解压或打开不了?
最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。 若排除这种情况,可在对应资源底部留言,或 联络我们。

发表评论