部署匿名vsftpd服务器


1.设置静态的ip、关闭防火墙,禁用selinux,设置主机名。

1)配置ip地址

[root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0 
DEVICE=eth0
HWADDR=00:0C:29:6A:41:A2
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=static
IPADDR=192.168.200.202
NETMASK=255.255.255.0
GATEWAY=192.168.200.254
DNS1=192.168.200.254
DNS2=202.106.0.20


2)关闭iptables和selinux

/etc/init.d/network restart

/etc/init.d/iptables stop

chkconfig iptables off

chkconfig network on

vi /etc/selinux/config 

SELINUX=disabled

:wq

[root@leslie ~]# vi /etc/sysconfig/selinux 
[root@leslie ~]# cat /etc/sysconfig/selinux 

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these two values:
#     targeted - Targeted processes are protected,
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted 

[root@leslie ~]# /etc/init.d/iptables stop
[root@leslie ~]# chkconfig iptables off

3)设置主机名  (重启后生效)

    

[root@leslie ~]# vi /etc/sysconfig/network
[root@leslie ~]# reboot


4)验证:

iptables -L

getenforce

hostname

ip a

ip r

[root@leslie ~]# 
[root@leslie ~]# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         
[root@leslie ~]# getenforce 
Disabled
[root@leslie ~]# hostname 
leslie
[root@leslie ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:6a:41:a2 brd ff:ff:ff:ff:ff:ff
    inet 192.168.200.202/24 brd 192.168.200.255 scope global eth0
    inet6 fe80::20c:29ff:fe6a:41a2/64 scope link 
       valid_lft forever preferred_lft forever
[root@leslie ~]# ip r
192.168.200.0/24 dev eth0  proto kernel  scope link  src 192.168.200.202 
169.254.0.0/16 dev eth0  scope link  metric 1002 
default via 192.168.200.254 dev eth0


2.安装软件,并且了解安装的所有的文件。

1)配置yum:

