VSFTPD —— FTP服务搭建及其配置

在之前的文章中我们配置了本地的yum源,完成了对依赖关系的解决方法,本篇博客记录自己简单安装vsftpd(very secure FTP daemo 好笑的名字)从开始到复杂的配置记录。


11月25日

安装vsftpd,使用yum安装,之前已经安装并配置了yum 使用命令   yum install vsftpd 完成安装。或者使用rpm安装,rpm -ivh vsftpd,(在此之前我们可以先进行查看是否已经安装了vsftpd 服务,查看命令rpm -qa | grep  vsftpd 如果显示有安装的文件,则表明安装成功。)

启动进程之前我们需要关闭防火墙,这样,才能正常的登录,service iptables stop (如果想要对防火前进行开机就关闭,则执行命令service iptables off,在实验环境中可以这样做,但是在实际的工作环境中不建议这样做)

启动进程,执行命令service  vsftpd start(高大上:/etc/rc.d/init.d/vsftpd start),来启动服务器,这里介绍几个常用的对服务状态的命令:

  1. service vsftpd status (查看状态)
  2. service vsftpd stop (停止服务) 
  3. service vsftpd restart(重启服务)

进入vsftpd 的配置文件中,/etc/vsftpd/vsftpd.conf,文件中的每个目录的功能可以调整。

介绍简单的一个服务器的配置方法:(目的实现:用户能够上传文件,下载文件,创建文件夹)

write_enable=YES
anon_world_readabl_only=NO
anon_other_write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES

并建立上传的路径:(要注意这里只要在客户端进入能上传的目录下上传。)


11月26日

本以为已经掌握了vsftpd的基本配置,谁知,今天就发现了问题,在虚拟机中将系统挂起后重启,发现再次登录ftp服务器,可以登录到服务器上,但是,在对应的上传目录上,不能上传文件,错误代码如下:

200 port command successful 。Consider using PASV.

553 could not create file

错误分析:既然能够正常登录,说明iptables已经关闭,但是作为linux的另外的防火墙,seLinux默认却不会对此进行限制,但是,我们在root权限下使用命令

sestatus -b |grep ftp

却发现所有的有关于ftp的选项selinux都是默认关闭的,

allow_ftpd_anon_write     off
allow_ftpd_full_access     off
allow_ftpd_use_cifs          off
allow_ftpd_use_nfs            off
ftp_home_dir                     off
ftpd_connect_db                off
httpd_enable_ftp_server    off
tftp_anon_write                 off

这就需要我们开启一些功能,开启第一项setsebool

setsebool -P allow_ftpd_anon_write on

表明开启了允许匿名用户写的功能。这时我们查看selinux的状态,发现修改项边成on,重新启动vsftpd服务,

/etc/rc.d/init.d/vsftpd restart

重新连接服务器,匿名登录,进入能够上传的目录,put 文件,上传成功。

在重新尝试的过程中遇到的新的问题:途中自己以为是修改了上传目录的权限然后进行了目录权限的修改,自己修改了ftp文件夹的权限,使得权限为777,执行的结果如下:

500 oops :vsftpd :refusing  to run with writable anonymous root

500 oops :child died

文件夹的r权限是是否能进入文件夹,w权限是能否创建文件,执行权限没有用。

问题分析:由于匿名用户属于其他人用户组,所以文件夹对于其他人的权限为7,于是,在网上找了找,才知道,是分享目录权限的问题,vsftpd出于安全考虑对 /home/ftp是不允许没有限制的,这导致了上述错误的发生。

问题解决:修改文件夹的权限,chmod 775 (只要对文件夹的权限不设置为777,就可以)这样就能解决上述问题了。


12月7日

普通用户的上传以及下载,如果不加限制的话,是可以切换目录的,这样就使得普通用户可以访问根目录,或者修改其他信息,因此,我们设置了对普通用户的修改目录的权限,

#directory. Ifchroot_local_user is YES, then this list becomes alistof  usersto NOTchroot().
chroot_local_user=YES
chroot_list_enable=YES
#(default follows)
#chroot_list_file=/etc/vsftpd/chroot_list

说明:

  1. chroot_local_user=YES  开启后表示所有的本地用户只能在自己的宿主目录中。
  2. chroot_list_enable=YES    表明开启让部分用户可以在自己的宿主目录中,
  3. chroot_list_file =/......./...       指明了在文件中的用户是只在自己的宿主目录中的用户(本文件默认情况下是不存在的,需要自己建立才行)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值