终于搞定阿里云ftp的问题

感谢原文作者!!!

1--卸载



查看当前服务器中的vsftpd
rpm -qa|grep vsftpd 
例如结果为:vsftpd-2.2.2-13.el6_6.1.x86_64
执行卸载
rpm -e vsftpd-2.2.2-13.el6_6.1.x86_64
返回:卸载时自动备份vsftp的用户列表文件
warning: /etc/vsftpd/vsftpd.conf saved as /etc/vsftpd/vsftpd.conf.rpmsave
warning: /etc/vsftpd/user_list saved as /etc/vsftpd/user_list.rpmsave
删除上面的文件
rm -rf /etc/vsftpd
查看vsftpd是否还在开机启动项中
chkconfig --list
查看vsftpd运行状态
service vsftpd status
返回:vsftpd: unrecognized service(无法识别vsftpd,说明卸载了vsftpd了)


2--安装


yum -y install vsftpd


3--配置


以下是vsftpd的主配置文件的内容



-----------------/etc/vsftpd/vsftpd.conf START---------------------------------------

 

anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
#anon_upload_enable=YES
#anon_mkdir_write_enable=YES
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
#chown_uploads=YES
#chown_username=whoever
#xferlog_file=/var/log/xferlog
xferlog_std_format=YES
idle_session_timeout=600
data_connection_timeout=120
#nopriv_user=ftpsecure
#async_abor_enable=YES
ascii_upload_enable=YES
ascii_download_enable=YES
ftpd_banner=Welcome to lightnear FTP service.
#deny_email_enable=YES
#banned_email_file=/etc/vsftpd/banned_emails
chroot_local_user=YES
#chroot_list_enable=YES
#chroot_list_file=/etc/vsftpd/chroot_list
ls_recurse_enable=YES
listen=YES
#listen_ipv6=YES
 
pam_service_name=vsftpd
userlist_enable=YES
userlist_deny=NO
#设置FTP用户可以访问的主目录(如果该目录不存在,可以创建并修改权限)
local_root=/var/ftp
tcp_wrappers=YES
use_localtime=YES


---------------------/etc/vsftpd/vsftpd.conf END------------------------------------


增加FTP账户
useradd ftpadmin -s /sbin/nologin
给ftpadmin设置密码
passwd ftpadmin
输入两遍密码即可


修改/etc/vsftpd/user_list文件
将所有内容清掉之后添加一个用户ftpadmin即可


创建FTP根目录
mkdir /var/ftp
如果上述目录已经存在,只需要修改权限即可
chown -R ftpadmin /var/ftp
chmod -R 755 /var/ftp


默认开启vsftpd服务配置
查看vsftpd服务是否在启动项中
chkconfig --list
如果没有
chkconfig --add vsftpd
开启开机启动
chkconfig --level 35 vsftpd on
重新查看vsftpd再启动项列表中的情况
chkconfig --list
结果如下:
vsftpd          0:off   1:off   2:off   3:on    4:off   5:on    6:off


到此,安装配置完毕,重新启动vsftpd服务
service vsftpd restart

就可以使用FlashFXPE或者FileZilla登陆FTP了


vsftp 上传 失败 错误 200 227 553

An error occurred copying a file to the FTP server.Make sure you have permission to put file on the server.

Details:

200 Switching to Binary mode.

227 Entering Passive Mode(192,168,130,102,66,128)

553 Could not create file.

 

附: FTP 数字代码的意义
110 重新启动标记应答。
120 服务在多久时间内ready。
125 数据链路埠开启,准备传送。
150 文件状态正常,开启数据连接端口。
200 命令执行成功。
202 命令执行失败。
211 系统状态或是系统求助响应。
212 目录的状态。
213 文件的状态。
214 求助的讯息。
215 名称系统类型。
220 新的联机服务ready。
221 服务的控制连接埠关闭,可以注销。
225 数据连结开启,但无传输动作。
226 关闭数据连接端口,请求的文件操作成功。
227 进入passive mode。
230 使用者登入。
250 请求的文件操作完成。
257 显示目前的路径名称。
331 用户名称正确,需要密码。
332 登入时需要账号信息。
350 请求的操作需要进一部的命令。
421 无法提供服务,关闭控制连结。
425 无法开启数据链路。
426 关闭联机,终止传输。
450 请求的操作未执行。
451 命令终止:有本地的错误。
452 未执行命令:磁盘空间不足。
500 格式错误,无法识别命令。
501 参数语法错误。
502 命令执行失败。
503 命令顺序错误。
504 命令所接的参数不正确。
530 未登入。
532 储存文件需要账户登入。
550 未执行请求的操作。
551 请求的命令终止,类型未知。
552 请求的文件终止,储存位溢出。
553 未执行请求的的命令,名称不正确。

 

