在Linux中搭建一个FTP服务器
【实现步骤】
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通:
最终结果: