• linux系统搭建ftp服务器及创建用户


    linux 系统下搭建ftp服务器

    linux 系统下搭建ftp服务器一点都不难,初次进行配置的时候花了很多时间进行linux命令扫盲,故写下这篇博客。

    环境:
    window操作系统中安装SecureCRT 和 FlashFXP 软件
    服务器端的操作系统为centos7.3
    在客户端 使用SecureCRT 软件 root 帐号远程登录服务器端

    重点记录:

        相关用户的创建、修改
        文件的权限控制
        ftp登录用户白名单
        根目录切换

    ftp是什么

        FTP是 File Transfer Protocol 文件传输协议的英文名称,用于在Internet上控制文件的双向传输. 同时它也是一个应用程序.一般的Linux系统默认带有ftp软件或者是vsftpd

    搭建ftp服务器目的

    从window系统上传程序文件到linux系统的服务器里
    检查安装vsftpd软件

    要使用到的linux命令:

        “|”: 管道,把前一个命令的结果当成后一个命令的输入

        rpm: RPM Package Manager RPM软件包管理器 ,和 RedHat有关,

        grep: Globally search a Regular Expression and Print 全局匹配正则搜索并打印

        yum: Yellow dog Updater,Modified,大黄更新与修改,基于rpm 的软件包管理器

    查看所有的安装的软件包 并在结果中查找包含vsftp 的文件

    rpm -qa | grep vsftpd

        1

    如果没有装则使用yum命令安装

    yum -y install vsftpd

        1

    创建用户

    使用useradd命令:
    useradd username ,默认在/home文件夹下创建一个和username一样名称的文件作为该用户所拥有的文件

    useradd xiao   
    passwd xiao   #(回车)给用户xiao设置登录密码

        1
        2

    创建用户并指定用户目录

    在/var 目录下创建一个 www 文件夹,www文件夹中创建一个site文件夹一个da文件夹

    cd /var
    mkdir www
    cd www
    mkdir site
    mkdir da

        1
        2
        3
        4
        5

    创建用户da并指定用户目录为/var/www/da

    useradd -d /var/www/da da
    passwd da

        1
        2

    修改xiao用户的用户目录为/var/www/site

    usermod -d /var/www/site xiao

        1

    备注:如果修改xiao的操作失败提示有相关进程在使用这个用户,则先杀死这些进程后再修改

      ps -u xiao | awk '{print $1}' | grep -vi pid | xargs kill -9

        1

    查看新创建的用户的信息

    tail:默认显示指定文件的末尾10行

    tail /etc/passwd

       



    这里写图片描述

        /etc/passwd文件存放的是用户的信息,由6个分号组成的7个信息,解释如下
        (1):用户名。
        (2):密码(已经加密)
        (3):UID(用户标识),操作系统自己用的
        (4):GID组标识。
        (5):用户全名或本地帐号
        (6):开始目录
        (7):登录使用的Shell,就是对登录命令进行解析的工具。

    配置/etc/vsftpd/vsftpd.conf文件

    查看下该文件里有些啥

    cat /etc/vsftpd/vsftpd.conf

        1

    切换当前工作目录到/etc/vsftpd

    cd /etc/vsftpd

        1

    启用可以登录ftp的用户白名单配置

    vi vsftpd.conf

        1

    输入:/userlist 在vsftpd.conf文件中查找userlist 相关配置 .
    按下i键进入insert模式,
    将按下图配置 三个选项,则user_list文件为ftp用户白名单
    按下esc键退出输入模式进入命令模式
    输入:wq 保存并退出
    这里写图片描述

    userlist_enable=YES     #启动用户列表
    userlist_deny=NO        #决定是否对用户列表的用户拒绝访问ftp

    userlist_file=/etc/vsftpd/user_list

        1
        2
        3
        4

    在user_list中写入 da和xiao这个两个用户

    vi user_list

        1

    按下i键进入insert模式,
    一行一个用户名,输入 da 和xiao
    按下esc键退出输入模式进入命令模式
    输入:wq 保存并退出


    查看vsftpd 服务的运行状态

    systemctl status vsftpd

        1

    如果最后一条状态是stoped则启动vsftpd

    systemctl start vsftpd

        1

    如果最后一条状态是started则重启vsftpd

    systemctl restart vsftpd

        1

    在window系统中使用FlashFXP 客户端登录

    使用da 和xiao 用户分别登录,发现在客户端可以浏览整个linux系统的文件夹
    继续配置vsftpd.conf 文件,
    配置vsftpd.conf 锁定根目录

    local_root= /var/www        #本地用户登录后自动转到的ftp根目录
    chroot_local_user=YES       #将所有用户限定在指定的主目录内
    chroot_list_enable=NO       #不启用列外的用户列表
    chroot_list_file=/etc/vsftpd/chroot_list  #指定列外的用户列表文件

        1
        2
        3
        4

    配置完之后重启vsftpd服务
    使用FlashFXP 客户端登录并创建文件夹

    使用da用户名登录,在da文件夹中创建一个新的文件夹test
    这里写图片描述


    结果失败
    配置文件夹权限

    切换工作目录到/var/www

    cd /var/www

    查看www文件夹中所包含的文件的信息

    ll

       



    这里写图片描述
    上图显示的信息为,
    1. da和site文件夹属于root用户,属于root用户组, 因为是root用户创建的文件夹
    2. root用户可以对da和site文件夹进行r(读),w(写),x(执行)等操作
    3. root用户组内的用户可以对da和site文件夹进行r(读),x(执行)等操作
    4. 其他用户可以对da和site文件夹进行r(读),x(执行)等操作.

    da 和 xiao 这两个用户属于其他用户 故不能执行创建文件夹(写)的操作

    改文件的权限,将da的拥有者改为da,site的拥有者改为xiao

    chown da:da da

       



    这里写图片描述

    chown xiao:xiao site

       



    这里写图片描述

    这个时候 他们可以在各自拥有的文件夹这创建文件 ,但不可以到对方的文件夹中创建文件

    修改da用户的所属用户组,并修改site文件夹的权限
    把da用户纳入 xiao的用户组

    usermod -g xiao da

       



    这里写图片描述
    如图所示:da用户的用户组id值和xiao的用户组id值变得一样了

    修改site文件夹的权限,允许同一个用户组的用户拥有rwx权限

    chmod 775 site

        这里写图片描述

    这里写图片描述
    此时da 用户可以在site文件夹中创建新的文件夹
    权限值的解读

    文件夹权限:
    r==>可读 w==>可写 x==>可执行
    r=4 w=2 x=1
    777 代表 rwxr-rwx-rwx 所有用户都可读可写可执行。  

  • 相关阅读:
    nlp中各中文预训练模型的输入和输出
    Activiti流程图查看
    Project2016如何把周末修改为工作日
    activiti6官方示例笔记
    activiti 查看流程图,并且当前节点实现标红
    python默认下载到哪_Python pip install如何修改默认下载路径
    Conda使用手册
    transformers 安装 (建议通过源代码安装)
    使用jupyter Nodebook查看函数或方法的参数以及使用情况
    jdbc 工具包实现,另附赠mysqlconnectorjava5.1.46jar包
  • 原文地址:https://www.cnblogs.com/xu1115/p/11724639.html
Copyright © 2020-2023  润新知