今天遇到这个错误

解决方法

关闭selinux

修改/etc/vsftpd.conf

write_enable=YES

假设要上传这个目录是/home/ftp 

他的权限应该是770,owner是用户名,group是user

chmod 770 /home/ftp

chown 用户名:user /home/ftp




3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
1.默认配置:
1 >允许匿名用户和本地用户登陆。
     anonymous_enable = YES
     local_enable = YES
2 >匿名用户使用的登陆名为 ftpanonymous,口令为空;匿名用户不能离开匿名   用户家目录 / var / ftp ,且只能下载不能上传。
3 >本地用户的登录名为本地用户名,口令为此本地用户的口令;本地用户可以在自己家目录中进行读写操作;本地用户可以离开自家目录切换至有权限访问的其他目录,并在权限允许的情况下进行上传 /下载。
     write_enable = YES
4 >写在文件 / etc / vsftpd .ftpusers中的本地用户禁止登陆。
2.配置文件格式:
vsftpd .conf 的内容非常单纯,每一行即为一项设定。若是空白行或是开头为 #的一行,将会被忽略。内容的格式只有一种,如下所示
option = value
要注意的是,等号两边不能加空白。
3.匿名用户( anonymous)设置
anonymous_enable = YES / NOYES
控制是否允许匿名用户登入, YES 为允许匿名登入, NO 为不允许。默认值为 YES
write_enable = YES / NOYES
是否允许登陆用户有写权限。属于全局设置,默认值为 YES
no_anon_password = YES / NONO
若是启动这项功能,则使用匿名登入时,不会询问密码。默认值为 NO
ftpftp_username = ftp
定义匿名登入的使用者名称。默认值为 ftp
anon_root = / var / ftp
使用匿名登入时,所登入的目录。默认值为 / var / ftp。注意 ftp目录不能是 777的权限属性,即匿名用户的家目录不能有 777的权限。
anon_upload_enable = YES / NONO
如果设为 YES,则允许匿名登入者有上传文件(非目录)的权限,只有在 write_enable = YES时,此项才有效。当然,匿名用户必须要有对上层目录的写入权。默认值为 NO
anon_world_readable_only = YES / NOYES
如果设为 YES,则允许匿名登入者下载可阅读的档案(可以下载到本机阅读,不能直接在 FTP服务器中打开阅读)。默认值为 YES
anon_mkdir_write_enable = YES / NONO
如果设为 YES,则允许匿名登入者有新增目录的权限,只有在 write_enable = YES时,此项才有效。当然,匿名用户必须要有对上层目录的写入权。默认值为 NO
anon_other_write_enable = YES / NONO
果设为 YES,则允许匿名登入者更多于上传或者建立目录之外的权限,譬如删除或者重命名。(如果 anon_upload_enable = NO,则匿名用户 不能上传文件,但可以删除或者重命名已经存在的文件;如果 anon_mkdir_write_enable = NO,则匿名用户不能上传或者新建文件夹,但 可以删除或者重命名已经存在的文件夹。)默认值为 NO
chown_uploads = YES / NONO
设置是否改变匿名用户上传文件(非目录)的属主。默认值为 NO
chown_username = username
设置匿名用户上传文件(非目录)的属主名。建议不要设置为 root
anon_umask = 077
设置匿名登入者新增或上传档案时的 umask 值。默认值为 077,则新建档案的对应权限为 700
deny_email_enable = YES / NONO
若是启动这项功能,则必须提供一个档案 / 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 在此档案内,则不允许进入。
4.本地用户设置
local_enable = YES / NOYES
控制是否允许本地用户登入, YES 为允许本地用户登入, NO为不允许。默认值为 YES
local_root = / home / username
当本地用户登入时,将被更换到定义的目录下。默认值为各用户的家目录。
write_enable = YES / NOYES
是否允许登陆用户有写权限。属于全局设置,默认值为 YES
local_umask = 022
本地用户新增档案时的 umask 值。默认值为 077
file_open_mode = 0755
本地用户上传档案后的档案权限,与 chmod 所使用的数值相同。默认值为 0666
5.欢迎语设置
dirmessage_enable = YES / NOYES
如果启动这个选项,那么使用者第一次进入一个目录时,会检查该目录下是否有 .message这个档案,如果有,则会出现此档案的内容,通常这个档案会放置欢迎话语,或是对该目录的说明。默认值为开启。
message_file = .message
设置目录消息文件,可将要显示的信息写入该文件。默认值为 .message
banner_file = / etc / vsftpd / banner
当使用者登入时,会显示此设定所在的档案内容,通常为欢迎话语或是说明。默认值为无。如果欢迎信息较多,则使用该配置项。
ftpd_banner = Welcome to BOB' s FTP server
这里用来定义欢迎话语的字符串, banner _file是档案的形式,而 ftpd _banner 则是字符串的形式。预设为无。
6.控制用户是否允许切换到上级目录
在默认配置下,本地用户登入 FTP后可以使用 cd命令切换到其他目录,这样会对系统带来安全隐患。可以通过以下三条配置文件来控制用户切换目录。
chroot_list_enable = YES / NONO
设置是否启用 chroot_list _file配置项指定的用户列表文件。默认值为 NO
chroot_list_file = / etc / vsftpd .chroot_list
用于指定用户列表文件,该文件用于控制哪些用户可以切换到用户家目录的上级目录。
chroot_local_user = YES / NONO
用于指定用户列表文件中的用户是否允许切换到上级目录。默认值为 NO
通过搭配能实现以下几种效果:
①当 chroot_list_enable = YESchroot_local_user = YES时,在 / etc / vsftpd .chroot_list文件中列出的用户,可以切换到其他目录;未在文件中列出的用户,不能切换到其他目录。
②当 chroot_list_enable = YESchroot_local_user = NO时,在 / etc / vsftpd .chroot_list文件中列出的用户,不能切换到其他目录;未在文件中列出的用户,可以切换到其他目录。
③当 chroot_list_enable = NOchroot_local_user = YES时,所有的用户均不能切换到其他目录。
④当 chroot_list_enable = NOchroot_local_user = NO时,所有的用户均可以切换到其他目录。
7.数据传输模式设置
FTP在传输数据时,可以使用二进制方式,也可以使用 ASCII模式来上传或下载数据。
ascii_upload_enable = YES / NONO
设置是否启用 ASCII 模式上传数据。默认值为 NO
ascii_download_enable = YES / NONO
设置是否启用 ASCII 模式下载数据。默认值为 NO
8.访问控制设置
两种控制方式:一种控制主机访问,另一种控制用户访问。
①控制主机访问:
tcp_wrappers = YES / NOYES
vsftpd是否与 tcp wrapper相结合来进行主机的访问控制。默认值为 YES。如果启用,则 vsftpd服务器会检查 / etc / hosts .allow / etc / hosts .deny 中的设置,来决定请求连接的主机,是否允许访问该 FTP服务器。这两个文件可以起到简易的防火墙功能。
比如:若要仅允许 192.168.0.1192.168.0.254的用户可以连接 FTP服务器,则在 / etc / hosts .allow文件中添加以下内容:
vsftpd : 192.168.0. : allow
all : all : deny
②控制用户访问:
对于用户的访问控制可以通过 / etc目录下的 vsftpd .user_listftpusers文件来实现。
userlist_file = / etc / vsftpd .user_list
控制用户访问 FTP的文件,里面写着用户名称。一个用户名称一行。
userlist_enable = YES / NONO
是否启用 vsftpd .user_list文件。
userlist_deny = YES / NOYES
决定 vsftpd .user_list文件中的用户是否能够访问 FTP服务器。若设置为 YES,则 vsftpd .user_list文件中的用户不允许访问 FTP,若设置为 NO,则只有 vsftpd .user_list文件中的用户才能访问 FTP
/ etc / vsftpd / ftpusers文件专门用于定义不允许访问 FTP服务器的用户列表(注意 :如果 userlist_enable = YES , userlist_deny = NO ,此时如果在 vsftpd .user_listftpusers中都有某个 用户时,那么这个用户是不能够访问 FTP的,即 ftpusers的优先级要高)。默认情况下 vsftpd .user_listftpusers,这两个 文件已经预设置了一些不允许访问 FTP服务器的系统内部账户。如果系统没有这两个文件,那么新建这两个文件,将用户添加进去即可。
9.访问速率设置
anon_max_rate = 0
设置匿名登入者使用的最大传输速度,单位为 B / s0 表示不限制速度。默认值为 0
local_max_rate = 0
本地用户使用的最大传输速度,单位为 B / s0 表示不限制速度。预设值为 0
10.超时时间设置
accept_timeout = 60
设置建立 FTP连接的超时时间,单位为秒。默认值为 60
connect_timeout = 60
PORT 方式下建立数据连接的超时时间,单位为秒。默认值为 60
data_connection_timeout = 120
设置建立 FTP数据连接的超时时间,单位为秒。默认值为 120
idle_session_timeout = 300
设置多长时间不对 FTP服务器进行任何操作,则断开该 FTP连接,单位为秒。默认值为 300
11.日志文件设置
xferlog_enable = YES / NOYES
是否启用上传 /下载日志记录。如果启用,则上传与下载的信息将被完整纪录在 xferlog _file 所定义的档案中。预设为开启。
xferlog_file = / var / log / vsftpd .log
设置日志文件名和路径,默认值为 / var / log / vsftpd .log
xferlog_std_format = YES / NONO
如果启用,则日志文件将会写成 xferlog的标准格式,如同 wu - ftpd 一般。默认值为关闭。
log_ftp_protocol = YES | NONO
如果启用此选项,所有的 FTP请求和响应都会被记录到日志中,默认日志文件在 / var / log / vsftpd .log。启用此选项时, xferlog_std _format不能被激活。这个选项有助于调试。默认值为 NO
12.定义用户配置文件
vsftpd中,可以通过定义用户配置文件来实现不同的用户使用不同的配置。
user_config_dir = / etc / vsftpd / userconf
设置用户配置文件所在的目录。当设置了该配置项后,用户登陆服务器后,系统就会到 / etc / vsftpd / userconf目录下,读取与当前用户名相同的文件,并根据文件中的配置命令,对当前用户进行更进一步的配置。
如:定义 user_config_dir = / etc / vsftpd / userconf,且主机上有使用者 test1 , test2,那么我们就在 user_config _dir 的目录新增文件名为 test1test2两个文件。若是 test1 登入,则会读取 user_config _dir 下的 test1 这个档案内的设定。默认值为无。利用用户配置文件,可以实现对不同用户进行访问速度的控制,在各用户配置文件中定义 local_max_rate = XX即可。
13.FTP的工作方式与端口设置
FTP有两种工作方式: PORT FTP(主动模式)和 PASV FTP(被动模式)
listen_port = 21
设置 FTP服务器建立连接所监听的端口,默认值为 21
connect_from_port_20 = YES / NO
指定 FTP使用 20端口进行数据传输,默认值为 YES
ftp_data_port = 20
设置在 PORT方式下, FTP数据连接使用的端口,默认值为 20
pasv_enable = YES / NOYES
若设置为 YES,则使用 PASV工作模式;若设置为 NO,则使用 PORT模式。默认值为 YES,即使用 PASV工作模式。
pasv_max_port = 0
PASV工作模式下,数据连接可以使用的端口范围的最大端口, 0 表示任意端口。默认值为 0
pasv_min_port = 0
PASV工作模式下,数据连接可以使用的端口范围的最小端口, 0 表示任意端口。默认值为 0
14.与连接相关的设置
listen = YES / NOYES
vsftpd服务器是否以 standalone模式运行。以 standalone模式运行是一种较好的方式,此时 listen必须设置为 YES,此为默 认值。建议不要更改,有很多与服务器运行相关的配置命令,需要在此模式下才有效。若设置为 NO,则 vsftpd不是以独立的服务运行,要受到 xinetd 服务的管控,功能上会受到限制。
max_clients = 0
设置 vsftpd允许的最大连接数,默认值为 0,表示不受限制。若设置为 100时,则同时允许有 100个连接,超出的将被拒绝。只有在 standalone模式运行才有效。
max_per_ip = 0
设置每个 IP允许与 FTP服务器同时建立连接的数目。默认值为 0,表示不受限制。只有在 standalone模式运行才有效。
listen_address = IP地址
设置 FTP服务器在指定的 IP地址上侦听用户的 FTP请求。若不设置,则对服务器绑定的所有 IP地址进行侦听。只有在 standalone模式运行才有效。
setproctitle_enable = YES / NONO
设置每个与 FTP服务器的连接,是否以不同的进程表现出来。默认值为 NO,此时使用 ps aux | grep ftp只会有一个 vsftpd的进程。若设置为 YES,则每个连接都会有一个 vsftpd的进程。
15.虚拟用户设置
虚拟用户使用 PAM认证方式。
pam_service_name = vsftpd
设置 PAM使用的名称,默认值为 / etc / pam .d / vsftpd
guest_enable = YES / NONO
启用虚拟用户。默认值为 NO
guest_username = ftp
这里用来映射虚拟用户。默认值为 ftp
virtual_use_local_privs = YES / NONO
当该参数激活( YES)时,虚拟用户使用与本地用户相同的权限。当此参数关闭( NO)时,虚拟用户使用与匿名用户相同的权限。默认情况下此参数是关闭的( NO)。
16.其他设置
text_userdb_names = YES / NONO
设置在执行 ls la之类的命令时,是显示 UIDGID还是显示出具体的用户名和组名。默认值为 NO,即以 UIDGID方式显示。若希望显示用户名和组名,则设置为 YES
ls_recurse_enable = YES / NONO
若是启用此功能,则允许登入者使用 ls R(可以查看当前目录下子目录中的文件)这个指令。默认值为 NO
hide_ids = YES / NONO
如果启用此功能,所有档案的拥有者与群组都为 ftp,也就是使用者登入使用 ls - al之类的指令,所看到的档案拥有者跟群组均为 ftp。默认值为关闭。
download_enable = YES / NOYES
如果设置为 NO,所有的文件都不能下载到本地,文件夹不受影响。默认值为 YES

