配置环境:(防火墙、SELinux关闭)

[root@miner_k ~]# cat /etc/redhat-release
CentOS release 6.8 (Final)

vsftpd的安装:

[root@miner_k ~]# yum -y install vsftpd[root@miner_k var]# rpm -ql vsftpd
/etc/logrotate.d/vsftpd     #关于vsftpd的日志切割
/etc/pam.d/vsftpd           #PAM模块认证
/etc/rc.d/init.d/vsftpd     #vsftpd的服务启动程序
/etc/vsftpd                 #配置文件目录
/etc/vsftpd/ftpusers        #存放PAM模块中限制禁止登录的用户
/etc/vsftpd/user_list       #通过配置文件的参数userlist_enable和userlist_deny设置用户登录
/etc/vsftpd/vsftpd.conf     #配置文件
/etc/vsftpd/vsftpd_conf_migrate.sh
/usr/sbin/vsftpd            #vsftpd的主程序
/var/ftp                    #vsftp服务的默认匿名用户登录的根目录,ftp这个账户登录的家目录
/var/ftp/pub

设置配置文件:
(注意:修改配置文件需要重新启动服务,同时测试的连接也需要重新连接)
配置文件的格式:

vsftpd.conf 的内容非常单纯,每一行即为一项设定。若是空白行或是开头为#的一行,将会被忽略。内容的格式只有一种,如下所示
option=value
要注意的是,等号两边不能加空白。

[root@miner_k ~]# vim /etc/vsftpd/vsftpd.conf#1.与匿名用户有关的信息
anonymous_enable=YES        <== 支持匿名用户的功能#2.与实体用户有关的信息
local_enable=YES        <== 支持本地的实体用户登录
write_enable=YES        <== 允许上传文件
local_umask=022         <== 建立新的目录(755)和文件(644)#3.与服务器相关的信息
dirmessage_enable=YES       <= 如果目录下有.message会显示该文件的内容
xferlog_enable=YES          <= 启动日志文件记录
connect_from_port_20=YES    <= 支持主动模式
xferlog_std_format=YES      <= 支持WuFTP的日志格式
listen=YES      <= 使用stand alone 方式启动vsftpd,可以使用xinetd启动pam_service_name=vsftpd     <= 支持PAM模块管理
userlist_enable=YES         <= 支持/etc/vsftpd/user_list文件内的账号登录控制
tcp_wrappers=YES            <= 支持TCP Wrappers的防火墙机制

1.匿名用户(anonymous)设置

anonymous_enable=YES/NO(YES)
控制是否允许匿名用户登入,YES 为允许匿名登入,NO 为不允许。默认值为YES。

write_enable=YES/NO(YES)
是否允许登陆用户有写权限。属于全局设置,默认值为YES。

no_anon_password=YES/NO(NO)
若是启动这项功能,则使用匿名登入时,不会询问密码。默认值为NO。

ftp_username=ftp
定义匿名登入的使用者名称。默认值为ftp。

anon_root=/var/ftp
使用匿名登入时,所登入的目录。默认值为/var/ftp。注意ftp目录不能是777的权限属性,即匿名用户的家目录不能有777的权限。

anon_upload_enable=YES/NO(NO)
如果设为YES,则允许匿名登入者有上传文件(非目录)的权限,只有在write_enable=YES时,此项才有效。当然,匿名用户必须要有对上层目录的写入权。默认值为NO。

anon_world_readable_only=YES/NO(YES)
如果设为YES,则允许匿名登入者下载可阅读的档案(可以下载到本机阅读,不能直接在FTP服务器中打开阅读)。默认值为YES。

anon_mkdir_write_enable=YES/NO(NO)
如果设为YES,则允许匿名登入者有新增目录的权限,只有在write_enable=YES时,此项才有效。当然,匿名用户必须要有对上层目录的写入权。默认值为NO。

anon_other_write_enable=YES/NO(NO)
如果设为YES,则允许匿名登入者更多于上传或者建立目录之外的权限,譬如删除或者重命名。(如果anon_upload_enable=NO,则匿名用户不能上传文件,但可以删除或者重命名已经存在的文件;如果anon_mkdir_write_enable=NO,则匿名用户不能上传或者新建文件夹,但可以删除或者重命名已经存在的文件夹。)默认值为NO。

