Linux安装及配置vsftpd

vsftpd(Very Secure FTP Daemon)是一款流行的Linux系统FTP服务器程序。下面讲解一下vsftpd的安装、配置及使用。
shell

1、vsftpd的安装服务器

一、使用 yum install vsftpd 安装ftp服务器程序app

[root@aliyun ~]# yum install vsftpd

二、使用 yum install ftp 安装ftp客户端程序tcp

[root@aliyun ~]# yum install ftp

三、启动 vsftpdide

[root@aliyun ~]# service vsftpd start

四、使用 ftp 客户端链接登录 vsftpd 服务器
测试

[root@aliyun ~]# ftp
ftp > open localhost
Name (localhost:root): anonymous
Password:
230 Login successful
ftp > ls
drwxr-xr-x 2 0 0 4096 Nov 20 19:22 pub

注:
spa

1)安装 vsftpd 时默认容许匿名登录,因此在使用客户端链接到 vsftpd 服务器时,能够使用登录名为 ftp 或 anonymous,口令为空的方式登录。rest

2)匿名用户不能离开匿名用户的家目录 /var/ftp/pub,且只能下载,不能上传日志

3)若是使用service vsftpd start没法启动 vsftpd 服务的话,能够使用 /etc/rc.d/init.d/vsftpd start 来启动code


2、vsftpd的配置

一、默认配置详解

# 容许匿名用户登录,登录时登录名为 ftp 或 anonymous,口令为空
anonymous_enable=YES
# 容许本地用户登录,登录名为本地用户名,口令为本地用户的口令
local_enable=YES
# 容许本地用户写拥有FTP服务器文件的写权限
write_enable=YES
# 本地用户的文件默认掩码022,文件的默认最大权限为666,也就是上传文件的默认权限为644
local_umask=022
# 激活目录的欢迎信息功能
dirmessage_enable=YES
# 启用上传和下载日志功能,该日志文件默认的存放位置为 /var/log/xferlog
xferlog_enable=YES
# 指定FTP使用20端口进行数据传输(默认FTP工做模式为被动模式,也就是PASV FTP,服务器将使用20端口与客户端进行数据传输)
connect_from_port_20=YES
# 启用xferlog的标准格式输出
xferlog_std_format=YES
# 设置vsftpd服务器不以standalone模式运行
listen=NO
# 支持ipv6
listen_ipv6=YES
# 设置PAM使用的名称,默认值为 /etc/pam.d/vsftpd
pam_service_name=vsftpd
# 启动user_list文件(该选项需与userlist_deny选项配合使用,userlist_deny默认为YES,也就是说默认请况下user_list表中的用户将被阻止登录ftp服务器)
userlist_enable=YES
# 设置vsftpd与tcp wrapper组合来进行访问控制,YES的状况下,vsftpd将检查/etc/hosts.allow以及/etc/hosts.deny中的设置,来进行主机的访问控制
tcp_wrappers=YES

注:

1)在默认的配置中,咱们能够看到,/etc/vsftpd/user_list文件中的用户是没法访问vsftpd服务器的,另外须要特别注意的是 /etc/vsftpd/ftpusers文件中的用户也是没法访问vsftpd服务器的,至于为什么要分两个文件,由于user_list指定的是本地用户,而ftpusers指定的是虚拟用户。


3、vsftpd的本地测试用户

一、添加本地ftp测试用户 ftptest,并将该测试用户的家目录设置为 /home/ftptest

[root@aliyun ~]# useradd -d /home/ftptest ftptest

二、为ftptest用户设置密码

[root@aliyun ~]# passwd ftptest

三、限制ftptest使用telnet登录

[root@aliyun ~]# usermod -s /sbin/nologin ftptest


4、限制本地测试用户只能访问家目录

在 /etc/vsftpd/vsftpd.conf 配置文件中添加以下信息:

# 限制指定用户只能访问家目录
chroot_list_enable=YES
# 设置受限制的用户配置文件
chroot_list_file=/etc/vsftpd/chroot_list

新建 chroot_list 文件,并将受限制的用户添加进去

[root@aliyun vsfptd]# touch chroot_list
[root@aliyun vsftpd]# echo ftptest >> chroot_list

设置成功后,重启 vsftpd

[root@aliyun vsftpd]# service vsftpd restart

注:

1)当咱们限制用户不能跳出其家目录以后,使用该用户登录FTP时会报错:

500 OOPS: vsftpd: refusing to run with writable root inside chroot()

缘由是由于,若是该用户被限制在其家目录下,则该用户对家目录不能再拥有写权限,修复这个错误,能够使用

[root@aliyun ~]# chmod 500 /home/ftptest

来去掉ftptest对家目录的写权限,这时可能有人会问,去掉了写权限,那ftptest用户该怎么使用ftp来上传文件呢?其实能够经过在ftptest家目录下新建文件夹,再将文件上传到家目录的子目录下便可

固然还有一种解决方式是在vsftpd.conf中添加一行:

allow_writeable_chroot=YES
相关文章
相关标签/搜索