本文介绍了linux下ftp文件服务器的配置方法,使用vsftpd配置ftp文件服务器,包括ftp匿名用户、ftp匿名用户共享目录、ftp授权用户等知识点,还有些其它vsftpd教程中未提及的秘诀,需要的朋友参考下。
linux文件服务器之ftp配置教程 第三部分
2.8 ftp——匿名用户可以删除目录
--第一步,修改配置文件,加入anon_other_write_enable参数
[root@serv01 vsftpd]# vim vsftpd.conf
[root@serv01 vsftpd]# cat vsftpd.conf
listen=yes
write_enable=yes
anon_upload_enable=yes
anon_root=/share
#ftpd_banner="Welcome to mysite!!!----justdb"
#banner_file=/etc/vsftpd/my_banner
dirmessage_enable=yes
anon_mkdir_write_enable=yes
anon_other_write_enable=yes
--第二步,重启服务
[root@serv01 vsftpd]# /etc/init.d/vsftpdrestart
Shutting down vsftpd: [ OK ]
Starting vsftpd for vsftpd:[ OK ]
--第三步,测试
[root@serv02 ~]# ftp 192.168.1.11
Connected to 192.168.1.11 (192.168.1.11).
220 (vsFTPd 2.2.2)
Name (192.168.1.11:root): ftp
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> cd upload
250-this is upload dir
250 Directory successfully changed.
ftp> rm test
250 Remove directory operation successful.
ftp> mkdir test
257 "/upload/test" created
ftp> rmdir test
250 Remove directory operation successful.
ftp>
#删除文件(delete命令)
ftp> delete aa01.txt
250 Delete operation successful.
2.9 ftp——匿名用户限制下载速度
--第一步,安装ftp客户端
[root@larrywen opt]# yum install lftp -y
--第二步,拷贝文件测试
[root@larrywen ~]# cp/opt/soft/begin/RevolutionOS操作系统革命.rmvb .
--第三步,上传文件,发现速度很快,如果用户量访问过多,对系统造成的压力很大
[root@larrywen ~]# lftp 192.168.1.11
lftp 192.168.1.11:~> cd upload
cd ok, cwd=/upload
lftp 192.168.1.11:/upload> putRevolutionOS操作系统革命.rmvb
288570185 bytes transferred in 3 seconds(103.65M/s)
lftp 192.168.1.11:/upload> exit
--第四步,编辑文件
[root@serv01 vsftpd]# vim vsftpd.conf
[root@serv01 vsftpd]# cat vsftpd.conf
listen=yes
write_enable=yes
anon_upload_enable=yes
anon_root=/share
#ftpd_banner="Welcome to mysite!!!----justdb"
#banner_file=/etc/vsftpd/my_banner
dirmessage_enable=yes
anon_mkdir_write_enable=yes
anon_other_write_enable=yes
#一般设定为120K左右
anon_max_rate=1024000
--第五步,重启服务 (www.jb200.com)
[root@serv01 vsftpd]# /etc/init.d/vsftpdrestart
Shutting down vsftpd: [ OK ]
Starting vsftpd for vsftpd:[ OK ]
--第六步,再次上传,发现速度大约在1M左右
[root@larrywen ~]# lftp 192.168.1.11
lftp 192.168.1.11:~> cd upload
cd ok, cwd=/upload
lftp 192.168.1.11:/upload> putRevolutionOS操作系统革命.rmvb
288570185 bytes transferred in 283 seconds(995.1K/s)
2.10 ftp——匿名用户限制人数
--第一步,修改配置文件,加入max_clients参数
[root@serv01 vsftpd]# vim vsftpd.conf
[root@serv01 vsftpd]# cat vsftpd.conf
listen=yes
write_enable=yes
anon_upload_enable=yes
anon_root=/share
#ftpd_banner="Welcome to my site!!!----justdb"
#banner_file=/etc/vsftpd/my_banner
dirmessage_enable=yes
anon_mkdir_write_enable=yes
anon_other_write_enable=yes
anon_max_rate=1024000
max_clients=3
--第二步,重启服务
[root@serv01 vsftpd]# /etc/init.d/vsftpdrestart
Shutting down vsftpd: [ OK ]
Starting vsftpd for vsftpd:[ OK ]
--第三步,测试
#连续打开三个终端,使用ftp或者lftp分别建立ftp连接,到第四个的时候,发现出错,不能连接,配置文件生效(但是这样一个用户打开3个终端就独占了,其他用户不允许连接了)
[root@larrywen 0813]# ftp 192.168.1.11
Connected to 192.168.1.11 (192.168.1.11).
421 There are too many connected users,please try later.
2.11 ftp——匿名用户限制某个用户有几个连接
--第一步,修改配置文件,加入max_per_ip参数
[root@serv01 vsftpd]# vim vsftpd.conf
[root@serv01 vsftpd]# cat vsftpd.conf
listen=yes
write_enable=yes
anon_upload_enable=yes
anon_root=/share
#ftpd_banner="Welcome to mysite!!!----justdb"
#banner_file=/etc/vsftpd/my_banner
dirmessage_enable=yes
anon_mkdir_write_enable=yes
anon_other_write_enable=yes
anon_max_rate=1024000
max_clients=10
max_per_ip=2
--第二步,重启服务
[root@serv01 vsftpd]# /etc/init.d/vsftpdrestart
Shutting down vsftpd: [ OK ]
Starting vsftpd for vsftpd:[ OK ]
--第三步,测试。真实机建立2个连接后,建立第三个连接提示There are too many connections from your internet address,但是其他IP地址的用户不受影响
[root@larrywen ~]# ftp 192.168.1.11
[root@larrywen ~]# ftp 192.168.1.11
[root@larrywen ~]# ftp 192.168.1.11
Connected to 192.168.1.11 (192.168.1.11).
421 There are too many connections from yourinternet address.
[root@serv02 ~]# ftp 192.168.1.11
Connected to 192.168.1.11 (192.168.1.11).
220 (vsFTPd 2.2.2)
Name (192.168.1.11:root): ftp
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
2.12 ftp——匿名用户修改上传文件的权限
--第一步,修改配置文件,加入anon_umask参数
[root@serv01 vsftpd]# vim vsftpd.conf
[root@serv01 vsftpd]# cat vsftpd.conf
listen=yes
write_enable=yes
anon_upload_enable=yes
anon_root=/share
#ftpd_banner="Welcome to mysite!!!----justdb"
#banner_file=/etc/vsftpd/my_banner
dirmessage_enable=yes
anon_mkdir_write_enable=yes
anon_other_write_enable=yes
anon_max_rate=1024000
max_clients=10
max_per_ip=2
anon_umask=022
--第二步,重启服务
[root@serv01 vsftpd]# /etc/init.d/vsftpdrestart
Shutting down vsftpd: [ OK ]
Starting vsftpd for vsftpd:[ OK ]
--第三步,测试。上传文件,发现权限变为644
[root@serv02 ~]# ftp 192.168.1.11
Connected to 192.168.1.11 (192.168.1.11).
220 (vsFTPd 2.2.2)
Name (192.168.1.11:root): ftp
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> cd upload
250-this is upload dir
250 Directory successfully changed.
ftp> put aa01.txt
local: aa01.txt remote: aa01.txt
227 Entering Passive Mode (192,168,1,11,149,59).
150 Ok to send data.
226 Transfer complete.
6 bytes sent in 9.9e-05 secs (60.61Kbytes/sec)
ftp> ls aa01.txt
227 Entering Passive Mode(192,168,1,11,47,44).
150 Here comes the directory listing.
-rw-r--r-- 1 14506 Aug 13 14:09 aa01.txt
226 Directory send OK.
ftp>
2.13 ftp——匿名用户修改上传文件的所有者
--第一步,查看上传文件的所有者,发现拥有者时ftp
[root@serv01 upload]# ll
total 281812
-rw-r--r--. 1 ftp ftp 6 Aug 13 22:09 aa01.txt
-rw-------. 1 ftp ftp 288570185 Aug 13 20:04RevolutionOS操作系统革命.rmvb
--第二步,创建用户
[root@serv01 vsftpd]# useradd larry
--第三步,修改配置文件,加入chown_uploads和chown_username参数
[root@serv01 vsftpd]# vim vsftpd.conf
[root@serv01 vsftpd]# cat vsftpd.conf
listen=yes
write_enable=yes
anon_upload_enable=yes
anon_root=/share
#ftpd_banner="Welcome to mysite!!!----justdb"
#banner_file=/etc/vsftpd/my_banner
dirmessage_enable=yes
anon_mkdir_write_enable=yes
anon_other_write_enable=yes
anon_max_rate=1024000
max_clients=10
max_per_ip=2
anon_umask=022
chown_uploads=yes
chown_username=larry
#第四步,重启服务
[root@serv01 vsftpd]# /etc/init.d/vsftpdrestart
Shutting down vsftpd: [ OK ]
Starting vsftpd for vsftpd:[ OK ]
--第五步,上传文件,再次查看文件所有者,发现已经变化
[root@serv02 ~]# echo "hello">> aa02.txt
[root@serv02 ~]# ftp 192.168.1.11
Connected to 192.168.1.11 (192.168.1.11).
220 (vsFTPd 2.2.2)
Name (192.168.1.11:root): ftp
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> cd upload
250-this is upload dir
250 Directory successfully changed.
ftp> put aa02.txt
local: aa02.txt remote: aa02.txt
227 Entering Passive Mode(192,168,1,11,143,83).
150 Ok to send data.
226 Transfer complete.
6 bytes sent in 0.000114 secs (52.63Kbytes/sec)
ftp>
[root@serv01 upload]# ll *.txt
-rw-r--r--. 1 ftp ftp 6 Aug 13 22:09 aa01.txt
-rw-------. 1 larryftp 6 Aug 13 22:15 aa02.txt