详解ftp环境配置解决方案(vsftpd)

时间:2022-06-01 19:37:20

1、 安装vsftpd组件

安装命令:[root@ink4t ~]# sudo apt-get install vsftpd

安装完后,有/etc/vsftpd/vsftpd.conf 文件,是vsftp的配置文件。

2、 添加一个ftp用户

此用户就是用来登录ftp服务器用的。 

[root@ink4t ~]# useradd ftpuser 

这样一个用户建完,可以用这个登录,记得用普通登录不要用匿名了。登录后默认的路径为 /home/ftpuser

3、 给ftp用户添加密码

[root@ink4t ~]# passwd ftpuser

输入两次密码后修改密码。

4、 防火墙开启21端口

因为ftp默认的端口为21,而centos默认是没有开启的,所以要修改iptables文件 

[root@ink4t ~]# vi /etc/sysconfig/iptables 

在行上面有22 -j ACCEPT 下面另起一行输入跟那行差不多的,只是把22换成21,然后:wq保存。

还要运行下,重启iptables 

[root@ink4t ~]# service iptables restart

5、 修改配置文件vsftpd.conf

允许匿名用户访问,并且对匿名用户的目录进行限制,限制到/home/ftpuser

anonymous_enable=YES 
anon_root=/home/ftpuser

这里特别说明,/home/ftp目录,不能有w权限,这是一个只读的目录,否者会报错。修改权限可以使用

sudo chmod a-w /home/ftpuser

本地用户能够访问,且拥有写的权限

local_enable=YES 
write_enable=YES

本地用户登录后限制在自己的主目录下,同时通过文件/etc/vsftpd.chroot_list来指定不用限制目录的用户(比如我们的user1不用限制目录,所以要在该文件下写上user1),同时允许用户对自己的主目录进行修改。

chroot_local_user=YES 
chroot_list_enable=YES 
chroot_list_file=/etc/vsftpd.chroot_list 
allow_writeable_chroot=YES

启用用户列表,不在列表中的用户禁止登陆(所以我们要在etc/allowed_users中写上user1,user2,anonymous,ftp,其中最后两个都表示匿名登录)

user_list_enable=YES 
user_list_deny=NO 
userlist_file=/etc/allowed_users

这个是经验项,配置了据说可以避免一些错误,参考文献中有介绍。

seccomp_sandbox=NO

到此,还注意到,里面涉及到了两个文件,一个是/etc/vsftpd.chroot_list,一个是/etc/allowed_users,我们保存了之后需要自己手动创建这两个文件,

sudo touch /etc/vsftpd.chroot_list 
sudo touch /etc/allowed_users

然后在/etc/vsftpd.chroot_list中的用户不被限制目录,这个例子中我们要写入user1,/etc/allowed_users中要写入允许访问服务器的用户,这里就是user1,user2,还有匿名用户anonymous,ftpuser,注意写的时候每行只写一个用户名。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。