FTP

1.禁止/etc/vsftpd/user_list中的列出的用户登入ftp
(1)在配置文件中添加
    userlist_enable=YES
    userlist_deny=YES
(2)如果把配置改成
    userlist_enable=YES
    userlist_deny=NO
   这时候,只有把用户添加到/etc/vsftpd/user_list中才可以登入!

2.不允许所有的用户切换到根目录以外的目录
(1)在配置文件中修改
    userlist_enable=NO

3.仅对部分目录添加限制,不允许其切换目录。
(1)chroot_list_enable=YES
   chroot_list_file=/etc/vsftpd/vsftpd.chroot_list
(2)vim /etc/vsftpd/vsftpd.chroot_list
       abc
   只是abc用户就不能切换目录了!
3-1
(1)将配置改成
    chroot_local_user=YES
    chroot_list_enable=YES
    chroot_list_file=/etc/vsftpd/vsftpd.chroot_list
(2)vim /etc/vsftpd/vsftpd.chroot_list
       abc
   这时候,只有abc用户才可以切换目录!

4.匿名用户的登入
  让匿名用户可以上传文件到------》upload文件里面。
(1)修改主配置文件
   write_enable=YES
   anon_upload_enable=YES

(2)cd /var/ftp
   mkdir upload
   chown ftp.ftp upload/
(3)此时用户可以上传文件,但不能删除文件
   如果想要
   anon_other_write_enable=YES
(4)但是不能创建子目录
   如果想要
   添加:
   anon_mkdir_wirte_enable=YES

5.虚拟用户登入!
(1)rpm -ivh vsftpd--------
(2)cd
   vim vu_list.txt
       haha
       123
       lala
       123
(3)db_load -T -t hash -f vu_list.txt /etc/vsftpd/vu_list.db
(4)chmod 600 /etc/vsftpd/vu_list.db
(5)vim /etc/pam.d/vsftpd.vu
        auth      required    /lib/security/pam_userdb.so db=/etc/vsftpd/vu_list
        account   required    /lib/security/pam_userdb.so db=/etc/vsftpd/vu_list
(6)useradd -d /home/ftpsite ftpuser
(7)修改主配置文件
   pam_service_name=vsftpd.vu
   guest_enable=YES
   guest_username=ftpuser
(8)重启ftp
   发现本地用户不可以登入,但是虚拟用户可以登入!
5-2
   对虚拟用户设置不同的权限
(1)修改主配置文件
   在原有的基础上添加
   user_config_dir=/etc/vsftpd_vu
(2)mkdir /etc/vsftpd_vu
   cd /etc/vsftpd_vu
   vim haha
   anon_world_readable_only=NO(表示可以浏览和下载ftp目录中的文件)
   anon_upload_enable=YES     (表示用户可以上传文件)
   anon_mkdir_write_enable=YES(表示用户具有建立和删除目录的权力)
   anon_other_write_enable=YES(表示用户具有文件改名和删除文件的权限)
   
   vim lala
   anon_world_readable_only=YES
   anon_upload_enable=NO
   anon_mkdir_write_enable=NO
   anon_other_write_enable=NO
   这个时候haha可以创建、删除文件
   lala不可以!
(3)服务 restart

6 虚拟ftp服务器
(1)ifconfig eth0:0 192.168.1.11
(2)service network restart
(3)useradd -d /var/ftp2 ftp2
(4)修改配置文件
   添加:
   listen_address=192.168.1.10
   
(5)cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd2.conf
   vim vsftpd2.conf
       pam_service_name=vsftpd
       listen_address=192.168.1.11
       ftp_username=ftp2
(6)/etc/init.d/vsftpd restart