chown_uploads=YES/NO(NO)
设置是否改变匿名用户上传文件(非目录)的属主。默认值为NO。

chown_username=username
设置匿名用户上传文件(非目录)的属主名。建议不要设置为root。

anon_umask=077
设置匿名登入者新增或上传档案时的umask 值。默认值为077,则新建档案的对应权限为700。

deny_email_enable=YES/NO(NO)
若是启动这项功能,则必须提供一个案/etc/vsftpd/banner_emails,内容为email address。若是使用匿名登入,则会要求输入email address,若输入的email address 在此档案内,则不允许进入。默认值为NO。

banned_email_file=/etc/vsftpd/banner_emails
此文件用来输入email address,只有在deny_email_enable=YES时,才会使用到此档案。若是使用匿名登入,则会要求输入email address,若输入的email address 在此档案内,则不允许进入。

2. 启动模式的配置

  • 2.1 使用stand alone方式启动
    配置文件:listen=YES
[root@miner_k ~]# /etc/init.d/vsftpd stop
Shutting down vsftpd:                                      [  OK  ]
[root@miner_k ~]# /etc/init.d/vsftpd start
Starting vsftpd for vsftpd:                                [  OK  ]
[root@miner_k ~]# chkconfig vsftpd on
[root@miner_k ~]# netstat -anlp | grep :21
tcp        0      0 0.0.0.0:21                  0.0.0.0:*                   LISTEN      18622/vsftpd     
  • 2.2 使用super daemon启动
    配置文件:listen=NO
[root@miner_k vsftpd]# yum -y install xinetd
[root@miner_k vsftpd]# cd /etc/xinetd.d/
[root@miner_k xinetd.d]# ls
chargen-dgram   daytime-dgram   discard-dgram   echo-dgram   rsync          time-dgram
chargen-stream  daytime-stream  discard-stream  echo-stream  tcpmux-server  time-stream
[root@miner_k xinetd.d]# cp rsync vsftpd
[root@miner_k xinetd.d]# cat vsftpd
# default: off
# description: The rsync server is a good addition to an ftp server, as it \
#   allows crc checksumming etc.
service ftp
{disable = noflags       = IPv6socket_type     = streamwait            = nouser            = rootserver          = /usr/sbin/vsftpdserver_args     = --daemonlog_on_failure  += USERID
}
[root@miner_k xinetd.d]# /etc/init.d/xinetd restart
Stopping xinetd:                                           [  OK  ]
Starting xinetd:                                           [  OK  ]
[root@miner_k xinetd.d]# netstat -anlp | grep 21
tcp        0      0 0.0.0.0:21                  0.0.0.0:*                   LISTEN      18975/xinetd
[root@miner_k ~]# chkconfig --list
xinetd based services:chargen-dgram:  offchargen-stream: offdaytime-dgram:  offdaytime-stream: offdiscard-dgram:  offdiscard-stream: offecho-dgram:     offecho-stream:    offrsync:          offtcpmux-server:  offtime-dgram:     offtime-stream:    offvsftpd:         on

这两种方式的使用场景:stand alone 当访问量较大时使用。super daemon一般在ftp的使用量较小时使用

3.设置ftp显示的时间与本地同步

配置文件: use_localtime=yes
使用本地时间,如果是no表示使用的是格林尼治时间(GMT),比本地时间要慢8个小时。
(修改配置文件需要重新启动服务,ftp连接服务器也需要重新启动。)

修改前:
ftp> ls
227 Entering Passive Mode (127,0,0,1,224,157).
150 Here comes the directory listing.
-rw-r--r--    1 0        0               4 May 17 08:25 1.txt
drwxr-xr-x    2 0        0            4096 Mar 22 12:14 pub修改后:
ftp> ls
227 Entering Passive Mode (127,0,0,1,199,49).
150 Here comes the directory listing.
-rw-r--r--    1 0        0               4 May 17 16:25 1.txt
drwxr-xr-x    2 0        0            4096 Mar 22 20:14 pub

4.登录时显示欢迎信息

