tom: 拒绝登入jim: 允许登录
Case 2: userlist_enable=YES, userlist_deny=NO
tom: 允许登录jim:拒绝登录(如user_list文件开头的注释所述,甚至不会提示输入密码,即无登入提示框,直接拒绝连接)
Case 3: userlist_enable=NO,userlist_deny=NO
tom: 允许登录jim: 允许登录
Case 4: userlist_enable=NO,userlist_deny=YES
tom: 允许登录jim: 允许登录
综上实验得出以下结论:
userlist_enable和userlist_deny两个选项联合起来针对的是:本地全体用户(除去ftpusers中的用户)和出现在user_list文件中的用户以及不在在user_list文件中的用户这三类用户集合进行的设置。
当且仅当userlist_enable=YES时:userlist_deny项的配置才有效,user_list文件才会被使用;当其为NO时,无论userlist_deny项为何值都是无效的,本地全体用户(除去ftpusers中的用户)都可以登入FTP
当userlist_enable=YES时,userlist_deny=YES时:user_list是一个黑名单,即:所有出现在名单中的用户都会被拒绝登入;
当userlist_enable=YES时,userlist_deny=NO时:user_list是一个白名单,即:只有出现在名单中的用户才会被准许登入(user_list之外的用户都被拒绝登入);另外需要特别提醒的是:使用白名单后,匿名用户将无法登入,不会提示输入密码,即无登入提示框,直接拒绝连接 !除非在user_list中加入一行:anonymous
***************************************************************6.设置访问速度anon_max_rate=0 //设置匿名用户所能使用的最大传输速度,单位为b/s。若设置为0,则不受速度限制,此为默认值。local_max_rate=0 // 设置本地用户所能使用的最大传输速度。默认为0,不受限制。7.定义用户配置文件 在vsftpd服务器中,不同用户还可使用不同的配置,这要通过用户配置文件来实现。 user_config_dir=/etc/vsftpd/userconf //用于设置用户配置文件所在的目录。 设置了该配置项后,当用户登录FTP服务器时,系统就会到/etc/vsftpd/userconf目录下读取与当前用户名相同的文件,并根据文件中的配置命令,对当前用户进行更进一步的配置。比如,利用用户配置文件,可实现对不同用户进行访问的速度进行控制,在各用户配置文件中,定义local_max_rate配置,以决定该用户允许的访问速度。添加相应权限,防止用户下载重命名使用cmds_allows命令配置,将不允许的命令(重命名,下载,删除,创建文件夹)除去即可:只能下载、删除、重命名。不能上传。cmds_allowed=FEAT,REST,CWD,LIST,MDTM,MKD,NLST,PASS,PASV,PORT,PWD,QUIT,RMD,SIZE,STOR,TYPE,USER,ACCT,APPE,CDUP,HELP,MODE,NOOP,REIN,STAT,STOU,STRU,SYST只能上传。不能下载、删除、重命名。cmds_allowed=FEAT,REST,CWD,LIST,MDTM,MKD,NLST,PASS,PASV,PORT,PWD,QUIT,RMD,SIZE,STOR,TYPE,USER,ACCT,APPE,CDUP,HELP,MODE,NOOP,REIN,STAT,STOU,STRU,SYST主要命令解释如下:
=====================最常用的,出去对应命令即可========================MKD - make a remote directory 新建文件夹NLST - name list of remote directoryPWD - print working directory 显示当前工作目录RETR - retrieve a remote file 下载文件STOR - store a file on the remote host 上传文件DELE - delete a remote file 删除文件、RMD - remove a remote directory 删除目录RNFR - rename from 重命名RNTO - rename to 重命名====================================================================ABOR - abort a file transfer 取消文件传输CWD - change working directory 更改目录DELE - delete a remote file 删除文件LIST - list remote files 列目录MDTM - return the modification time of a file 返回文件的更新时间MKD - make a remote directory 新建文件夹NLST - name list of remote directoryPASS - send passwordPASV - enter passive modePORT - open a data port 打开一个传输端口PWD - print working directory 显示当前工作目录QUIT - terminate the connection 退出RETR - retrieve a remote file 下载文件RMD - remove a remote directoryRNFR - rename fromRNTO - rename toSITE - site-specific commandsSIZE - return the size of a file 返回文件大小STOR - store a file on the remote host 上传文件TYPE - set transfer typeUSER - send username |
8.与连接相关的设置listen=YES vsftpd启动后,默认的ftp端口是21,现在我想把ftp端口改成 801 ,修改后能保证用户上传下载不受影响1.编辑 /etc/vsftpd/vsftpd.conf 文件,在该配置文件中添加此行:listen_port=8012.编辑 /etc/services 文件,将其中的 ftp 21/tcp 改为801ftp 801/tcpftp 801/udp3.执行 /etc/init.d/vsftpd restart 重新启动 vsftpd 服务。启动完成后可以使用 netstat -ntpl | grep vsftpd 命令可以查看到系统现监听的 vsftpd 的端口为 801 //设置vsftpd服务器是否以standalone模式运行。以standalone模式运行是一种较好的方式,此时listen必须设置为YES,此为默认值,建议不要更改。很多与服务器运行相关的配置命令,需要此运行模式才有效。若设置为NO,则vsftpd不是以独立的服务运行,要受xinetd服务的管理控制,功能上会受限制。max_clients=0//设置vsftpd允许的最大连接数,默认为0,表示不受限制。若设置为150时,则同时允许有150个连接,超出的将拒绝建立连接。只有在以standalone模式运行时才有效。max_per_ip=0// 设置每个IP地址允许与FTP服务器同时建立连接的数目。默认为0,不受限制。通常可对此配置进行设置,防止同一个用户建立太多的连接。只有在以standalone模式运行时才有效。listen_address=IP地址 //设置在指定的IP地址上侦听用户的FTP请求。若不设置,则对服务器所绑定的所有IP地址进行侦听。只有在以standalone模式运行时才有效。对于只绑定了一个IP地址的服务器,不需要配置该项,默认情况下,配置文件中没有该配置项。若服务器同时绑定了多个IP地址,则应通过该配置项,指定在哪个IP地址上提供FTP服务,即指定FTP服务器所使用的IP地址。注意:设置此值前后,可以通过netstat -tnl对比端口的监听情况accept_timeout=60 //设置建立被动(PASV)数据连接的超时时间,单位为秒,默认值为60。connect_timeout=60 // PORT方式下建立数据连接的超时时间,单位为秒。data_connection_timeout=300 //设置建立FTP数据连接的超时时间,默认为300秒。idle_session_timeout=600 //设置多长时间不对FTP服务器进行任何操作,则断开该FTP连接,单位为秒,默认为600秒。即设置发呆的逾时时间,在这个时间内,若没有数据传送或指令的输入,则会强行断开连接。pam_service_name=vsftpd //设置在PAM所使用的名称,默认值为vsftpd。setproctitle_enable=NO|YES //设置每个与FTP服务器的连接,是否以不同的进程表现出来,默认值为NO,此时只有一个名为vsftpd的进程。若设置为YES,则每个连接都会有一个vsftpd进程,使用“ps -ef|grep ftp”命令可查看到详细的FTP连接信息。安全起见,建议关闭。9.FTP工作方式与端口设置(1)FTP工作方式简介 FTP的工作方式有两种,一种是PORT FTP,另一种是PASV FTP。下面介绍其工作方式。 二者的区别在于PORT FTP的数据传输端口是由FTP服务器指定的,而PASV FTP则是由FTP客户端指定的,而且每次数据连接所使用的端口号都不同。正因为如此,所以在CuteFTP等FTP客户端软件中,其连接类型设置项中有PORT和PASV两种选择。 当FTP服务器设置为PASV工作模式时,客户端也必须设置为PASV连接类型。若客户端连接类型设置为PORT,则能建立FTP连接,但在执行ls或get等需要数据请求的命令时,将会出现无响应并最终报告无法建立数据连接。(2)与端口相关的配置listen_port=21 // 设置FTP服务器建立连接所侦听的端口,默认值为21。connect_from_port_20=YES // 默认值为YES,指定FTP数据传输连接使用20端口。若设置为NO,则进行数据连接时,所使用的端口由ftp_data_port指定。ftp_data_port=20 //设置PORT方式下FTP数据连接所使用的端口,默认值为20。pasv_enable=YES|NO //若设置为YES,则使用PASV工作模式;若设置为NO,使用PORT模式。默认为YES,即使用PASV模式。pasv_max_port=0 //设置在PASV工作方式下,数据连接可以使用的端口范围的上界。默认值为0,表示任意端口。pasv_mim_port=0 //设置在PASV工作方式下,数据连接可以使用的端口范围的下界。默认值为0,表示任意端口。10.设置传输模式FTP在传输数据时,可使用二进制(Binary)方式,也可使用ASCII模式来上传或下载数据。ascii_download_enable=YES //设置是否启用ASCII模式下载数据。默认为NO。ascii_upload_enable=YES //设置是否启用ASCII模式上传数据。默认为NO。11.设置上传文档的所属关系和权限(1)设置匿名上传文档的属主chown_uploads=YES //用于设置是否改变匿名用户上传的文档的属主。默认为NO。若设置为YES,则匿名用户上传的文档的属主将被设置为chown_username配置项所设置的用户名。chown_username=whoever //设置匿名用户上传的文档的属主名。只有chown_uploads=YES时才有效。建议不要设置为root用户。 但系统默root(2)新增文档的权限设定local_umask=022 //设置本地用户新增文档的umask,默认为022,对应的权限为755。umask为022,对应的二进制数为000 010 010,将其取反为111 101 101,转换成十进制数,即为权限值755,代表文档的所有者(属主)有读写执行权,所属组有读和执行权,其他用户有读和执行权。022适合于大多数情况,一般不需要更改。若设置为077,则对应的权限为700。anon_umask=022 //设置匿名用户新增文档的umask。默认077file_open_mode=0755 //设置上传文档的权限。权限采用数字格式。 默认066612.日志文件xferlog_enable=YES //是否启用上传/下载日志记录。默认为NOxferlog_file=var/log/vsftpd.log //设置日志文件名及路径。需启用xferlog_enable选项xferlog_std_format=YES //日志文件是否使用标准的xferlog日志文件格式(与wu-ftpd使用的格式相同) 。默认为NO13.其他设置text_userdb_names=NO //设置在执行ls命令时,是显示UID、GID还是显示出具体的用户名或组名称。默认为NO,以UID和GID方式显示,若希望显示用户名和组名称,则设置为YES。ls_recurse_enable=YES //若设置为YES,则允许执行“ls –R”这个命令,默认值为NO。在配置文件中该配置项被注释掉了,与此类似的还有一些配置,需要启用时,将注释符去掉并进行YES或NO的设置即可。++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++解决windows访问vsftpd时,客户端中文乱码问题!!!原因:vsftpd不能处理字符编码的转换,Windows使用GBK编码,linux使用zh_CN.UTF-8编码解决方法(Centos 7):首先安装语言包:ghostscript-chinese-zh_CN.noarchyum -y install ghostscript-chinese-zh_CN.noarchlocalectl set-locale.GBK(全局更改GBK编码)或者编辑 vim /etc/locale.confLANG=zh_CN.GBK重启系统!!!!查询当前linux系统语言localePS:如果是通过SSH连接到系统,也需要更改SSH终端的编码结果:SSH终端显示正常,windows客户端显示正常,但其实系统显示还是乱码。&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&不能启动FTP服务器问题!!!查看监听是否开启listen=YES是否有多个监听IPv4和IPv6,如果有,删除IPv6
原文:http://blog.51cto.com/7072753/2135328