FTP

centos 7

  检查是否安装vsftp软件:

    rpm -qa | grep vsftp

  如未显示手动安装:

    yum -y install vsftpd

/etc/vsftpd  是ftp的配置文件路径,此路径下有下面的配置文件

  ftpusers           用于指定哪些用户不能访问FTP 服务器。  黑名单

  user_list          指定允许使用vsftpd 的用户列表文件。  白名单

  vsftpd.conf      vsftpd的核心配置文件

 

vsftpd.conf的配置文件详细信息如下:

anonymous_enable=NO  #是否允许匿名用户访问,YES为允许,NO为拒绝
local_enable=YES   # 是否允许本地用户登录,YES为允许,NO为拒绝
write_enable=YES   # 是否允许写入YES为允许,NO为拒绝
local_umask=022  # 本地用户上传文件的umask
dirmessage_enable=YES #为YES则进入目录时显示此目录下由message_file选项指定的文本文件(,默认为.message)的内容
xferlog_enable=YES #开启日志

xferlog_std_format=YES #标准格式

 

port_enable=YES,即默认情况下,FTP  PORT主动模式被启用

connect_from_port_20=YES,即默认情况下,FTP PORT主动模式进行数据传输时使用20端口(ftp-data)。YES使用,NO不使用。

ftp_data_port=port number,设定ftp数据传输端口(ftp-data)值。默认值为20。此参数用于PORT FTP模式。

pasv_enable=YES,即默认情况下,FTP  PASV被动模式被启用。但是由于防火墙设置的原因,默认情况下,FTP PASV被动模式使用FTP会失败。
xferlog_file=/var/log/xferlog   #ftp日志目录

idle_session_timeout=6000 #设置客户端连接时间

data_connection_timeout=1200 #设置数据连接时间 针对上传,下载
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的组合效果,可以参考下表:

  chroot_local_user=YES
 chroot_local_user=NO
chroot_list_enable=YES

1.所有用户都被限制在其主目录下

2.使用chroot_list_file指定的用户列表,这些用户作为“例外”,不受限制

1.所有用户都不被限制其主目录下

2.使用chroot_list_file指定的用户列表,这些用户作为“例外”,受到限制

chroot_list_enable=NO

1.所有用户都被限制在其主目录下

2.不使用chroot_list_file指定的用户列表,没有任何“例外”用户

1.所有用户都不被限制其主目录下

2.不使用chroot_list_file指定的用户列表,没有任何“例外”用户



userlist_deny=NO #若设置为YES则记录在userlist_file选项指定文件(默认是/etc/vsftpd.user_list)中的用户将无法login,并且将检察下面的userlist_deny选项
userlist_enable=YES #若为NO,则仅接受记录在userlist_file选项指定文件(默认是/etc/vsftpd.user_list)中的用户的login请求.若为YES则不接受这些用户的请求.
userlist_file=/etc/vsftpd/user_list #白名单
chroot_list_enable=YES
local_root=/var/ftp/pub #根目录
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES

posted @ 2019-07-18 10:39  零0零  阅读(266)  评论(0编辑  收藏  举报