CentOS7 搭建 多账号FTP
ftp?还有人用?
其实在没有出来跑以前也觉得FTP应该死绝了,在上海各个比较可以的互联网公司,听到研发用FTP不说都鄙视吧,至少很多人认为没技术追求。但是我不得不说,在研发人员眼里觉得很Low的工具,在非专业人员眼里。
需求来源方是:在互联网公司都会有设计或者前端,有很多公司其实只做单页面的,根本不需要什么后端人员。让设计或者前端学习Git 必要性不大,FTP又是一个交互非常有好的GUI工具服务,导致这种需求还是很旺盛的
需求
每个人元要有单独的账号
不同账号可能允许访问的目录不一样
记录操作日志
配置环境
安装vsftp
#安装 yum install -y vsftpd #设置开机启动 systemctl enable vsftpd.service
命令讲解
#启动 systemctl start vsftpd.service #停止 systemctl stop vsftpd.service #查看状态 systemctl status vsftpd.service
配置
文件路径:/etc/vsftpd/vsftpd.conf
# 增加如下内容 # 虚拟用户配置 guest_enable=YES guest_username=www user_config_dir=/etc/vsftpd/vuser_conf allow_writeable_chroot=YES pasv_min_port=5000
注解:guest_username 你期望用户已哪个用户进行数据提交,也就是用户提交上来的数据权限是哪个用户的,例如我这里是 www ,所以一定要保证系统存在www这个用户,如果不存在请新建一个
用户设置
创建用户
创建用户文件:/etc/vsftpd/vuser
## 结构是两行,一行用户名 另一个密码 例如如下 guowei 123456 jixuejima 123456789
注解:上面我添加了两个虚拟用户:guowei (密码123456)和 jixuejima (密码123456789)。
生成用户数据
db_load -T -t hash -f /etc/vsftpd/vuser /etc/vsftpd/vuser.db #设定PAM验证文件,并指定对虚拟用户数据库文件进行读取 chmod 600 /etc/vsftpd/vuser.db
设置PAM
路径:/etc/pam.d/vsftpd
## 内容全部替换为如下 #%PAM-1.0 auth required pam_userdb.so db=/etc/vsftpd/vuser account required pam_userdb.so db=/etc/vsftpd/vuser
注解:其实就是配置读取和验证的配置文件路径,就是前面我们生产的用户数据
建立虚拟用户配置文件
## 新建虚拟用户配置目录 mkdir /etc/vsftpd/vuser_conf ## 新建虚拟用户配置 cd /etc/vsftpd/vuser_conf vim guowei ##写如下内容 local_root=/data/www anon_umask=022 anon_world_readable_only=NO anon_upload_enable=YES anon_mkdir_write_enable=YES anon_other_write_enable=YES
注解:
可以看到我们新建的目录 就是 在上面 /etc/vsftpd/vsftpd.conf 中配置的 user_config_dir。
/etc/vsftp/vuser 中配置的用户都要在上面的目录中 新建一个 以 用户名 为名称的文件,上面示例就是新建了一个 guowei 文件
local_root 表示用户通过ftp 软件登录进去的更目录,必须保证存在
客户端软件推荐
FileZilla
FlashFXP
效果展示
搞定收工,上图上成果
日志记录设置
#日志配置 xferlog_enable=YES xferlog_std_format=YES xferlog_file=/var/log/xferlog dual_log_enable=YES vsftpd_log_file=/var/log/vsftpd.log