Centos - FTP服务Vsftpd部署

一、安装步骤

1. 安装vsftpd并运行

sudo yum install -y vsftpd    # 安装
systemctl start vsftpd        # 开启服务

2. 设置开机启动

查看状态 systemctl list-unit-files | grep vsftpd

如果显示 disabled

执行语句:chkconfig vsftpd on 然后再次查看状态,显示 enabled 表示设置开机自启成功

二、配置登录账号

将匿名用户关闭,不允许匿名登录,单独设置了一个用户(ftpuser)用于登录ftp服务器

1. 创建登录账户和密码
useradd fangshuaifeng                       # 添加账号
echo 密码 | passwd fangshuaifeng --stdin    # 设置密码
2. 限制该用户仅能通过 FTP 访问,而不能直接登录服务器
usermod -s /sbin/nologin fangshuaifeng
3. 为用户分配主目录 /data/ftp(示例,磁盘目录)
mkdir -p /data/ftp  # 创建目录
chmod 777 /data/ftp # 设置访问权限,不设置的话后期没法进行上传下载
4. 设置用户通过 FTP 登录后看到的根目录
usermod -d /data/ftp fangshuaifeng

三、修改配置文件

默认配置文件路径 /etc/vsftpd/vsftpd.conf

1. 调整配置文件 sudo vim /etc/vsftpd/vsftpd.conf 
# 修改
anonymous_enable=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
chroot_local_user=NO
# 添加
ascii_upload_enable=YES
ascii_download_enable=YES
pam_service_name=vsftpd
userlist_enable=YES
pasv_enable=YES
pasv_min_port=30000
pasv_max_port=31000
allow_writeable_chroot=YES
chroot_list_enable=YES                      # 这行必须要有, 否则文件vsftpd.chroot_list不会起作用
chroot_list_file=/etc/vsftpd.chroot_list
# 然后把所有不希望有这种浏览其主目录之上的各目录权限的用户添加到文件vsftpd.chroot_list中即可

2. 还需要把/etc/pam.d/vsftpd 中的 auth 注释掉

3. 最后重启一下服务

systemctl restart vsftpd

4. 开放上述配置文件中设置的相应端口,此以阿里云服务器为例

1

四、安装完成并测试

五、常见错误解决方案

1. linux vsftpd 550 create directory operation failed

关闭SELinux方法 vim /etc/selinux/config 将SELINUX改为SELINUX=disabled 重启系统
未分配文件夹权限,使用 chmod 777 /data 分配权限

2. 访问不通有可能是端口被防火墙拦截,停止后可以访问则开放相应端口或禁用防火墙
systemctl status firewalld.service    # 查看防火墙状态
systemctl stop firewalld.service      # 停止
systemctl disable firewalld.service   # 禁用防火墙
分享到:
本文链接:https://blog.renzicu.com/2023/06/1.html
版权声明:本博客所有文章除特别声明外,均采用 CC BY 4.0 许可协议。转载请注明出处!
THE END
二维码
打赏
文章目录
关闭
目 录