1.安装vsftpd软件包
[root@ser5 pub]# yum -y install vsftpd
2.设置服务器的IP地址192.168.4.5
3.在/var/ftp/目录下建立测试文件 anon.txt
[root@ser5 /]# ifconfig > /var/ftp/anon.txt
4.在用户lisi的宿主目录下建立测试文件lisi.txt
[root@ser5 /]# useradd lisi
[root@ser5 /]# passwd lisi
更改用户 lisi 的密码 。
新的 密码:
无效的密码: WAY 过短
无效的密码: 过于简单
重新输入新的 密码:
passwd: 所有的身份验证令牌已经成功更新。
[root@ser5 /]# touch /home/lisi/lisi.txt
[root@ser5 /]# service vsftpd start
为 vsftpd 启动 vsftpd: [确定]
5.客户机验证
Win7客户机上:
1)匿名访问 FTP服务器,测试下载、上传
ftp://192.168.4.5/
2)以用户 lisi 登录 FTP服务器,测试下载、上传
Linux客户机上:
1)使用ftp命令访问FTP服务器,测试匿名访问、用户登录
[root@pc205 /]# ftp 192.168.4.5
Connected to 192.168.4.5 (192.168.4.5).
220 (vsFTPd 2.2.2)
Name (192.168.4.5:root): ftp
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
227 Entering Passive Mode (192,168,4,5,26,186).
150 Here comes the directory listing.
-rw-r--r-- 1 0 0 900 Aug 13 12:03 anon.txt
drwxr-xr-x 2 14 0 4096 Aug 13 09:30 pub
226 Directory send OK.
ftp> pwd
257 "/"
ftp> bye
221 Goodbye.
2)以用户lisi登录FTP服务器,下载/etc/inittab文件、上传install.log
[root@pc205 ~]# ftp 192.168.4.5
Connected to 192.168.4.5 (192.168.4.5).
220 (vsFTPd 2.2.2)
Name (192.168.4.5:root): lisi
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> cd /etc/
250 Directory successfully changed.
ftp> get inittab
local: inittab remote: inittab
227 Entering Passive Mode (192,168,4,5,86,88).
150 Opening BINARY mode data connection for inittab (884 bytes).
226 Transfer complete.
884 bytes received in 3.7e-05 secs (23891.89 Kbytes/sec)
ftp> cd /var/ftp
250 Directory successfully changed.
ftp> put install.log
local: install.log remote: install.log
227 Entering Passive Mode (192,168,4,5,95,194).
553 Could not create file.
ftp> bye
221 Goodbye.
3)断开ftp连接,查看下载的文件
[root@pc205 ~]# ls
anaconda-ks.cfg install.log.syslog 公共的 图片 音乐
inittab VMwareTools-9.6.0-1294478.tar.gz 模板 文档 桌面
install.log vmware-tools-distrib 视频 下载
6.在服务器端修改配置文件
[root@ser5 /]# vim /etc/vsftpd/vsftpd.conf
添加以下内容
anonymous_enable=YES //(默认)允许匿名登录
anon_upload_enable=YES //允许匿名上传文件
anon_mkdir_write_enable=YES //允许匿名创建目录
anon_other_write_enable=YES //允许其他写入权限
write_enable=YES //(默认)允许写入(全局)
anon_umask=022 //设置上传文件权限掩码
[root@svr5 ~]# chown ftp /var/ftp/pub/
[root@ser5 /]# service vsftpd reload
注:不能修改/var/ftp/的目录属主为ftp因为linux的安全机制,如果这么设置,那么匿名用户将不能访问,如果想让匿名用户有修改,写入的权限只能在其子目录下设置属主为ftp
7.禁锢本地用户 --> 宿主目录
修改配置文件,添加以下内容
chroot_local_user=YES
8.设置访问ftp服务器的黑白名单
黑名单文件:/etc/vsftpd/ftpusers
黑/白名单:/etc/vsftpd/user_list
1)将user_list作为黑名单(缺省)
userlist_enable=YES //(默认)启用user_list列表文件
userlist_deny=YES //(默认)
2)改将user_list作为白名单
userlist_enable=YES //(默认)启用user_list列表文件
userlist_deny=NO //将user_list作为白名单