服务器端需要的包:vsftpd

掌管FTP的“三把锁”:目录权限,SELinux,配置文件(/etc/vsftpd/vsftpd.conf)

通常不用root用户登录ftp,需要建立一个ftpadmin账户来管理ftp服务器。需要将ftpadmin账户的主目录改为:/var/ftp,然后更改/var/ftp/pub的所有者为ftpadmin。

可以建立一个incoming的目录来供匿名者上传文件,incoming目录权限设置为777。通常情况下最好不要让匿名者上传文件,有可能造成严重后果!

SELinux的一些注意事项:

配置文件:/etc/selinux/config

一些SELinux的选项对vsftpd服务有很多限制,例如:

普通账号不能登录到主目录,匿名者不可上传等。

获得关于vsftpd的SELinux选项信息:

getsebool -a | grep ftp

设置选项:

       setsebool -P ftpd_disable_trans on(1) ,即解除关于ftp服务的SELinux的所有限制。

        P为永久生效的意思,permanent

配置选项:(/etc/vsftpd/vsftpd.conf)

(1)anonymous_enable:默认YES

         是否允许匿名用户登录

(2)local_enable:默认YES

          是否支持系统账户

(3)write_enable:默认YES

          是否支持系统用户上传

(4)local_umask:默认022

          系统用户上传文件或目录的掩码,即确定默认权限

(5)anon_umask:默认077

           +配置文件中无该项,若需设置,必须手工添加。

           匿名用户上传默认掩码,一般设置为022

(6)anon_upload_enable:默认NO

          是否支持匿名上传

(7)anon_mkdir_enable:默认NO

           是否允许匿名用户上传文件夹

(8)anon_other_write_enable:默认NO

          是否允许匿名用户对上传目录中的文件进行改名或删除

(9)no_anon_password:默认NO

           当设置为YES时,表示不需要为anonymous输入任何密码,可直接进入

(10)dirmessage_enable:默认YES

           表示使用者进入摸个目录时,会提示信息,显示内容的预设文件时.message

(11)message_file:默认.message

          例如:message_file=/var/ftp/.message,(10)会调用(11)的内容

(12)data_connection_timeout:

          如果服务器与客户端数据连接已完成,但可能由于线路的问题导致规定时间内(秒)无法顺利完成数据的传送,那么客户端就会被vsftpd强制断开

(13)idle_session_timeout:

          如果使用者在规定时间内(秒)没有任何命令动作,则强制与服务器断开

(14)ftpd_banner:

          当登录FTP时,会显示欢迎蚊子/说明

(15)banner_file:

          制定某个纯文本文档作为显示内容

(16)listen:默认YES

           表示以standalone的方式启动

(17)listen_port:

            +配置文件无该项,需要手工添加

(18)max_clients:

           +配置文件无该项,需要手工添加

           最大客户机数量,默认无限制

(19)local_max_rate:

            +配置文件无该项,需要手工添加

            系统账户最大下载速率(单位:字节)

(20)anon_max_rate:

            同(19)

(21)max_per_ip:

           +配置文件无该项,需要手工添加

           每个IP最大下载进程数,控制连接IP数

有关安全的一些重要选项:

(1)vsftpd的日志功能

               (A)xferlog_enable:默认YES

             (B)xferlog_file:日志文件一般建立在/var/log下

            (C)xferlog_std_format:默认YES

                        与wu-ftp相同的记录格式

(2)chroot:避免使用者进入到别的目录区,将工作范围局限在自己的主目录下。

注:匿名账户被chroot到/var/ftp

chroot的配置:

         (a)chroot_local_user:预设为NO

          (b)chroot_list_enable:预设为NO

          (c)chroot_list_file:一行一个账号

     若a为yes,b为no,系统账户都被chroot,与chroot_list_file内容无关;

     若a为no,b为yes,则未被写入chroot_list_file的账户没被chroot,写入chroot_list_file的账则被chroot

     若a为yes,b为yes,则所有的系统账户都被chroot,只有被写入chroot_list_file的系统账户,未被chroot

 

(3)tcp_wrappers默认YES,即ftp支持tcp_wrappers,可通过/etc/hosts.deny和/etc/hosts.allow设置访问范围。

 

(4)PAM    ---Pluggable Authentication Module(可插拔验证模块)

         (简写)

         /etc/vsftpd/ftpusers的名单,控制是否可以访问ftp。绝大部分系统文件管理账户放在这里,这类账号不允许访问ftp。

(5)基于userlist的用户登入限制

         类似于/etc/vsftpd/ftpusers,也是记录着不可登入的用户

         这个文件功能会一句/etc/vsftpd/vsftpd.conf配置文件内的userlist_deny=YES或NO而不同!!

userlist试验总结:

         userlist_deny=YES
         userlist_enable=YES
         userlist中的用户无法登录

         userlist_deny=NO
         userlist_enable=YES
        只有userlist中的用户可以登录

 

vsftp现总结这些,会不断改进手敲累死了FTP服务器简易配置_用户登录

以后会研究一下“百度”的FTP服务~ftppro,好像叫这个哦