2017/6/5 [更新]文件上传、下载功能。

2017/6/8 [更新]实现只有本地 dog 可以访问 ftp,以 user 为代表的其他用户不可以访问。

说明:在虚拟机(VMware Workstation Pro)下运行 Red Hat Linux。

用到一个软件包:shrike-i386-disc3.iso

步骤:

    1. 配置静态 IP。
    1. 安装 vsftpd 包,启动服务,测试服务。(在第三张镜像中)
    1. 上传、下载功能
    • 3.1 修改配置文件
    • 3.2 下载文件
    • 3.3 上传文件
    1. 禁止本地 user1 登录 ftp 服务器
    1. 实现只有本地 dog 可以访问 ftp,以 user 为代表的其他用户不可以

一、配置虚拟机静态 IP

左下角 “主菜单"→"系统设置"→"网络”,双击设备 “eth0”。

1
2
3
IP 地址:192.168.1.2
子网掩码:255.255.255.0
默认网关地址:192.168.1.254

在 “DNS” 选项卡下,修改 “主 DNS” 为 192.168.1.2。最后单击 “激活”。

二、安装

1. 挂载第三张镜像,安装 vsftpd

1
2
3
mount /dev/cdrom /mnt/cdrom		// 挂载镜像
cd /mnt/cdrom/RedHar/RPMS		// 进入软件包目录
rpm -ivh vsftpd-1.1.3-8.i386.rpm	// 安装

2. 启动服务

1
2
3
4
service vsftpd start	// 启动服务
ftp 192.168.1.2		// 静态 IP 地址
ftp			// 用户名
ftp			// 密码

出现如下图:

vsftpd

到此为止,ftp 就配置完成了。接下来进行一些配置案例。

三、实现上传、下载功能

注意:匿名用户只具有下载权限。若要实现上传权限,需要添加新的用户,用该用户登录 FTP 即可。

1. 修改配置文件

修改/etc/vsftpd/vsftpd.conf配置文件,即去掉anon_upload_enable=YESanon_mkdir_write_enable=YES前面的#号。该作用是:允许匿名用户上传和新建文件夹。

2.下载文件

1.匿名用户下载

①先创建文件

1
2
cd /var/ftp
touch 1.txt

②下载

1
2
3
4
5
cd /
ftp 192.168.1.2
ftp
ftp
get 1.txt		// 文件会下载到根目录

如下图:

linuxftp

2.新建用户下载

①添加用户

1
2
3
useradd dyf
passwd dyf
// 输入密码

②下载

我们现在实现将 /home/dyf/2.txt文件下载到 / 下。

先在/home/dyf 下新建 2.txt文件。然后登陆FTP,要记得用户名是 dyf,密码是你设置的密码。进入后执行get 2.txt即可。如下图:

linuxftp

3. 上传文件

由于匿名用户不能上传文件,改了配置文件也不能实现。所以,接下来实现 新建用户上传文件。我们现在实现将 /下的3.txt 文件,上传到 /home/dyf下。

1
2
3
4
ftp 192.168.1.2
dyf
// 输入密码
put 3.txt	//上传

如下图:

linuxftp

我们现在实现将 /下的3.txt 文件,上传到 /var/ftp/pub下。

1
2
3
4
5
6
7
chown ftp:ftp /var/ftp/pub	// 更改文件所有者和文件组群
chmod 777 /var/ftp/pub		// 增加权限
ftp 192.168.1.2
dyf
//输入密码
cd /var/ftp/pub			// 更改到该路径下
put 3.txt			// 上传

如下图:

linuxftp

四、禁止本地user1登录ftp服务器

1.添加用户

1
2
3
useradd	user1
passwd	user1
// 接下来输入两次密码

2.修改配置文件

修改 /etc/vsftpd.ftpusers 文件,在末尾添加 user1 ,保存退出。

3.重启服务

service vsftpd restart

4.如下图:

stopuser1

五、只有本地dog可以访问ftp,以user为代表的其他用户不可以访问

我这是重新配置的FTP服务器。(一切从新开始)

1. 安装包

即安装 vsftpd 包。

2. 开启服务

service vsftpd start

3. 添加用户 dog

1
2
useradd dog
passwd dog

4. 修改配置文件

  1. 修改 etc/vsftpd/vsftpd.conf文件,在末尾修改userlist_enable=YES,添加userlist_deny=NOuserlist_file=/etc/vsftpd.user_list。如下图: linux_ftp
  2. 修改etc/vsftpd.user_list文件,在末尾添加可以访问ftp的用户,例如dog

如下图:

linux_ftp

5. 重启服务,并测试

如下图:

linux_ftp