其实有更简单的方法 xshell6 + xftp6
简单搭建的话,相对简单,可以直接看官网,本篇侧重讲一下搭建FTP过程中涉及到的配置知识点。
参考文档(阿里云官方文档): https://help.aliyun.com/document_detail/92048.html
本篇博文,我们按常规方式搭建,内容如下:
1. Linux CentOS 安装 vsftpd
2. 配置 vsftpd
2.1 服务启动与关闭(开启、关闭、重启、运行状态、开机运行、查看服务端口)
2.2 创建FTP用户 并 设置FTP用户目录
2.3 设置 FTP 权限
2.2.1 开启上传,写入及目录权限
2.2.2 切换目录权限-chroot_list
2.2.3 FTP用户黑/白名单-ftpusers,user_list
3. 设置安全组(开放端口)
4. 客户端测试
5. 知识点汇总补充
正文开始…
一、 Linux CnetOS 7.4 安装 vsftpd
Xshell 链接服务器,输入如下命令:
yum install -y vsftpd
二、 配置 vsftpd
2.1 vsftpd 常用命令
- 开启服务
systemctl start vsftpd.service
- 关闭服务
systemctl stop vsftpd.service
- 重启
systemctl restart vsftpd.service
- 运行状态
systemctl status vsftpd.service
- 开机运行
systemctl enable vsftpd.service
- 查看服务端口
netstat -antup | grep ftp
2.1 开启上传,写入及目录权限
我们需要在配置文件中,开启一下相关权限
vsftpd.conf 配置
- 将写权限修改为 write_enable=YES。
- 将匿名上传权限修改为 anon_upload_enable=YES。
- 关闭匿名登录权限 anonymous_enable=NO
Linux 设置
- chmod o+w /var/ftp/pub/
更新完配置后,记得重启 vsftpd.service
systemctl restart vsftpd.service
2.2 创建FTP用户并锁定指定目录
由于默认,是支持匿名访问,以及也支持用户切换目录,那这样就存在一定的安全性问题。我们下面要做的就是,关闭匿名访问,并设置用户只具备FTP指定目录权限
2.2.1 创建FTP用户(也叫虚拟用户,不具备登录服务器权限)
- 添加用户 ftptest 代码如下:
useradd -d /usr/local/app_env -g ftp -s /sbin/nologin ftptest
/**
* 1. -d /usr/local/app_env 设置用户目录
* 2. -g ftp -g 用户组,设置用户未 ftp用户组
* 3. -s /sbin/nologin 禁用用户登录(不允许使用shell)
* 4. ftptest 用户名
*/
passwd ftptest
/**
* 设置用户 ftptest 密码
*/
2.3 设置FTP权限
首先我们看一下,有哪些权限配置文件。
/etc/vsftpd
是vsfptd服务的配置文件,下面我分别介绍一下,作用都是如何的?
首先注意 vsftpd.conf 是主配置文件,其他权限名单起作用,需要现在vsftpd.conf 中开启。
2.3.2 chroot_list —— 目录切换权限
- chroot_list_user = YES/NO : 是否将所有用户限制在主目录
(注意,这个关闭的话,一切配置切换目录的特例权限将失效)
-
chroot_list_enable = YES/NO: 是否开启特例用户名单(如果开启,指的就是说,这个名单里的用户是可以切换目录,切换目录不受限制,但是注意首先要将 chroot_list_user 开启,否则不起作用)
-
choot_list_enble = /etc/vsftpd/chroot_list : 特例名单
如果在vsftpd.conf 开启了切换目录特例名单,需配置的用户,在chroot_list 中添加就可以了。
详细文档: https://blog.csdn.net/bluishglc/article/details/42398811
2.3.3 ftpusers 与 user_list —— 用户登录FTP黑/白名单
2.3.3.1 ftpusers
引用“立超”博客中的一句话就是:
ftpusers不受任何配制项的影响,它总是有效,它是一个黑名单!
在这个名单里的用户,将无法连接 FTP
2.3.3.2 user_list
那 user_list 配置的作用是什么呢 ? 它起不起作用于 vsftpd.conf 中的两个配置有关 —— uuserlist_enable 和 userlist_deny
-
userlist_enable: 决定 userlist名单是否可用,这个userlist_enable 关闭了的话,关于user_list的所有配置都已经无效了。
-
userlist_deny : YES/NO : 决定了user_list 中的用户是否被连接是否被拒掉。也就是黑白名单。 默认应该是NO
如果 userlist_deny = YES, 那 user_list 就是黑名单,其中配置的用户,将无法登录
如果 userlist_deny = NO, 那 user_list 就是白名单,没有在user_list 中配置的用户,将无法登录。
当然user_deny 起作用是在 userlist_enble 开启的前提下的。
参考博文:https://blog.csdn.net/bluishglc/article/details/42398811
3. 安全组配置
其实安全组大家都会配置,但是有些上学的小同学可能不熟,这里还是粘贴出来了。
4. 客户端测试
使用的客户端是: FileZilla Client
5. 知识点总结
本篇主要介绍了一下 ,快速搭建基于 Linux CnetOS ftp 服务。 和常用的权限配置。
如:
- 指定用户仅拥有指定目录权限
- 用户切换目录的权限
- 用户和名单白名单