1.>在vsftpd.conf文件最后一行有一条指令:
TCP_wrappers=YES,表示vsftpd服务器与TCP wrappers相结合,进行主机的访问控制。
这样客户机在访问vsftpd服务器时,
服务器会检查/etc/hosts.allow和/etc/hosts.deny中的设置以决定请求连接的主机是否允许连接到服务器。
具体设置如下:
想要拒绝某个IP访问此服务器,可以在/etc/hosts.deny文件中加入
vsftpd:192.168.0.18:deny
all:all:allow
想要允许某个IP段访问此服务器,可以在/etc/hosts.allow文件中加入
vsftpd:192.168.0:allow
all:all:deny
2.>访问速度的限制
在vsftpd.conf文件最后一行加入anon_max_rate= (单位B),这样匿名用户在下载或上传文件是最大速度为设置的值。同理想要对本地用户进行设置,只要加入local_max_rate= (单位B)即可完成对本地用户的速度限制。
3.>线程数的限制
在vsftpd.conf文件中加入max_per_ip= (0表示不限制),可以防止一些人使用多线程下载资源,占用服务器的带宽、资源。
4.>最大客户连接限制
在vsftpd.conf文件中加入max_clients= (0表示不限制),可以防止因客户连接数过多而导致服务器内存占满,死机。当客户机数超过服务器所设置的最大值时.
5.>设置用户登陆的主目录
默认情况下用匿名用户登陆ftp服务器后会进入/var/ftp目录,而本地用户登陆服务器后进入/home下的用户主目录中。
我们可以vsftpd.conf文件中加入local_root=/web,这样在使用本地用户登陆ftp服务器后自动进入/web目录中


no_anon_password=YES|NO  
为NO登录时询问密码,默认NO  
xferlog_enable=YES|NO  
是否开启日志  
xferlog_file=[path]  
后接日志路径  
xferlog_sth_format=YES|NO  
日志是否是使用标准模式  
listen=YES|NO  
服务是否为单独模式  
guest_enable=YES|NO  
是否guest用户登录  
guest_username=[name]  
后接guest需要映射到的用户名  
listen_port=21  
配置服务监听的端口(单独模式下的配置方法),默认21  
listen_address=192.168.0.1  
配置服务监听的IP(单独模式下的配置方法),如果机器只有一张网卡的话可以不用配置  
chroot_list_enable=YES|NO  
若开启此选项则需要一个文件来列出需要受限制的本地用户  
chroot_local_user=YES|NO  
当chroot_list_enable开启时才生效,当为YES的时候文件中是不受限制的用户  
chroot_list_file=[path]  
用来设置刚刚所说的文件路径  
userlist_enable=YES|NO  
如果本服务打开,则userlist_file指向的文件中的用户将不可登陆,并检查userlist_deny如果为YES不接受文件中用户的登录请求,如何为NO那么就只有文件中用户可以登录  
user_config_dir=[path]  
配置虚拟用户时有用,用于指定用户配置的文件夹  
virtual_use_local_privs=YES|NO  
如果开启那么虚拟用户将用户本地用户的权限,默认NO  
pam_service_name=vsftpd  
pam服务的名字  


(3):用户限制类  
anon_max_rate=[num]  
匿名用户的最大数据传输速率单位B/s,默认0无限制  
data_connection_timeout=[num]  
空闲的连接的允许时长,单位秒,如果超过则断开,默认300  
local_max_rate=[num]  ``
本地用户的最大数据传输速率单位B/s,默认0无限制  
max_clients=[num]  
最大客户连接数,默认0无限制  
max_per_ip=[num]  
同一网络地址的最大连接数,默认0无限制 
local_root=[path]  
后接本地用户登录时的目录,如不设定则是在用户的家目录  
anon_root=[path]  
后接匿名用户登录的目录,默认在/var/ftp 




五:vsftpd的高级配置  
(1):修改默认监听端口  
我们在这里只研究在Standalone模式下  
编辑/etc/vsftpd/vsftpd.conf,添加修改如下类容:   
Listen_port=2121  
Listen_address=192.168.100.23  
对于这两条选项我们已经解释过了,此时服务已经该去监听这个IP和端口了,用以前的方法已经不可以访问了。