Linux搭建FTP服务器

本文转载自链接: https://blog.csdn.net/putao2062/article/details/79668880原作者为: 陈晓珍
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
 
 

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

    yum -y install vsftpd 
     
     

      创建用户

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

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

        创建用户并指定用户目录

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

        cd /var
        mkdir www
        cd www
        mkdir site
        mkdir da
         
         

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

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

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

            usermod -d /var/www/site xiao
             
             

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

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

                查看新创建的用户的信息

                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
                   
                   

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

                    cd /etc/vsftpd
                     
                     

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

                      vi vsftpd.conf
                       
                       

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

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

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

                          vi user_list
                           
                           

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

                            查看vsftpd 服务的运行状态

                            systemctl status vsftpd
                             
                             

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

                              systemctl start vsftpd 
                               
                               

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

                                systemctl restart vsftpd 
                                 
                                 

                                  在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  #指定列外的用户列表文件
                                   
                                   

                                    配置完之后重启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 所有用户都可读可写可执行。


                                                • 0
                                                  点赞
                                                • 5
                                                  收藏
                                                  觉得还不错? 一键收藏
                                                • 0
                                                  评论

                                                “相关推荐”对你有帮助么?

                                                • 非常没帮助
                                                • 没帮助
                                                • 一般
                                                • 有帮助
                                                • 非常有帮助
                                                提交
                                                评论
                                                添加红包

                                                请填写红包祝福语或标题

                                                红包个数最小为10个

                                                红包金额最低5元

                                                当前余额3.43前往充值 >
                                                需支付:10.00
                                                成就一亿技术人!
                                                领取后你会自动成为博主和红包主的粉丝 规则
                                                hope_wisdom
                                                发出的红包
                                                实付
                                                使用余额支付
                                                点击重新获取
                                                扫码支付
                                                钱包余额 0

                                                抵扣说明:

                                                1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
                                                2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

                                                余额充值