Centos 7.2 安装 FTP 服务并进行相关设置
![Centos 7.2安装FTP服务并进行相关设置](https://static001.geekbang.org/infoq/5d/5d82dfef9b607254a2c2db6d5dc095ab.png)
关闭防火墙
#systemctl stop firewalld#systemctl disable firewalld
关闭 SELINUX#vi /etc/selinux/config 修改为 SELINUX=disabled
![](https://static001.geekbang.org/infoq/f3/f359ec3a8a8d0673e6b173f004f4aa2a.png)
安装 vsftpd 服务 #yum -y install vsftpd 启动 systemctl start vsftpd 设置开机启动 systemctl enable vsftpd
由于刚刚设置了 SELINUX,所以需要重启一下 #reboot
使用匿名 用户登陆
打开 windows 的文件管理器输入 ftp://ftp 服务器的 IP 地址
![](https://static001.geekbang.org/infoq/07/07098cb07e34b2b62dfa9774e44de3c9.png)
匿名用户登陆可创建 修改等权限
修改 FTP 目录权限 #chmod -R 757 /var/ftp/*
![](https://static001.geekbang.org/infoq/3e/3e0646c5b1c2ddbfc464b2a6fd7fca23.png)
修改/etc/vsftpd/vsftpd.conf 文件修改第 29 行和 33 行,去除前面 #注释符 anon_upload_enable=YESanon_mkdir_write_enable=YES
![](https://static001.geekbang.org/infoq/9e/9edb39c8077e0e197dbc08b33df6f3af.png)
在末行添加如下代码anon_other_write_enable=YES 允许匿名用户修改目录名或删除目录
![](https://static001.geekbang.org/infoq/7d/7dce87252cba9a7e414ba69903bb2a47.png)
重启 ftp#systemctl restart vsftpd
再次使用 windows 资源管理器进行访问并创建文件夹
![](https://static001.geekbang.org/infoq/5c/5cff97ebe741ceedcfb7413bff02e8a7.png)
限制用户切换到主目录外
修改第 101 行和 103 行,将其前面 #注释符去除
![](https://static001.geekbang.org/infoq/87/8798a60b72384dbd14f5e0ecb58a7dce.png)
在/ect/vsftpd/vsftpd.conf 末行添加
![](https://static001.geekbang.org/infoq/51/510cd660415458792b1aa11387aebe28.png)
创建/etc/vsftpd/chroot_list 文件 #vi /etc/vsftpd/chroot_list 输入一个用户 这里使用 testuser
![](https://static001.geekbang.org/infoq/ee/eec7ce0a389de525e9d32974e394ad70.png)
添加用户并设置用户密码,重启 vsftpd 服务后,使用 CMD 窗口进行用户登陆 如下图
![](https://static001.geekbang.org/infoq/5b/5b88e1411d849f7ac013383962ec4d22.png)
测试是否能够切换:
![](https://static001.geekbang.org/infoq/48/488cdd2dfd09ffb7f1aa616e56cc163f.png)
将“chroot_list_enable=YES”配置项修改为“chroot_list_enable= NO”,重启 vsftpd,再次进行测试
![](https://static001.geekbang.org/infoq/84/84d4a3d40721e8134202533125a6928d.png)
使用虚拟用户登陆 FTP 服务器
1、创建 FTP 虚拟用户数据库 #vi /etc/vsftpd/vuser.list 输入测试用户,格式如下 test1 #username000000 #passwordtest2000000
②调用 db_load 命令,运行哈希算法对原始文件进行加密运算生成新的 db 文件 db_load -T -t hash -f /etc/vsftpd/vuser.list /etc/vsftpd/vuser.db
![](https://static001.geekbang.org/infoq/17/17770cafeb2d75b97b9fa6b8af9cb623.png)
(可选)为安全起见,删除原有的虚拟用户文件
修改新生成的用户数据文件的权限为 root 用户读写权限
![](https://static001.geekbang.org/infoq/79/794cae7e5490b3476e2eddc703651745.png)
2、创建 FTP 根目录以及虚拟用户映射的系统用户
#useradd -d /var/ftproot -s /sbin/nologin virtual
![](https://static001.geekbang.org/infoq/ab/abc410ad9f756b55b745422cf516708a.png)
修改其用户组以及其他用户权限 #chmod -Rf 755 /var/ftproot/
![](https://static001.geekbang.org/infoq/f5/f57be1c894a53d6374595dc49a943922.png)
3、创建虚拟用户的 PAM 认证文件注意:参数 db 用于指向刚刚生成的 vuser.db 文件,但不要写后缀。
![](https://static001.geekbang.org/infoq/8b/8b4175895c3cae76583e65b1278084df.png)
4、修改 vsftpd 配置文件,以支持虚拟用户模式
![](https://static001.geekbang.org/infoq/e2/e290f9a3771d2a9c96674eb59388f53d.png)
修改/etc/vsftpd/vsftpd.conf 文件修改,加上 #注释符
![](https://static001.geekbang.org/infoq/a9/a966c306c7c3a2fb3e389c2ea43de0bb.png)
在文件末行修改,添加
![](https://static001.geekbang.org/infoq/b3/b3e71116812c57a897825164e952446e.png)
5、赋予虚拟用户权限 #mkdir /etc/vsftpd/vusers_dir/ //创建用户独立的权限配置文件存放的目录。
![](https://static001.geekbang.org/infoq/94/94a7afa24f6d547c6991d078c335b5a3.png)
#修改 FTP 的配置文件 vi /etc/vsftpd/vsftpd.conf //指定用户独立的权限配置文件存放的目录。在文件末行添加如下内容
![](https://static001.geekbang.org/infoq/9b/9b1276f97944abc934aa9b1686540d55.png)
创建虚拟用户 test1 的权限配置文件,不输入内容则无任何权限
![](https://static001.geekbang.org/infoq/1f/1f3b6509a13f49c8f5c2ba5de5071562.png)
创建虚拟用户 test2 的权限配置文件,并添加上传,创建文件夹,和写入权限
![](https://static001.geekbang.org/infoq/3a/3a0b4cc54dc7cdc4e87c278651b24570.png)
重启 vsftpd 服务 #systemctl restart vsftpd
![](https://static001.geekbang.org/infoq/cb/cb159f3baf5f0ba423ddb01b87aaa513.png)
6、验证虚拟用户登陆,以及权限测试
在 windows 端打开 CMD 命令提示符,输入 ftp 192.168.100.20(你的 FTP 服务器地址)。如下测试虚拟用户 test1
![](https://static001.geekbang.org/infoq/0a/0abb9a5563266cd6ae96c0fc7591355e.png)
测试虚拟用户 test2
![](https://static001.geekbang.org/infoq/8a/8ae4aaa0e5a66f515a50472f9191c7a5.png)
版权声明: 本文为 InfoQ 作者【指剑】的原创文章。
原文链接:【http://xie.infoq.cn/article/a5750fead7b4a4e4fef56a0d6】。文章转载请联系作者。
评论