ftp相关

扫码查看

1、安装

yum install vsftpd -y

2、配置,先备份一个配置文件,然后再修改,注意所有配置行尾不能有空格,否则启动ftp会报错,提示不识别参数

基本配置:

anonymous_enable=no  #禁止匿名登录
local_enable=YES     #允许本地账户登录
write_enable=YES     #允许本地账户写权限
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES    #开启日志
connect_from_port_20=YES  #表面vsftp使用主动模式
xferlog_file=/var/log/vsftp  #日志文件
xferlog_std_format=YES
chroot_local_user=YES    #将所有用户限制在主目录,YES为启用 NO禁用   见注1
allow_writeable_chroot=YES #拥有写权限
local_root=/data1/vsftp/data  #ftp主目录位置,默认为各个用户的home目录

chroot_list_enable=YES  #是否启动限制用户的名单 YES为启用  NO禁用(包括注释掉也为禁用)
chroot_list_file=/etc/vsftpd/chroot_list
userlist_enable=YES #启用user_list文件  见注2
listen=YES pasv_enable=NO pam_service_name=vsftpd  tcp_wrappers=YES

注1:

chroot_local_user #是否将所有用户限制在主目录,YES为启用 NO禁用.(该项默认值是NO,即在安装vsftpd后不做配置的话,ftp用户是可以向上切换到要目录之外的)
chroot_list_enable #是否启动限制用户的名单 YES为启用  NO禁用(包括注释掉也为禁用)
chroot_list_file=/etc/vsftpd/chroot_list #是否限制在主目录下的用户名单,至于是限制名单还是排除名单,这取决于chroot_local_user的值,我们可以这样记忆: chroot_local_user总是一个全局性的设定,其为YES时,全部用户被锁定于主目录,其为NO时,全部用户不被锁定于主目录。那么我们势必需要在全局设定下能做出一些“微调”,即,我们总是需要一种“例外机制",所以当chroot_list_enable=YES时,表示我们“需要例外”。而”例外“的含义总是有一个上下文的,即,当”全部用户被锁定于主目录“时(即chroot_local_user=YES),"例外"就是:不被锁定的用户是哪些;当"全部用户不被锁定于主目录"时(即chroot_local_user=NO),"例外"“就是:要被锁定的用户是哪些。这样解释和记忆两者之间的关系就很清晰了!

对于chroot_local_user与chroot_list_enable的组合效果,可以参考下表:

注2:

vsftpd有两个默认存放用户名单的文件(默认在/etc/vsftpd/ 目录下),来对访问FTP服务的用户身份进行管理和限制。vsftpd会分别检查两个配置文件,只要是被任何一个文件所禁止的用户,FTP访问到本机的请求都会被拒。

 user_list:可以作为用户白名单,或者是黑名单,或者无效名单。完全由userlist_enable和userlist_deny这两个参数决定。

 ftpusers:只能是用户黑名单,不受任何参数限制。

决定user_list文件性质的参数 userlist_enable和userlist_deny

userlist_enable=YES   userlist_deny=YES  启用user_list文件,但文件是黑名单,拒绝文件中的用户FTP访问

userlist_enable=YES   userlist_deny=NO   启用user_list文件,但文件是白名单,拒绝除文件中的用户外的用户FTP访问

userlist_enable=NO   userlist_deny=YES/NO  无效名单,表示没有对任何用户限制FTP访问

3、启动

systemctl start vsftpd  && systemctl enable vsftpd 
01-08 05:03
查看更多