配置文件:
banner_file=/etc/vsftpd/welcome.txt
或者:
ftpd_banner=Welcome to blah FTP service.(设置登录提示的字符串)

[root@miner_k ~]# cat /etc/vsftpd//welcome.txt
欢迎使用本站提供的FTP[root@miner_k xinetd.d]# ftp localhost
Trying 127.0.0.1...
Connected to localhost (127.0.0.1).
220-欢迎使用本站提供的FTP
220 

5.限制系统账号的登录

在设置本地用户登录时,最好设置anonymons_enable=no.

  • 1 利用PAM模块进行设置

可以从下面的文件中看出/etc/vsftpd/ftpusers中是被拒绝的登录用户,将需要禁止登录的用户写到该文件中即可

[root@miner_k xinetd.d]# cat /etc/pam.d/vsftpd
#%PAM-1.0
session    optional     pam_keyinit.so    force revoke
auth       required pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
auth       required pam_shells.so
auth       include  password-auth
account    include  password-auth
session    required     pam_loginuid.so
session    include  password-auth[root@miner_k ~]# cat /etc/vsftpd/ftpusers
# Users that are not allowed to login via ftp
root
bin
......
tom[root@miner_k xinetd.d]# ftp localhost
Trying 127.0.0.1...
Connected to localhost (127.0.0.1).
220-欢迎使用本站提供的FTP
220
Name (localhost:root): tom
331 Please specify the password.
Password:
530 Login incorrect.
Login failed.
  • 2 使用userlist的相关参数进行设置

配置文件: user_list文件中的用户禁止登录
userlist_enable=YES
userlist_deny=yes
userlist_file=/etc/vsftpd/user_list

只有user_list文件中的用户可以登录
userlist_enable=YES
userlist_deny=no
userlist_file=/etc/vsftpd/user_list

[root@miner_k ~]# echo  tom > /etc/vsftpd/user_list
[root@miner_k xinetd.d]# ftp localhost
Trying 127.0.0.1...
Connected to localhost (127.0.0.1).
220-欢迎使用本站提供的FTP
220
Name (localhost:root): jim
530 Permission denied.
Login failed.

6.对用户(包括未来用户)进行chroot

除了chroot_list文件中的用户名不禁锢,其他的用户都禁锢。

配置文件:

chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list

[root@miner_k ~]# ftp localhost
Trying 127.0.0.1...
Connected to localhost (127.0.0.1).
220-欢迎使用本站提供的FTP
220
Name (localhost:root): tom
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> pwd
257 "/"
ftp> bye
221 Goodbye.[root@miner_k ~]# echo tom > /etc/vsftpd/chroot_list
[root@miner_k ~]# ftp localhost
Trying 127.0.0.1...
Connected to localhost (127.0.0.1).
220-欢迎使用本站提供的FTP
220
Name (localhost:root): tom
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> pwd
257 "/home/tom"
ftp> bye
221 Goodbye.

7.限制实体用户的下载流量(带宽)

配置文件:

local_max_rate=1000 <= 单位是byte/second

8.限制最大的同时上线人数与同一个IP连接数

配置文件:

max_clients=10
max_per_ip=1

9.让匿名用户可上传/下载自己的资料(权限开发最大)

配置文件:

anonymous_enable=yes
local_enable=no

write_enable=yes
anon_mkdir_write_enable=yes
anon_other_write_enable=yes
anon_upload_enable=yes

设置文件的权限,在share文件中能够上传、下载删除等操作
[root@miner_k ~]# mkdir /var/ftp/share
[root@miner_k ~]# chown ftp /var/ftp/share

10.让匿名用户只能上传不能下载

配置文件:

anonymous_enable=yes
local_enable=no

write_enable=yes
anon_mkdir_write_enable=yes
anon_upload_enable=yes
chown_uploads=yes
chown_username=daemon
将上传的文件所有权设置为daemon,删除失败之后不能重复上传,只能修改名称重复上传。

11.被动连接端口的设置

配置文件:

pasv_max_port=65400
pasv_min_port=65410

12.虚拟用户

12.1使用本地数据文件

  • 1.安装db4-utils