rm -rf /etc/yum.repos.d/*

vi /etc/yum.repos.d/centos.repo

[local]

name=local

baseurl=file:///mnt/

enabled=1

gpgcheck=0

:wq

        

[root@leslie ~]# cat /etc/yum.repos.d/centos.repo 
[local]
named=local
baseurl=ftp://192.168.200.254/centos6
enabled=1
gpgcheck=0
[root@leslie ~]#

            ##这里192.168.200.254是另一台服务器,通过ftp提供yum源


2)安装和查看安装的文件:

yum -y install vsftpd  &>/dev/null       ##安装,并将输出信息导入到垃圾桶,就是不看安装过程

rpm -qa |grep vsftpd      ##查看vsftpd是否安装,是由哪个软件包安装

rpm -qc vsftpd    ##查看ftp的配置文件位置

rpm -qd vsftpd    ##查看ftp的帮助文档位置

rpm -ql vsftpd     ##查看ftp的所有文件位置


[root@leslie ~]# yum -y install vsftpd &>/dev/null

[root@leslie ~]# rpm -qa |grep vsftpd
vsftpd-2.2.2-11.el6_4.1.x86_64

[root@leslie ~]# rpm -qc vsftpd
/etc/logrotate.d/vsftpd
/etc/pam.d/vsftpd
/etc/vsftpd/ftpusers
/etc/vsftpd/user_list
/etc/vsftpd/vsftpd.conf

[root@leslie ~]# rpm -qd vsftpd
/usr/share/doc/vsftpd-2.2.2/AUDIT
/usr/share/doc/vsftpd-2.2.2/BENCHMARKS
/usr/share/doc/vsftpd-2.2.2/BUGS
/usr/share/doc/vsftpd-2.2.2/COPYING
/usr/share/doc/vsftpd-2.2.2/Changelog
/usr/share/doc/vsftpd-2.2.2/EXAMPLE/INTERNET_SITE/README
/usr/share/doc/vsftpd-2.2.2/EXAMPLE/INTERNET_SITE/README.configuration
/usr/share/doc/vsftpd-2.2.2/EXAMPLE/INTERNET_SITE/vsftpd.conf
/usr/share/doc/vsftpd-2.2.2/EXAMPLE/INTERNET_SITE/vsftpd.xinetd
/usr/share/doc/vsftpd-2.2.2/EXAMPLE/INTERNET_SITE_NOINETD/README
/usr/share/doc/vsftpd-2.2.2/EXAMPLE/INTERNET_SITE_NOINETD/README.configuration
/usr/share/doc/vsftpd-2.2.2/EXAMPLE/INTERNET_SITE_NOINETD/vsftpd.conf
/usr/share/doc/vsftpd-2.2.2/EXAMPLE/PER_IP_CONFIG/README
/usr/share/doc/vsftpd-2.2.2/EXAMPLE/PER_IP_CONFIG/README.configuration
/usr/share/doc/vsftpd-2.2.2/EXAMPLE/PER_IP_CONFIG/hosts.allow
/usr/share/doc/vsftpd-2.2.2/EXAMPLE/README
/usr/share/doc/vsftpd-2.2.2/EXAMPLE/VIRTUAL_HOSTS/README
/usr/share/doc/vsftpd-2.2.2/EXAMPLE/VIRTUAL_USERS/README
/usr/share/doc/vsftpd-2.2.2/EXAMPLE/VIRTUAL_USERS/README.configuration
/usr/share/doc/vsftpd-2.2.2/EXAMPLE/VIRTUAL_USERS/logins.txt
/usr/share/doc/vsftpd-2.2.2/EXAMPLE/VIRTUAL_USERS/vsftpd.conf
/usr/share/doc/vsftpd-2.2.2/EXAMPLE/VIRTUAL_USERS/vsftpd.pam
/usr/share/doc/vsftpd-2.2.2/EXAMPLE/VIRTUAL_USERS_2/README
    。。。。。。省略
    
    
    
[root@leslie ~]# rpm -ql vsftpd
/etc/logrotate.d/vsftpd
/etc/pam.d/vsftpd
/etc/rc.d/init.d/vsftpd
/etc/vsftpd
/etc/vsftpd/ftpusers
/etc/vsftpd/user_list
/etc/vsftpd/vsftpd.conf
/etc/vsftpd/vsftpd_conf_migrate.sh
/usr/sbin/vsftpd
/usr/share/doc/vsftpd-2.2.2/EXAMPLE/INTERNET_SITE
/usr/share/doc/vsftpd-2.2.2/EXAMPLE/INTERNET_SITE/README
/usr/share/doc/vsftpd-2.2.2/EXAMPLE/INTERNET_SITE/README.configuration
/usr/share/doc/vsftpd-2.2.2/EXAMPLE/INTERNET_SITE/vsftpd.conf
/usr/share/doc/vsftpd-2.2.2/EXAMPLE/INTERNET_SITE/vsftpd.xinetd
/usr/share/doc/vsftpd-2.2.2/EXAMPLE/INTERNET_SITE_NOINETD
/usr/share/doc/vsftpd-2.2.2/EXAMPLE/INTERNET_SITE_NOINETD/README
/usr/share/doc/vsftpd-2.2.2/EXAMPLE/INTERNET_SITE_NOINETD/README.configuration
/usr/share/doc/vsftpd-2.2.2/EXAMPLE/INTERNET_SITE_NOINETD/vsftpd.conf
/usr/share/doc/vsftpd-2.2.2/EXAMPLE/PER_IP_CONFIG
/usr/share/doc/vsftpd-2.2.2/EXAMPLE/PER_IP_CONFIG/README
/usr/share/doc/vsftpd-2.2.2/EXAMPLE/PER_IP_CONFIG/README.configuration
/usr/share/doc/vsftpd-2.2.2/SIZE
/usr/share/doc/vsftpd-2.2.2/SPEED
/usr/share/doc/vsftpd-2.2.2/TODO
/usr/share/doc/vsftpd-2.2.2/TUNING
/usr/share/doc/vsftpd-2.2.2/vsftpd.xinetd
/usr/share/man/man5/vsftpd.conf.5.gz
/usr/share/man/man8/vsftpd.8.gz
/var/ftp
/var/ftp/pub
   。。。。。。省略


3.根据需求,修改配置文件定制功能。

cd /etc/vsftpd/

cp vsftpd.conf vsftpd.conf.bak  ##备份配置文件,方便恢复

/bin/cp -rf /usr/share/doc/vsftpd-2.2.2/EXAMPLE/INTERNET_SITE_NOINETD/vsftpd.conf  /etc/vsftpd.conf        ##这一步是拷贝匿名配置文件的模板,复制可以直接使用。

[root@leslie ~]# cp /etc/vsftpd/vsftpd.conf{,.bak}
[root@leslie ~]# ls /etc/vsftpd/vsftpd
vsftpd.conf             vsftpd.conf.bak         vsftpd_conf_migrate.sh
[root@leslie ~]# cp /usr/share/doc/vsftpd-2.2.2/EXAMPLE/INTERNET_SITE_NOINETD/vsftpd.conf /etc/vsftpd/
cp:是否覆盖"/etc/vsftpd/vsftpd.conf"? y

cat /etc/vsftpd/vsftpd.conf
    [root@leslie ~]# cat /etc/vsftpd/vsftpd.conf
# Standalone mode
listen=YES
max_clients=200
max_per_ip=4
# Access rights
anonymous_enable=YES
local_enable=NO
write_enable=NO
anon_upload_enable=NO
anon_mkdir_write_enable=NO
anon_other_write_enable=NO
# Security
anon_world_readable_only=YES
connect_from_port_20=YES
hide_ids=YES
pasv_min_port=50000
pasv_max_port=60000
# Features
xferlog_enable=YES
ls_recurse_enable=NO
ascii_download_enable=NO
async_abor_enable=YES
# Performance
one_process_model=YES
idle_session_timeout=120
data_connection_timeout=300
accept_timeout=60
connect_timeout=60
anon_max_rate=50000

4.启动服务、测试。

/etc/init.d/vsftpd start

chkconfig vsftpd on

[root@leslie ~]# /etc/init.d/vsftpd start
为 vsftpd 启动 vsftpd:                                    [确定]
[root@leslie ~]# chkconfig vsftpd on

    往ftp里面写入测试文件

    

[root@leslie ~]# 
[root@leslie ~]# cd /var/ftp/pub/
[root@leslie pub]# touch 测试文件
[root@leslie pub]# ls
测试文件

客户端访问测试:

yum -y install lftp ftp

lftp 192.168.200.202-->get 测试文件--bye

[root@leslie ~]# yum -y intall lftp ftp&>>/dev/null
[root@leslie ~]# lftp 192.168.200.202
lftp 192.168.200.202:~> ls                
drwxr-xr-x    4 ftp      ftp          4096 Aug 11 19:18 pub
lftp 192.168.200.202:/> cd pub
lftp 192.168.200.202:/pub> ls
drwxr-xr-x    2 ftp      ftp          4096 Aug 11 19:18 测试文件

在另一台服务器上访问:

[root@leslie ~]# 
[root@leslie ~]# lftp 192.168.200.202
lftp 192.168.200.202:~> cd pub/
lftp 192.168.200.202:/pub> ls
-rw-r--r--    1 ftp      ftp             0 Aug 11 19:37 测试文件
lftp 192.168.200.202:/pub> get 测试文件
lftp 192.168.200.202:/pub> bye
[root@leslie ~]# ls
anaconda-ks.cfg  install.log  install.log.syslog   测试文件


 在windows上访问测试:

    win+r  打开资源管理器  &或者是浏览器

    输入url  :    ftp://192.168.200.202

    





由于是公共匿名的ftp,考虑到安全。所以匿名用户只可以下载 不可更改、上传、删除等操作