1. 下载/安装
地址:https://pkgs.org/download/vsftpd
安装:
rpm -ivh vsftpd-3.0.2-25.el7.x86_64.rpm
2. 启动
启动服务:
systemctl start vsftpd
设置开机启动:
systemctl enable vsftp
3. 配置文件
相关配置文件:
主配文件:/etc/vsftpd/vsftpd.conf
下载目录:匿名用户:/var/ftp/ 本地用户:用户的根目录
FTP日志:/var/log/xferlog (tailf /var/log/xferlog)
cat vsftp.conf_bak | grep -v “#” > vsftp.conf
cat vsftp.conf -n
部分vsftpd.conf文件:
# 允许匿名用户访问
anonymous_enable=NO
# 允许系统本地用户访问
local_enable=YES
# 本地系统本地用户写入权限
write_enable=YES
# 本地用户创建文件及目录默认权限掩码
local_umask=022
# 打印目录显示信息
dirmessage_enable=YES
# 上传/下载日志记录功能
xferlog_enable=YES
# 设定FTP使用20端口进行数据传输(ftp的数据传输接口)
connect_from_port_20=NO
# 设定vsftpd服务日志保存路径。(注意:该文件默认不存在,需手动创建)
xferlog_file=/var/log/xferlog
# 日志使用标准的记录格式
xferlog_std_format=YES
# 是否开启对本地用户chroot的限制,YES为所有默认用户都不能切出家目录,NO代表所有默认用户都可以切出家目录
chroot_local_user=YES
# chroot特例列表
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list #此文件需手动创建,一行一个用户
# 允许开启chroot后,对家目录有“写”权限
allow_writeable_chroot=YES
listen=YES
listen_ipv6=NO
# 启用pam模块验证(本地用户的登陆验证) /etc/pam.d/vsftpd
pam_service_name=vsftpd
# 是否开启userlist功能
userlist_enable=YES
userlist_file=/etc/vsftpd/user_list
#定义对列表中的用户做定义:NO:拒绝所有人访问,仅列表中的用户可以访问,YES允许所有人访问,仅列表中的用户无法访问
userlist_deny=YES
#是否开启tcp_wrappers管理(/etc/hosts.allow 和/etc/hosts.deny)
tcp_wrappers=YES
# 开启PASV模式(被动模式)并限制PASV打开的端口的范围
pasv_enable=YES
pasv_min_port=4560
pasv_max_port=4565
配置vsftp登录用户
添加FTP用户(指定根目录,指定默认登录shell为/sbin/nologin来禁止此用户登陆):
useradd -d /data/www/html -s /sbin/nologin ftptest
修改FTP用户登录密码:
passwd ftptest (ftp@resource)
可能会遇到账号登录提示 530 Login incorrect 的问题
/etc/pam.d/vsftpd文件
创建ftp用户时,为了禁止ssh登录,一般多为/bin/false 、/usr/sbin/nologin 等,显然不是一个有效的bash,因此无法登录
解决:将auth required pam_shells.so 修改为auth required pam_nologin.so
ftp客户端
安装yum -y install ftp
匿名用户操作
默认 /var/ftp是没有写入权限的,需要修改权限才可写入
SAN 共享的是设备