VSFTP配置参考

仅供参考。不同的版本配置可能不同。

vsftpd推荐配置:

关于用户:

userlist_enable=YES

userlist_deny=NO

userlist_file=/etc/vsftpd.user_list

echo "需要使用ftp的用户" > /etc/vsftpd.user_list,其余用户不可以访问

关于切换目录:

chroot_list_enable=YES

chroot_local_user=YES 

chroot_list_file=/etc/vsftpd.chroot_list

echo "允许自由切换目录的ftp的用户" > /etc/vsftpd.chroot_list,其余用户不可以自由切换目录

vsftpd 2.3.5 以上版本许添加配置:

allow_writeable_chroot=YES

root@DCPMS:/etc#grep -v "^#" vsftpd.conf | grep -v "^$"  ——SUSE FTP配置文件

write_enable=YES                   ——允许FTP用户上传、下载、删除文件

dirmessage_enable=YES        ——启用欢迎语

nopriv_user=ftpsecure——运行VSFTPD需要的非特权账户,默认是nobody

local_enable=YES——启用本地账户

local_umask=022——FTP上传(创建)文件掩码

chroot_local_user=YES——允许FTP用户(列表中)切换到家目录外

chroot_list_enable=NO——禁用切换列表

anonymous_enable=NO——禁用匿名账户

syslog_enable=NO——是否启用自定义日志文件,原默认日志文件/var/log/vsftpd.log

listen=YES——VSFTPD以独立模式运行,不受xinited管制

1.默认配置:

1>允许匿名用户和本地用户登陆。

anonymous_enable=YES

local_enable=YES

2>匿名用户使用的登陆名为ftp或anonymous,口令为空;匿名用户不能离开匿名用户家目录/var/ftp,且只能下载不能上传。

3>本地用户的登录名为本地用户名,口令为此本地用户的口令;本地用户可以在自己家目录中进行读写操作;本地用户可以离开自家目录切换至有权限访问的其他目录,并在权限允许的情况下进行上传/下载。

write_enable=YES

4>写在文件/etc/vsftpd.ftpusers中的本地用户禁止登陆。

2、目录切换控制

①当chroot_list_enable=YES,chroot_local_user=YES时,在/etc/vsftpd.chroot_list文件中列出的用户,可以切换到其他目录;未在文件中列出的用户,不能切换到其他目录。

②当chroot_list_enable=YES,chroot_local_user=NO时,在/etc/vsftpd.chroot_list文件中列出的用户,不能切换到其他目录;未在文件中列出的用户,可以切换到其他目录。

③当chroot_list_enable=NO,chroot_local_user=YES时,所有的用户均不能切换到其他目录。

④当chroot_list_enable=NO,chroot_local_user=NO时,所有的用户均可以切换到其他目录。

3、访问控制设置

两种控制方式:一种控制主机访问,另一种控制用户访问。

①控制主机访问:

tcp_wrappers=YES/NO(YES)

设置vsftpd是否与tcp wrapper相结合来进行主机的访问控制。默认值为YES。如果启用,则vsftpd服务器会检查/etc/hosts.allow 和/etc/hosts.deny 中的设置,来决定请求连接的主机,是否允许访问该FTP服务器。这两个文件可以起到简易的防火墙功能。

比如:若要仅允许192.168.0.1—192.168.0.254的用户可以连接FTP服务器,则在/etc/hosts.allow文件中添加以下内容:

vsftpd:192.168.0. :allow

all:all :deny

②控制用户访问:

对于用户的访问控制可以通过/etc目录下的vsftpd.user_list和ftpusers文件来实现。

userlist_file=/etc/vsftpd.user_list

控制用户访问FTP的文件,里面写着用户名称。一个用户名称一行。

userlist_enable=YES/NO(NO)

是否启用vsftpd.user_list文件。

userlist_deny=YES/NO(YES)

决定vsftpd.user_list文件中的用户是否能够访问FTP服务器。若设置为YES,则vsftpd.user_list文件中的用户不允许访问FTP,若设置为NO,则只有vsftpd.user_list文件中的用户才能访问FTP。

/etc /vsftpd/ftpusers文件专门用于定义不允许访问FTP服务器的用户列表(注意:如果 userlist_enable=YES,userlist_deny=NO,此时如果在vsftpd.user_list和ftpusers中都有某个 用户时,那么这个用户是不能够访问FTP的,即ftpusers的优先级要高)。默认情况下vsftpd.user_list和ftpusers,这两个 文件已经预设置了一些不允许访问FTP服务器的系统内部账户。如果系统没有这两个文件,那么新建这两个文件,将用户添加进去即可。

推荐配置:

userlist_enable=YES

userlist_deny=NO

userlist_file=/etc/vsftpd.user_list

echo "需要使用ftp的用户" > /etc/vsftpd.user_list,其余用户不可以访问

4、虚拟用户设置

虚拟用户使用PAM认证方式。

pam_service_name=vsftpd

设置PAM使用的名称,默认值为/etc/pam.d/vsftpd。

guest_enable= YES/NO(NO)

启用虚拟用户。默认值为NO。

guest_username=ftp

这里用来映射虚拟用户。默认值为ftp。

virtual_use_local_privs=YES/NO(NO)

当该参数激活(YES)时,虚拟用户使用与本地用户相同的权限。当此参数关闭(NO)时,虚拟用户使用与匿名用户相同的权限。默认情况下此参数是关闭的(NO)。

原文地址:https://www.cnblogs.com/smallfishy/p/12917750.html