FTP 服务器搭建(基于 CentOS 7)

参考资料:
檔案伺服器之三: FTP 伺服器
用 vsftpd 配置FTP服务器
vsftpd 的所有选项

注意,如果要所有人同时编辑 FTP 上的所有文件,可以将 vsftpd.conf 配置文件中的 local_umask 选项设置为 002,并且在创建用户时通过 -g ftp 将所有的 FTP 用户加入同一个用户组。

1. 安装 ftp 服务端软件

yum install vsftpd

2. 配置 vsftpd.conf 配置文件

vsftpd 只需要设置这个文件即可,所有设置项的等号两边不能有空白!!

vim /etc/vsftpd/vsftpd.conf

常见的设置如下,所有的可用设置可以通过 man 5 vsftpd.conf 查看:

#FTP 用户新建文件和目录的默认权限,022 对应 755 只有自己可以修改,002 对应 775 同一个用户组的都可以修改
local_umask=002
#禁止匿名访问
anonymous_enable=NO
#接受本地用户
local_enable=YES
#允许上传
write_enable=YES
#用户只能访问限制的目录
chroot_local_user=YES
#设置所有的 FTP 用户使用同一个目录,不然所有用户默认使用各自的家目录。
local_root=/home/ftp
#支持 PAM 服务的管理,为 vsftpd 使用配置文件
pam_service_name=vsftpd

3. 创建 FTP 目录并调整权限

这个是避免“500 OOPS: vsftpd: refusing to run with writable root inside chroot()”

mkdir /home/ftp
chmod a-w /home/ftp
mkdir /home/ftp/data

4. 添加ftp用户

-M 不自动建立用户的家目录,-d <登入目录> 指定用户登入时的启始目录,-g ftp 将所有用户添加到同一个用户组,-s /sbin/nologin 使这些用户只能使用 FTP 无法登陆系统:

useradd -d /home/ftp -M -g ftp -s /sbin/nologin xiaoming
passwd xiaoming

5. 修改 pam.d/vsftpd

这时候登录 ftp 会报错: 530 login incorrect

vim /etc/pam.d/vsftpd

注释掉下面一行:

#auth    required pam_shells.so

6. 启动 vsftpd

systemctl start vsftpd

现在可以登录了,看到的是 /home/ftp,并且限制在该目录。

可以在浏览器用 ftp://xxx.xxx.xxx.xxx 访问,也可以用 ftp 软件比如 FileZilla,密码就是 xiaoming 的密码。
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值