在Linux中搭建一个ftp服务器,以供两个工作小组保管文件使用。禁用匿名。第一个小组使用ftp账号:ftp1,工作目录在:/var/ftp/ftp1;第二个小组使用ftp2,工作目录在:/var/ftp/ftp2。

  两个小组互相不能访问各自的文件,需要限制用户不能离开自己的工作目录。

 

【实现步骤】

1.检查安装vsftpd服务器

以root进入终端后(其他账户进入终端的可以用su root 输入密码后进入root 模式)之后,在终端命令窗口输入以下命令进行验证:# rpm –qa | grep vsftpd。如果结果显示为“vsftpd-1.1.3-8”,则说明系统已经安装vsftpd服务器。若没有回复,即系统中没有安装。

2.rhel版本的系统光盘中带有vsftpd安装包,所以接下来,是挂载系统光盘到/media下以便调取。

3.上述截图显示本系统中没有安装vsftpd服务器,则用rpm命令安装。

即在终端命令窗口中安装vsftpd的命令: #rpm -ivh vsftpd-1.1.3-8.i386.rpm。

(1)先mount光驱,在/mnt/cdrom/Server目录里有rpm,rpm -ivh vsftpd*

 

4.创建用户

(1)首先要启动服务

(2)创建两个用户

  

5.vsftpd的配置

安装完之后在/etc/vsftpd/路径下会存在三个配置文件。

vsftpd.conf: 主配置文件

ftpusers: 指定哪些用户不能访问FTP服务器,这里的用户包括root在内的一些重要用户。

user_list: 指定的用户是否可以访问ftp服务器,通过vsftpd.conf文件中的userlist_deny的配置来决定配置中的用户是否可以访问,userlist_enable=YES ,userlist_deny=YES ,userlist_file=/etc/vsftpd/user_list 这三个配置允许文件中的用户访问FTP。

(1)查看主配置文件的默认配置:
(使用:cat /etc/vsftpd/vsftpd.conf |grep -v '^#';)

(2)修改配置文件:

登录ftp后会发现,用户可以访问其他目录,并且具有mpsp组的权限,这样做是不允许的,我们需要将用户的访问范围控制在其主目录下。方法如下:

a. vi /etc/vsftpd/vsftpd.conf进入ftp配置文件目录并编辑此文件,

b.找到#chroot_list_enable=YES,删除前面的那个#号,表示开启此限制功能;

找到chroot_list_file:chroot_list_file=/etc/vsftpd/chroot_list,删除前面的那个#号,表示开启此限制功能;加入chroot_local_use=NO

(进入编辑框后按i进行开始编辑)

 

 c.进入配置文件后,在末尾加入如下三行:

① userlist_enable=YES

        userlist_deny=NO

        userlist_file=/etc/vsftpd/vsftpd.user_list

 

d.禁止匿名用户登录

(编辑完,按esc后使用“:wq”保存并退出)


e. 对一些文件进行编辑

①  在etc目录找到vsftpd.chroot_list文件,进入编辑状态

加入你要限制的用户名,一行一个用户,比如ftp2

(编辑完,按esc后使用“:wq”保存并退出)

②进入vsftpd目录,找到vsftpd.user_list,键入ftp11,意味允许ftp11登陆ftp服务器

(编辑完,按esc后使用“:wq”保存并退出)

再在本机上,通过控制台,用ftp1通过ftp访问系统,用户成功登陆,并且成功的被限制在自己的主目录下,无法访问其他目录。

 

依次方法创建了2个用户,ftp1、ftp2。

 

查看ftp状态 sestatus -b | grep ftp:

然后输入:

关闭防火墙:

 

以下步骤是实现主机和虚拟机的互相ping通:


最终结果: