开发者

Linux搭建ftp服务器的步骤

开发者 https://www.devze.com 2025-08-20 09:57 出处:网络 作者: 杜大帅锅
目录ftp搭建1:下载vsftpd工具2:下载客户端工具3:进入配置文件目录vsftpd.conf配置文件4: 限制用户只能在自己的家目录访问5:创建用户进入客户端测试Windows测试ftp:利用文件传输协议,用来不同服务器之间的文件传
目录
  • ftp搭建
    • 1:下载vsftpd工具
    • 2:下载客户端工具
    • 3:进入配置文件目录
      • vsftpd.conf配置文件
    • 4: 限制用户只能在自己的家目录访问
      • 5:创建用户进入客户端测试
      • Windows测试

        ftp:利用文件传输协议,用来不同服务器之间的文件传输。

        ftp搭建

        环境准备:一台Centos7.9服务器,可以联通外网。

        1:下载vsftpd工具

        #前置条件
        systemctl stop firewalld
        setenforce 0
        #开始下载
        yum install vsftpd -y
        rpm -qi vsftpd
        systemctl start vsftpd
        netstat -anpt |grep vsftpd
        #默认端口为21

        2:下载客户端工具

        yum install ftp lftp -y
        

        3:进入配置文件目录

        [root@ftp vsftpd]# ll
        总用量 24
        -rw-r--r-- 1 root root    6 8月  15 15:20 chroot_list  #这里是后期新创建的,后续会说是做什么的
        -rw------- 1 root root  125 6月  10 2021 ftpusers  #黑名单
        -rw------- 1 root root  361 6月  10 2021 user_list #黑名单或白名单
        -rw------- 1 root root 5411 8月  15 15:51 vsftpd.conf #著配置文件目录
        -rwxr--r-- 1 root root  338 6月  10 2021 vsftpd_conf_migrate.sh
        
        

        vsftpd.conf配置文件

        是否允许匿名用户ftp登录,YES代表允许,NO不允许 anonymous_enable=YES

        是否允许本地登录 local_enable=YES

        是否有写的权利 write_enable=YES

        日志文件位置 xferlog_file=/var/log/xferlog 采用标准的日志格式

        4: 限制用户只能在自己的家目录访问

        如果让普通用户可以随便切换目录的话及其不安php

        所以一般可以修改配置文件将用户限制在自己的家目录

        在 vsftpd.conf 配置文件里面修改以下配置

        chroot_list 文件默认不存在,需要在 /etc/vsftpd/下新建

        在vsftpd.conf添加如下配置

        #对本地用户限制在自己的家目录里
        chroot_local_user=YES  
        #启用限制名单
        chroot_list_enable=YES
        #具体的名单路径,这个名单的用户不受限制,可以随意切换目录
        chroot_list_file=/etc/vsftpd/chroot_list
        #这个目录没有,需要自己新建。
        

        5:创建用户进入客户端测试

        默认情况下不允许root用户登录 vsftpd 使用的用户名和密码就是linux系统里面使用分用户和密码,不需要单独新建

        #新建一个用户进行测试
        useradd ceshi
        echo "ceshi" | passwd --stdin ceshi
        #这里有一个小坑,就是我后续使用这个用户登录发现没法上传文件,这里最好给ceshi的家目录权限大一点
        chmod 777 /home/ceshi
        230 Login successful.
        Remote system type is Unix.
        Using binary mode to transfer files.
        ftp> ls   #查看自身目录下的文件
        227 Entering Passive Mode (192,168,198,129,201,209).
        150 Here comes the directory listing.
        drwxr-xr-x    2 1002     1003            6 Aug 15 07:29 test.txt
        226 Directory send OK.
        ftp> !ls  #查看本地目录内容
        anaconda-ks.cfg  dist		   m1		      test.txt
        backup		 docker		   m2		      ultrax.sql
        calico.yaml	 Dockerfile	   nginx
        check_mysqld.sh  Java		   sprinboot-vue.jar
        checkMysql.sh	 kube-flannel.yml  sysconfigure.sh
        ftp> cd /root   #切换目录,这里报错了
        550 Failed to change directory.
        ftp> 

        这里报错是因为我们限制用户不能随意的切换目录访问,这里如果想要切换目录,在chroot_list中讲用户名称添加进去就可以了

        vim chrrot_list
        ceshi
        #一定记得重启!!!
        systemctl restart vsftpd
        

        我们接着上面的说

        ftp> cd /var
        250 Directory successfully changed.
        ftp> ls
        227 Entering Passive Mode (192,168,198,129,21,205).
        150 Here comes the directory listing.
        drwxr-xr-x    2 0        0               6 Apr 11  2018 adm
        ftp> cd /home/ceshi
        250 Directory successfully changed.
        ftp> pwd
        257 "/home/ceshi"
        ftp> !ls  #查看本地目录内容
        anaconda-ks.cfg  dist		   m1		      test.txt
        backup		 docker		   m2		      ultrax.sql
        calico.yaml	 Dockerfile	   nginx
        check_mysqld.sh  java		   sprinboot-vue.jar
        checkMysql.sh	 kube-flannel.yml  sysconfigure.sh
        ftp> put test.txt  #上传文件到ftp服务器
        local: test.txt remote: test.txt
        227 Entering Passive Mode (192,168,198,129,210,80).
        150 Ok to send dahttp://www.devze.comta.
        226 Transfer complete.
        6 bytes sent in 0.00198 secs (3.03 Kbytes/sec)
        ftp> ls
        227 Entering Passive Mode (192,168,198,129,1编程客栈75,174).
        150 Here comes the directory listing.
        drwxr-xr-x    2 1002     1003            6 Aug 15 07:29 111
        -rw-r--r--    1 1002     1003            6 Aug 15 08:22 test.txt
        226 Directory send OK.
        ftp> get 机柜信息.txt   #下载文件到本地,默认/root目录
        local: 机柜信息.txt remote: 机柜信息.txt
        227 Entering Passive Mode (192,168,198,129,195,39).
        150 Opening BINARY mode data connection for 机柜信息.txt (104 bytes).
        226 Transfer complejste.
        104 bytes received in 4.9e-05 secs (2122.45 Kbytes/sec)
        ftp> 
        
        
        

        windows测试

        php文件夹上输入: ftp:/@192.168.198.129/,

        Linux搭建ftp服务器的步骤

        这种方式是匿名访问,默认在/var/ftp/pub路径,如果向指定用户如下图进行登录:

        Linux搭建ftp服务器的步骤

        Linux搭建ftp服务器的步骤

        输入账户密码进行登录。

        登录之后就可以传输文件了。

        注意:

        删除目录时,如果目录是非空(FTP 协议默认不允许删除非空目录,需递归删除)

        到此这篇关于Linux搭建ftp服务器的文章就介绍到这了,更多相关Linux搭建ftp服务器内容请搜索编程客栈(www.devze.com)以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程客栈(www.devze.com)!

        0

        精彩评论

        暂无评论...
        验证码 换一张
        取 消

        关注公众号