首页 > 代码库 > linux下搭建FTP服务器

linux下搭建FTP服务器

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作为白名单