Advertisement

Centos7安装搭建FTP服务器

阅读量:

1. 先查看是否已经安装了vsftpd

复制代码
     vsftpd -version
    #-bash: /usr/sbin/vsftpd: 没有那个文件或目录

显示没有那个文件或者目录则表示当前系统没有安装ftp服务器,则使用以下命令安装(若遇到源问题或者没有找到对应库时可点击查看更换源):

复制代码
    yum install -y vsftpd
    #.....
    vsftpd -version
    #vsftpd: version 3.0.2

这样显示已经安装完成

2.创建安全的FTP文件目录

复制代码
    mkdir -p  /data/sftpuser/ftptest

3.创建新用户指定家目录并设置密码

username为你该ftp创建的用户名,上面创建的目录/data/mserver/data/user/space为用户登陆进去后的位置

复制代码
    useradd -d /data/sftpuser -M -s /sbin/nologin username
    #...d 指定家目录  -s 禁止登陆; -M 不创建家目录
    passwd ftpllx
    #更改用户 ftpllx 的密码 。
    #新的 密码:xx
    #...

4.设置主目录

如果前面已经设置成功,则可以忽略此步骤,否则继续执行以下代码,同样username为对应的新创建用户名

复制代码
    usermod -d /data/sftpuser username

5.添加用户组(根据个人需要设置或者忽略此步骤)

创建一个指定用户组,并将新创建用户添加入制定用户组中
ftpgroup为要创建的用户组名称,请自行更改为自己设置名称,username依然为对应新创建的用户名

复制代码
    groupadd ftpgroup
    usermod -G ftpgroup username

另一种方式可以在新建用户同时将其加入指定用户组

复制代码
    groupadd ftpgroup
    useradd -g username ftpgroup

6.修改文件夹权限

虽然我们指定了目录,但是你会发现创建的新用户依然没有当前文件夹的权限,因此我们修改权限

复制代码
    chown root.ftpllx /data/sftpuser
    chmod 755 /data/sftpuser
    chown -R ftpllx.ftpllx /data/sftpuser/ftptest
    chmod 755 /data/sftpuser/ftptest

使用ll -a 目录命令查看对应的文件权限

6.配置sshd_config

复制代码
    vim /etc/ssh/sshd_config

在sshd_config文件中先注释下面内容

复制代码
    Subsystem  sftp    /usr/libexec/openssh/sftp-server

然后加入下面几行内容

复制代码
    Subsystem sftp internal-sftp
    Match Group ftpgroup
    ChrootDirectory /data/sftpuser/%u
    X11Forwarding no
    AllowTcpForwarding no
    ForceCommand internal-sftp

7.重启sshd

复制代码
    service sshd restart

8.配置只能访问自身目录,不能访问其他路径

修改/etc/vsftpd/vsftpd.conf

复制代码
    vim /etc/vsftpd/vsftpd.conf 
    #去掉前面的注释
    anonymous_enable=NO
    local_enable=YES
    write_enable=YES
    local_umask=022
    dirmessage_enable=YES
    xferlog_enable=YES
    connect_from_port_20=YES
    xferlog_std_format=YES
    ascii_upload_enable=YES
    ascii_download_enable=YES
    chroot_local_user=YES
    chroot_list_enable=NO
    chroot_list_file=/etc/vsftpd/chroot_list
    listen=NO
    
    #文件末尾添加
    pam_service_name=vsftpd
    userlist_enable=YES
    tcp_wrappers=YES
    allow_writeable_chroot=YES
    local_root=/home/ftp

其次将用户写入

9.本地进行测试

复制代码
    sftp -P [对应的开放端口] username@127.0.0.1
    
    # 显示输入密码及对应成功username@127.0.0.1's password:

10.使用FillZilla进行访问

fillzilla连接配置
对应连接结果如下:
在这里插入图片描述

全部评论 (0)

还没有任何评论哟~