[root@miner_k ~]# rpm -qa | grep db4
db4-4.7.25-18.el6_4.x86_64
db4-cxx-4.7.25-18.el6_4.x86_64
db4-utils-4.7.25-18.el6_4.x86_64
db4-devel-4.7.25-18.el6_4.x86_64
  • 2.生成虚拟用户文件
[root@miner_k ~]# cat /etc/vsftpd/vuser.txt
user1   #用户名1
123     #密码1
user2   #用户名2
123     #密码2
  • 3.生成虚拟用户数据库
[root@miner_k ~]# db_load -T -t hash -f /etc/vsftpd/vuser.txt /etc/vsftpd/vuser.db
  • 4.修改配置文件
anonymous_enable=yes        #匿名用户可以禁止
local_enable=yes            #本地用户不能禁止pam_service_name=vsftpd.vu    #修改PAM模块
guest_enable=YES
guest_username=vuser          #映射到本地用户,可以是ftp用户
  • 5.增加用户
[root@miner_k ~]# useradd -d /var/vuser -s /sbin/nologin vuser
  • 6.修该PAM模块
[root@miner_k ~]# cat /etc/pam.d/vsftpd.vu
#%PAM-1.0
auth required  /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser
account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser

注意:此处的常见错误pam_userdb.so模块的位置,有的是在/lib/security.有的是在/lib64/security.根据本地的情况而定。否则容易出错

  • 7.测试:
错误实例:
[root@miner_k ~]# ftp localhost
Trying ::1...
ftp: connect to address ::1Connection refused
Trying 127.0.0.1...
Connected to localhost (127.0.0.1).
220 (vsFTPd 2.2.2)
Name (localhost:root): user1
331 Please specify the password.
Password:
530 Login incorrect.
Login failed.正确测试:
[root@miner_k ~]# ftp localhost
Trying ::1...
ftp: connect to address ::1Connection refused
Trying 127.0.0.1...
Connected to localhost (127.0.0.1).
220 (vsFTPd 2.2.2)
Name (localhost:root): user1
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> 
  • 8.错误排查
可以看出错误原因是由于没有vusers文件造成的,可能是PAM模块中的设置有误。[root@miner_k ~]# tailf /var/log/secureMay 19 11:12:26 lsw vsftpd[5615]: pam_userdb(vsftpd.vu:auth): user_lookup: could not open database `/etc/vsftpd/vusers': No such file or directory

12.2 使用MySQL数据文件

  • 1.映射本地用户
[root@miner_k ~]# useradd -d /var/vuser -s /sbin/nologin vuser
  • 2.配置文件修改
anonymous_enable=yes        #匿名用户可以禁止
local_enable=yes            #本地用户不能禁止pam_service_name=vsftpd.mysql    #修改PAM模块
guest_enable=YES
guest_username=vuser          #映射到本地用户,可以是ftp用户
  • 3.安装数据库
[root@miner_k ~]# yum -y install mysql mysql-server mysql-devel
  • 4.在数据库中创建ftp的用户名和密码
[root@miner_k ~]# service mysqld start
[root@miner_k ~]# mysql
mysql> create database ftpusers;
Query OK, 1 row affected (0.00 sec)mysql> use ftpusers
Database changed
mysql> create table users (id int AUTO_INCREMENT NOT NULL,-> name char(20) binary NOT NULL,-> password char(48) binary NOT NULL,-> primary key(id)-> );
Query OK, 0 rows affected (0.00 sec)mysql> insert into users (name,password) values('tom','123'),('jim','123');
Query OK, 2 rows affected (0.00 sec)
Records: 2  Duplicates: 0  Warnings: 0
  • 5.授权给vuser用户登录mysql数据库
mysql> grant select on ftpusers.* to vuser@localhost identified by 'ftppasswd';
Query OK, 0 rows affected (0.00 sec)mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
  • 6.下载安装pam_mysql模块
[root@miner_k ~]# wget https://sourceforge.net/projects/pam-mysql/files/latest/download --no-check-certificate[root@miner_k ~]# yum -y install pam-devel
[root@miner_k ~]# yum -y groupinstall "Development tools"[root@miner_k ~]# tar -xvf pam_mysql-0.7RC1.tar.gz
[root@miner_k ~]# cd pam_mysql-0.7RC1
[root@miner_k pam_mysql-0.7RC1]# ./configure --with-openssl --with-mysql=/usr
[root@miner_k pam_mysql-0.7RC1]# make
[root@miner_k pam_mysql-0.7RC1]# make install[root@miner_k pam_mysql-0.7RC1]# ls /lib/security/
pam_mysql.la  pam_mysql.so
  • 7.修改PAM模块配置
[root@miner_k ~]# cat /etc/pam.d/vsftpd.mysql
#%PAM-1.0auth  required /lib/security/pam_mysql.so user=vuser passwd=ftppasswd host=localhost db=ftpusers table=users usercolumn=name passwdcolumn=password crypt=0
account  required /lib/security/pam_mysql.so user=vuser passwd=ftppasswd host=localhost db=ftpusers table=users usercolumn=name passwdcolumn=password crypt=0
  • 8.错误分析:

**错误一:**pam模块中的配置文件书写错误导致,可能是登录的用户、库以及是没有授权

[root@miner_k ~]# tailf /var/log/secureMay 19 11:58:37 lsw vsftpd[15444]: pam_mysql - MySQL error (Access denied for user 'vuser'@'localhost' to database 'ftpvusers')

错误二:在日志中没有报错

在pam的配置中crypt设置为2,导致错误。
crypt=0

参数简介:(cat pam_mysql-0.7RC1/README)
crypt (plain)

The method to encrypt the user's password:0 (or "plain") = No encryption.  Passwords stored in plaintext.HIGHLY DISCOURAGED.1 (or "Y")     = Use crypt(3) function.2 (or "mysql") = Use MySQL PASSWORD() function. It is possiblethat the encryption function used by PAM-MySQLis different from that of the MySQL server, asPAM-MySQL uses the function defined in MySQL'sC-client API instead of using PASSWORD() SQL functionin the query.3 (or "md5")   = Use plain hex MD5.4 (or "sha1")  = Use plain hex SHA1

12.3 配置虚拟用户具有不同的访问权限

vsftpd可以在配置文件目录中为每个用户提供单独的配置文件以定义其ftp服务访问权限,每个虚拟用户的配置文件名同虚拟用户的用户名。配置文件目录可以是任意未使用目录,只需要在vsftpd.conf指定其路径及名称即可。

  • 1、配置vsftpd为虚拟用户使用配置文件目录
添加如下选项
user_config_dir=/etc/vsftpd/vusers_dir
  • 2、创建所需要目录,并为虚拟用户提供配置文件
[root@miner_k ~]# mkdir /etc/vsftpd/vusers_dir/
[root@miner_k ~]# cd /etc/vsftpd/vusers_dir/
[root@miner_k vusers_dir]# touch tom jim
  • 3、配置虚拟用户的访问权限

虚拟用户对vsftpd服务的访问权限是通过匿名用户的相关指令进行的。比如,如果需要让tom用户具有上传文件的权限,可以修改/etc/vsftpd/vusers/tom文件,在里面添加如下选项即可。
anon_upload_enable=YES

13.vsftpd+ssl的配置

13.1 CA服务器的配置

可以查看httpd配置详解(四)

13.2 vsftpd服务端配置

[root@miner_k ~]# cd /etc/vsftpd/
[root@miner_k vsftpd]# ls
ftpusers  user_list  vsftpd.conf  vsftpd_conf_migrate.sh
[root@miner_k vsftpd]# mkdir ssl
[root@miner_k vsftpd]# cd ssl
[root@miner_k ssl]#
[root@miner_k ssl]# ls
  • 1.生成私钥
[root@miner_k ssl]# (umask 077;openssl genrsa -out vsftpd.key 2048)
Generating RSA private key, 2048 bit long modulus
......................+++
...........+++
e is 65537 (0x10001)
  • 2.生成证书签署请求
