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 软件登录进去的更目录,必须保证存在
客户端软件推荐
效果展示
搞定收工,上图上成果
日志记录设置
#日志配置
xferlog_enable=YES
xferlog_std_format=YES
xferlog_file=/var/log/xferlog
dual_log_enable=YES
vsftpd_log_file=/var/log/vsftpd.log
不错
回复 @ apanly: 非常不错