3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
1.默认配置:
1 >允许匿名用户和本地用户登陆。
     anonymous_enable = YES
     local_enable = YES
2 >匿名用户使用的登陆名为 ftpanonymous,口令为空;匿名用户不能离开匿名   用户家目录 / var / ftp ,且只能下载不能上传。
3 >本地用户的登录名为本地用户名,口令为此本地用户的口令;本地用户可以在自己家目录中进行读写操作;本地用户可以离开自家目录切换至有权限访问的其他目录,并在权限允许的情况下进行上传 /下载。
     write_enable = YES
4 >写在文件 / etc / vsftpd .ftpusers中的本地用户禁止登陆。
2.配置文件格式:
vsftpd .conf 的内容非常单纯,每一行即为一项设定。若是空白行或是开头为 #的一行,将会被忽略。内容的格式只有一种,如下所示
option = value
要注意的是,等号两边不能加空白。
3.匿名用户( anonymous)设置
anonymous_enable = YES / NOYES
控制是否允许匿名用户登入, YES 为允许匿名登入, NO 为不允许。默认值为 YES
write_enable = YES / NOYES
是否允许登陆用户有写权限。属于全局设置,默认值为 YES
no_anon_password = YES / NONO
若是启动这项功能,则使用匿名登入时,不会询问密码。默认值为 NO
ftpftp_username = ftp
定义匿名登入的使用者名称。默认值为 ftp
anon_root = / var / ftp
使用匿名登入时,所登入的目录。默认值为 / var / ftp。注意 ftp目录不能是 777的权限属性,即匿名用户的家目录不能有 777的权限。
anon_upload_enable = YES / NONO
如果设为 YES,则允许匿名登入者有上传文件(非目录)的权限,只有在 write_enable = YES时,此项才有效。当然,匿名用户必须要有对上层目录的写入权。默认值为 NO
anon_world_readable_only = YES / NOYES
如果设为 YES,则允许匿名登入者下载可阅读的档案(可以下载到本机阅读,不能直接在 FTP服务器中打开阅读)。默认值为 YES
anon_mkdir_write_enable = YES / NONO
如果设为 YES,则允许匿名登入者有新增目录的权限,只有在 write_enable = YES时,此项才有效。当然,匿名用户必须要有对上层目录的写入权。默认值为 NO
anon_other_write_enable = YES / NONO
果设为 YES,则允许匿名登入者更多于上传或者建立目录之外的权限,譬如删除或者重命名。(如果 anon_upload_enable = NO,则匿名用户 不能上传文件,但可以删除或者重命名已经存在的文件;如果 anon_mkdir_write_enable = NO,则匿名用户不能上传或者新建文件夹,但 可以删除或者重命名已经存在的文件夹。)默认值为 NO
chown_uploads = YES / NONO
设置是否改变匿名用户上传文件(非目录)的属主。默认值为 NO
chown_username = username
设置匿名用户上传文件(非目录)的属主名。建议不要设置为 root
anon_umask = 077
设置匿名登入者新增或上传档案时的 umask 值。默认值为 077,则新建档案的对应权限为 700
deny_email_enable = YES / NONO
若是启动这项功能,则必须提供一个档案 / 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 在此档案内,则不允许进入。
4.本地用户设置
local_enable = YES / NOYES
控制是否允许本地用户登入, YES 为允许本地用户登入, NO为不允许。默认值为 YES
local_root = / home / username
当本地用户登入时,将被更换到定义的目录下。默认值为各用户的家目录。
write_enable = YES / NOYES
是否允许登陆用户有写权限。属于全局设置,默认值为 YES
local_umask = 022
本地用户新增档案时的 umask 值。默认值为 077
file_open_mode = 0755
本地用户上传档案后的档案权限,与 chmod 所使用的数值相同。默认值为 0666
5.欢迎语设置
dirmessage_enable = YES / NOYES
如果启动这个选项,那么使用者第一次进入一个目录时,会检查该目录下是否有 .message这个档案,如果有,则会出现此档案的内容,通常这个档案会放置欢迎话语,或是对该目录的说明。默认值为开启。
message_file = .message
设置目录消息文件,可将要显示的信息写入该文件。默认值为 .message
banner_file = / etc / vsftpd / banner
当使用者登入时,会显示此设定所在的档案内容,通常为欢迎话语或是说明。默认值为无。如果欢迎信息较多,则使用该配置项。
ftpd_banner = Welcome to BOB' s FTP server
这里用来定义欢迎话语的字符串, banner _file是档案的形式,而 ftpd _banner 则是字符串的形式。预设为无。
6.控制用户是否允许切换到上级目录
在默认配置下,本地用户登入 FTP后可以使用 cd命令切换到其他目录,这样会对系统带来安全隐患。可以通过以下三条配置文件来控制用户切换目录。
chroot_list_enable = YES / NONO
设置是否启用 chroot_list _file配置项指定的用户列表文件。默认值为 NO
chroot_list_file = / etc / vsftpd .chroot_list
用于指定用户列表文件,该文件用于控制哪些用户可以切换到用户家目录的上级目录。
chroot_local_user = YES / NONO
用于指定用户列表文件中的用户是否允许切换到上级目录。默认值为 NO
通过搭配能实现以下几种效果:
①当 chroot_list_enable = YESchroot_local_user = YES时,在 / etc / vsftpd .chroot_list文件中列出的用户,可以切换到其他目录;未在文件中列出的用户,不能切换到其他目录。
②当 chroot_list_enable = YESchroot_local_user = NO时,在 / etc / vsftpd .chroot_list文件中列出的用户,不能切换到其他目录;未在文件中列出的用户,可以切换到其他目录。
③当 chroot_list_enable = NOchroot_local_user = YES时,所有的用户均不能切换到其他目录。
④当 chroot_list_enable = NOchroot_local_user = NO时,所有的用户均可以切换到其他目录。
7.数据传输模式设置
FTP在传输数据时,可以使用二进制方式,也可以使用 ASCII模式来上传或下载数据。
ascii_upload_enable = YES / NONO
设置是否启用 ASCII 模式上传数据。默认值为 NO
ascii_download_enable = YES / NONO
设置是否启用 ASCII 模式下载数据。默认值为 NO
8.访问控制设置
两种控制方式:一种控制主机访问,另一种控制用户访问。
①控制主机访问:
tcp_wrappers = YES / NOYES
vsftpd是否与 tcp wrapper相结合来进行主机的访问控制。默认值为 YES。如果启用,则 vsftpd服务器会检查 / etc / hosts .allow / etc / hosts .deny 中的设置,来决定请求连接的主机,是否允许访问该 FTP服务器。这两个文件可以起到简易的防火墙功能。
比如:若要仅允许 192.168.0.1192.168.0.254的用户可以连接 FTP服务器,则在 / etc / hosts .allow文件中添加以下内容:
vsftpd : 192.168.0. : allow
all : all : deny
②控制用户访问:
对于用户的访问控制可以通过 / etc目录下的 vsftpd .user_listftpusers文件来实现。
userlist_file = / etc / vsftpd .user_list
控制用户访问 FTP的文件,里面写着用户名称。一个用户名称一行。
userlist_enable = YES / NONO
是否启用 vsftpd .user_list文件。
userlist_deny = YES / NOYES
决定 vsftpd .user_list文件中的用户是否能够访问 FTP服务器。若设置为 YES,则 vsftpd .user_list文件中的用户不允许访问 FTP,若设置为 NO,则只有 vsftpd .user_list文件中的用户才能访问 FTP
/ etc / vsftpd / ftpusers文件专门用于定义不允许访问 FTP服务器的用户列表(注意 :如果 userlist_enable = YES , userlist_deny = NO ,此时如果在 vsftpd .user_listftpusers中都有某个 用户时,那么这个用户是不能够访问 FTP的,即 ftpusers的优先级要高)。默认情况下 vsftpd .user_listftpusers,这两个 文件已经预设置了一些不允许访问 FTP服务器的系统内部账户。如果系统没有这两个文件,那么新建这两个文件,将用户添加进去即可。
9.访问速率设置
anon_max_rate = 0
设置匿名登入者使用的最大传输速度,单位为 B / s0 表示不限制速度。默认值为 0
local_max_rate = 0
本地用户使用的最大传输速度,单位为 B / s0 表示不限制速度。预设值为 0
10.超时时间设置
accept_timeout = 60
设置建立 FTP连接的超时时间,单位为秒。默认值为 60
connect_timeout = 60
PORT 方式下建立数据连接的超时时间,单位为秒。默认值为 60
data_connection_timeout = 120
设置建立 FTP数据连接的超时时间,单位为秒。默认值为 120
idle_session_timeout = 300
设置多长时间不对 FTP服务器进行任何操作,则断开该 FTP连接,单位为秒。默认值为 300
11.日志文件设置
xferlog_enable = YES / NOYES
是否启用上传 /下载日志记录。如果启用,则上传与下载的信息将被完整纪录在 xferlog _file 所定义的档案中。预设为开启。
xferlog_file = / var / log / vsftpd .log
设置日志文件名和路径,默认值为 / var / log / vsftpd .log
xferlog_std_format = YES / NONO
如果启用,则日志文件将会写成 xferlog的标准格式,如同 wu - ftpd 一般。默认值为关闭。
log_ftp_protocol = YES | NONO
如果启用此选项,所有的 FTP请求和响应都会被记录到日志中,默认日志文件在 / var / log / vsftpd .log。启用此选项时, xferlog_std _format不能被激活。这个选项有助于调试。默认值为 NO
12.定义用户配置文件
vsftpd中,可以通过定义用户配置文件来实现不同的用户使用不同的配置。
user_config_dir = / etc / vsftpd / userconf
设置用户配置文件所在的目录。当设置了该配置项后,用户登陆服务器后,系统就会到 / etc / vsftpd / userconf目录下,读取与当前用户名相同的文件,并根据文件中的配置命令,对当前用户进行更进一步的配置。
如:定义 user_config_dir = / etc / vsftpd / userconf,且主机上有使用者 test1 , test2,那么我们就在 user_config _dir 的目录新增文件名为 test1test2两个文件。若是 test1 登入,则会读取 user_config _dir 下的 test1 这个档案内的设定。默认值为无。利用用户配置文件,可以实现对不同用户进行访问速度的控制,在各用户配置文件中定义 local_max_rate = XX即可。
13.FTP的工作方式与端口设置
FTP有两种工作方式: PORT FTP(主动模式)和 PASV FTP(被动模式)
listen_port = 21
设置 FTP服务器建立连接所监听的端口,默认值为 21
connect_from_port_20 = YES / NO
指定 FTP使用 20端口进行数据传输,默认值为 YES
ftp_data_port = 20
设置在 PORT方式下, FTP数据连接使用的端口,默认值为 20
pasv_enable = YES / NOYES
若设置为 YES,则使用 PASV工作模式;若设置为 NO,则使用 PORT模式。默认值为 YES,即使用 PASV工作模式。
pasv_max_port = 0
PASV工作模式下,数据连接可以使用的端口范围的最大端口, 0 表示任意端口。默认值为 0
pasv_min_port = 0
PASV工作模式下,数据连接可以使用的端口范围的最小端口, 0 表示任意端口。默认值为 0
14.与连接相关的设置
listen = YES / NOYES
vsftpd服务器是否以 standalone模式运行。以 standalone模式运行是一种较好的方式,此时 listen必须设置为 YES,此为默 认值。建议不要更改,有很多与服务器运行相关的配置命令,需要在此模式下才有效。若设置为 NO,则 vsftpd不是以独立的服务运行,要受到 xinetd 服务的管控,功能上会受到限制。
max_clients = 0
设置 vsftpd允许的最大连接数,默认值为 0,表示不受限制。若设置为 100时,则同时允许有 100个连接,超出的将被拒绝。只有在 standalone模式运行才有效。
max_per_ip = 0
设置每个 IP允许与 FTP服务器同时建立连接的数目。默认值为 0,表示不受限制。只有在 standalone模式运行才有效。
listen_address = IP地址
设置 FTP服务器在指定的 IP地址上侦听用户的 FTP请求。若不设置,则对服务器绑定的所有 IP地址进行侦听。只有在 standalone模式运行才有效。
setproctitle_enable = YES / NONO
设置每个与 FTP服务器的连接,是否以不同的进程表现出来。默认值为 NO,此时使用 ps aux | grep ftp只会有一个 vsftpd的进程。若设置为 YES,则每个连接都会有一个 vsftpd的进程。
15.虚拟用户设置
虚拟用户使用 PAM认证方式。
pam_service_name = vsftpd
设置 PAM使用的名称,默认值为 / etc / pam .d / vsftpd
guest_enable = YES / NONO
启用虚拟用户。默认值为 NO
guest_username = ftp
这里用来映射虚拟用户。默认值为 ftp
virtual_use_local_privs = YES / NONO
当该参数激活( YES)时,虚拟用户使用与本地用户相同的权限。当此参数关闭( NO)时,虚拟用户使用与匿名用户相同的权限。默认情况下此参数是关闭的( NO)。
16.其他设置
text_userdb_names = YES / NONO
设置在执行 ls la之类的命令时,是显示 UIDGID还是显示出具体的用户名和组名。默认值为 NO,即以 UIDGID方式显示。若希望显示用户名和组名,则设置为 YES
ls_recurse_enable = YES / NONO
若是启用此功能,则允许登入者使用 ls R(可以查看当前目录下子目录中的文件)这个指令。默认值为 NO
hide_ids = YES / NONO
如果启用此功能,所有档案的拥有者与群组都为 ftp,也就是使用者登入使用 ls - al之类的指令,所看到的档案拥有者跟群组均为 ftp。默认值为关闭。
download_enable = YES / NOYES
如果设置为 NO,所有的文件都不能下载到本地,文件夹不受影响。默认值为 YES

你可能感兴趣的:(服务器)