• 在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通:

    
    

    最终结果:

  • 相关阅读:
    【机器学习】:梯度提升决策树(GBDT)
    【推荐系统】:LFM算法解析
    【SQL】:内连接,自然连接
    【SQL】:保留小数点后几位(除法)
    Ubuntu 18.04:磁盘读取性能不佳
    skynet超时机制实现
    关于 Spring Boot 中创建对象的疑虑 → @Bean 与 @Component 同时作用同一个类,会怎么样?
    记录不存在则插入,存在则更新 → MySQL 的实现方式有哪些?
    记一次线上问题 → 对 MySQL 的 ON UPDATE CURRENT_TIMESTAMP 的片面认知
    WebSocket
  • 原文地址:https://www.cnblogs.com/xiaoruilin/p/6445170.html
Copyright © 2020-2023  润新知