第一范文网 - 专业文章范例文档资料分享平台

Linux下FTP服务器vsftp配置大全超完整版

来源:用户分享 时间:2025/5/31 10:04:40 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

功的(见图2),而且我们发现我们可以进入到系统根目录(见图3),这样很危险。

那么改配置文件吧,为了测试方便,我们先建立一个名为kill-loc的脚本,也是为了杀掉 FTP程序的 #!/bin/bash

$1}\\'` a=`/bin/ps -A | grep vsftpd-loc | awk \\'{print $a kill -9

现在提供我的本地用户验证服务器配置文件吧(在匿名里写过的注释我就不在这里写了)

listen=YES listen_port=21 tcp_wrappers=YES anonymous_enable=NO local_enable=YES write_enable=YES

local_umask=022 //本地用户文件上传后的权限是-rw-r-r anon_upload_enable=NO anon_mkdir_write_enable=NO dirmessage_enable=YES xferlog_enable=YES

xferlog_file=/var/log/vsftpd.log xferlog_std_format=YES connect_from_port_20=YES

chroot_local_user=YES //限制用户在自己的主目录

#local_root=/ftp //你可以指定所有本地用户登陆后的目录,如果不设置此项,用户都会 登陆于自己的主目录,就跟咱们前面测试的结果是一样的

local_max_rate=500000 //本地用户的下载速度为500KBytes/s

idle_session_timeout=600 data_connection_timeout=120

nopriv_user= nobody //设定服务执行者为nobody,vsftpd推荐使用一个权限很低的用户 ,最好是没有家目录(/dev/null),没有登陆shell(/sbin/nologin),系统会更安全 ftpd_banner=Welcome to d-1701.com FTP service. check_shell=NO

userlist_enable=YES userlist_deny=YES

userlist_file=/etc/vsftpd.denyuser

以上三条设定不允许登陆的用户,用户列表存放在/etc/vsftpd.denyuser中,一行一个帐号 如果我把xuchen这个用户加到vsftpd.denyuser里,那么登陆时会出现如下错误: # ftp 127.0.0.1

Connected to 127.0.0.1.

220 Welcome to d-1701.com FTP service. 530 Please login with USER and PASS. 530 Please login with USER and PASS.

KERBEROS_V4 rejected as an authentication type Name (127.0.0.1:root): xuchen 530 Permission denied. Login failed.

呵呵,有意思吧,自己测试吧,本地用户登陆方式就介绍到这里吧!

3、虚拟用户形式实现(db及mysql形式)

# cd /home/xuchen/vsftpd-2.0.3 //进入vsftpd-2.0.3的源代码目录 # make clean //清除编译环境

# vi builddefs.h \\\\\\\\继续编辑builddefs.h 文件,文件内容如下: #ifndef VSF_BUILDDEFS_H

#define VSF_BUILDDEFS_H

#define VSF_BUILD_TCPWRAPPERS #undef VSF_BUILD_PAM #define VSF_BUILD_SSL

#endif /* VSF_BUILDDEFS_H */

将以上define VSF_BUILD_PAM行的undef改为define,支持tcp_wrappers,支持PAM认证方 式,支持SSL,和匿名用户形式是一样的。

# make //直接在vsftpd-2.0.3里用make编译 # ls -l vsftpd

-rwxr-xr-x 1 root root 86088 Jun 6 22:26 vsftpd //可执行程序已被编译成功

创建必要的帐号,目录:

# useradd nobody //可能你的系统已经存在此帐号,那就不用建立

# mkdir /usr/share/empty //可能你的系统已经存在此目录,那就不用建立 # mkdir /var/ftp //可能你的系统已经存在此目录,那就不用建立

# useradd -d /var/ftp ftp //可能你的系统已经存在此帐号,那就不用建立 # chown root:root /var/ftp # chmod og-w /var/ftp

请记住,如果你不想让用户在本地登陆,那么你需要把他的登陆SHELL设置成/sbin/nolog in,比如以上的nobody和ftp我就设置成/sbin/nologin

安装vsftp配置文件,可执行程序,man等:

# install -m 755 vsftpd /usr/local/sbin/vsftpd-pam # install -m 644 vsftpd.8 /usr/share/man/man8 # install -m 644 vsftpd.conf.5 /usr/share/man/man5 # install -m 644 vsftpd.conf /etc/vsftpd-pam.conf 这样就安装完成了,那么我们开始进行简单的配置

对于用DB库存储用户名及密码的方式来说: (1)查看系统是否有相应软件包

# rpm –qa | grep db4 db4-devel-4.2.52-7.1 db4-4.2.52-7.1 db4-utils-4.2.52-7.1

(2)建立一个logins.txt的文件,单行为用户名,双行为密码,例如 # vi /home/logins.txt

xuchen 12345

(3)建立数据库文件并设置文件属性

# db_load -T -t hash -f /home/logins.txt /etc/vsftpd_login.db # chmod 600 /etc/vsftpd_login.db (4)建立认证文件

# vi /etc/pam.d/ftp 插入如下两行

auth required /lib/security/pam_userdb.so db=/etc/vsftpd_login account required /lib/security/pam_userdb.so db=/etc/vsftpd_login (5)建立一个虚拟用户

useradd -d /home/vsftpd -s /sbin/nologin vsftpd ls -ld /home/vsftpd

drwx------ 3 vsftpd vsftpd 1024 Jun 6 22:55 /home/vsftpd/ (6)编写配置文件(注意事项请参看匿名用户的配置,这里不再赘述) # vi /etc/vsftpd-pam.conf listen=YES listen_port=21

tcp_wrappers=YES //支持tcp_wrappers,限制访问(/etc/hosts.allow,/etc/hosts.deny)

Linux下FTP服务器vsftp配置大全超完整版.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c1wyx35846y5ap1c1l9g0_3.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top