[root@miner_k ssl]# openssl req -new -key vsftpd.key -out vsftpd.csr
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [CN]:
State or Province Name (full name) [BeiJing]:
Locality Name (eg, city) [BeiJing]:
Organization Name (eg, company) [CA]:
Organizational Unit Name (eg, section) [IT]:
Common Name (eg, your name or your server's hostname) []:ftp.miner_k.com    #需要修改的位置,需要被签名的服务器域名
Email Address []:admin@miner_k.comPlease enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:

13.4 在CA服务器上签署证书,并将证书发送给vsftpd服务端

  • 1.将ftp服务器上的证书签署申请发送给CA服务器
[root@miner_k ssl]# scp vsftpd.csr 101.200.87.99:/tmp
root@101.200.87.99's password:
vsftpd.csr                                                                                         100% 1050     1.0KB/s   00:00   
  • 2.在CA的服务器上签署生成证书
[root@CA tmp]# openssl ca -in vsftpd.csr -out vsftpd.crt
Using configuration from /etc/pki/tls/openssl.cnf
Check that the request matches the signature
Signature ok
Certificate Details:Serial Number: 2 (0x2)ValidityNot Before: May 24 08:16:40 2017 GMTNot After : May 24 08:16:40 2018 GMTSubject:countryName               = CNstateOrProvinceName       = BeiJingorganizationName          = CAorganizationalUnitName    = ITcommonName                = ftp.miner_k.comemailAddress              = admin@miner_k.comX509v3 extensions:X509v3 Basic Constraints: CA:FALSENetscape Comment: OpenSSL Generated CertificateX509v3 Subject Key Identifier: 43:D1:D8:A6:46:16:32:3E:64:B8:FF:5A:FF:C2:75:12:1F:3C:83:9DX509v3 Authority Key Identifier: keyid:12:0E:C7:0F:0B:A6:06:3D:27:A1:5B:A7:EA:3D:C3:36:07:BE:77:13Certificate is to be certified until May 24 08:16:40 2018 GMT (365 days)
Sign the certificate? [y/n]:y1 out of 1 certificate requests certified, commit? [y/n]y
Write out database with 1 new entries
Data Base Updated
  • 3 将CA的签署的证书发送到ftp的服务器上
[root@CA tmp]# scp vsftpd.crt ftp.miner_k.com:/etc/vsftpd/ssl

13.5 在ftp服务器上配置文件的修改

[root@miner_k vsftpd]# vim /etc/vsftpd/vsftpd.conf
......
ssl_enable=yes              #启动ssl加密
allow_anon_ssl=no           #不允许匿名用户加密
force_local_data_ssl=yes    #强制实体用户传输加密
force_local_logins_ssl=yes  #连接登录的用户加密
ssl_tlsv1=yes               #支持tlsv1、sslv2、sslv3
ssl_sslv2=yes
ssl_sslv3=yes
rsa_cert_file=/etc/vsftpd/ssl/vsftpd.crt  #证书的存放位置
rsa_private_key_file=/etc/vsftpd/ssl/vsftpd.key #私钥的存放位置

13.6 测试登录

  • 1 重新启动vsftpd服务
[root@miner_k vsftpd]# service vsftpd restart
关闭 vsftpd:                                              [确定]
为 vsftpd 启动 vsftpd:                                    [确定]
  • 2 增加实体用户
[root@miner_k vsftpd]# useradd user1
没有找到“mail”组。以 0600 权限模式创建用户的信箱文件。[root@miner_k vsftpd]# passwd user1
更改用户 user1 的密码 。
新的 密码:
无效的密码: WAY 过短
无效的密码: 过于简单
重新输入新的 密码:
passwd: 所有的身份验证令牌已经成功更新。
  • 3 客户端使用winscp登录即可

14. vsftpd + iptables 配置

在centos6.5中没有ip_nat_ftp模块,但是加载ip_nat_ftp.会自动加载nf_nat、nf_conntrack_ipv4模块。

[root@miner_k ~]# vim /etc/sysconfig/iptables-config
IPTABLES_MODULES="ip_nat_ftp"   #加载ip_nat_ftp模块[root@miner_k ~]# iptables -A INPUT -i eth0 -p tcp -m tcp --dport 21 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
[root@miner_k ~]# iptables -A INPUT -i eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT[root@miner_k ~]# iptables-A OUTPUT -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT

vsftpd的配置详解相关推荐

  1. CentOS 6.x上搭建vSFTPD服务器搭建与配置详解

    摘要: 手把手教你搭建vsftpd服务器,实现了基于db文件和MySQL数据库文件进行虚拟用户认证,当然了也本文章也包含搭建过程中问题的排查啦,哈哈哈. 另外,我在CentOS 7.x上也进行了搭建测 ...

  2. FTP服务的简介和配置详解

    FTP服务的简介和配置详解 注意:配置FTP服务时,最好关闭防火墙和selinux 1.FTP服务简介 FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为& ...

  3. spring mysql ssl_MySQL 使用 SSL 连接配置详解

    vsftpd配置详解 vsftpd是linux发行版中的一款ftp服务器程序它的全称是"very secure ftp daemon",号称是最安全的ftp服务器.它工作在2120 ...

  4. Centos7 防火墙配置详解(非常详细!)

    Centos7 防火墙配置详解(非常详细) 一. zone的概念 1.1 预定义的zone 1.2 将interface和source划分到某个zone 1.3 zone配置文件 二. Service ...

  5. elasticsearch-.yml(中文配置详解)

    此elasticsearch-.yml配置文件,是在$ES_HOME/config/下 elasticsearch-.yml(中文配置详解) # ======================== El ...

  6. (ASA) Cisco Web ××× 配置详解 [三部曲之一]

    (ASA) Cisco Web ××× 配置详解 [三部曲之一] 注意:本文仅对Web×××特性和配置作介绍,不包含SSL ×××配置,SSL ×××配置将在本版的后续文章中进行介绍.   首先,先来 ...

  7. mybatis 同名方法_MyBatis(四):xml配置详解

    目录 1.我们将 数据库的配置语句写在 db.properties 文件中 2.在 mybatis-configuration.xml 中加载db.properties文件并读取 通过源码我们可以分析 ...

  8. logback节点配置详解

    logback节点配置详解 一:根节点 <configuration></configuration> 属性 : debug : 默认为false ,设置为true时,将打印出 ...

  9. PM配置详解之一:企业结构

    1.维护计划工厂 功能说明 在公司结构中定义维护工厂(通常已经作为后勤工厂存在)和维护计划工厂(简称计划工厂). 维护工厂:设备所安装的位置,如某机组安装在合营公司,那么合营公司就是此机组的维护工厂, ...

最新文章

  1. sql server 常用函数
  2. boost::python::type_info相关的测试程序
  3. python输入input数组_Python学习——实现简单的交互raw_input的使用
  4. Educational Codeforces Round 101 (Rated for Div. 2) D. Ceil Divisions 思维 + 根号数
  5. 王道操作系统考研笔记——1.1.2 操作系统的特征
  6. Hive 1.2.1SparkSqoop安装指南
  7. Linux网络编程:原始套接字的魔力【续】
  8. MySQL基础总结,认真看完这篇就够了!!!
  9. 软件开发模式之敏捷开发
  10. 清华大学成立听觉智能研究中心,要解决可解释和鲁棒性问题
  11. 查看kafka的主从状态_Kafka 集群部署
  12. java 实现用户登陆代码_Java Web用户登录实例代码
  13. 给小黑升级三星970EVOPlus固态硬盘手记(图文)
  14. 玩游戏显示服务器不稳定,FPS不稳定是什么原因?玩游戏FPS低怎么办?
  15. 双频wifi是什么意思 双频wifi好处有哪些
  16. 软工网络15团队作业4——Alpha阶段敏捷冲刺之Scrum 冲刺博客(Day6)
  17. 只查看ett.txt文件(100行)内第20行到30行的内容
  18. dw常用标签_dw常用单词
  19. wifi无线认证,802.1x认证上网方式详解
  20. Servlet重定向和转发

热门文章

  1. SQL Server 重新组织生成索引
  2. Masterboxan INC智能化资产配置模式上线,全方位提升数字化金融服务
  3. 小米笔记本 Air 13 评测
  4. 不相关的正态分布随机变量也不一定就独立
  5. 打开eclipse时出现了这怎样解决啊
  6. 文化的影响:整体感知与分析感知
  7. vm virtualbox识别U盘并挂载
  8. 燕十八PHP高性能架构班Oracle部分课程
  9. singer页面点击歌手singer是跳转到singer-detail的设置
  10. D435i相机标定(不同标定方法总结)