vsftp安装与配置

版本信息

os版本:redhat5.7
vsftp版本:2.0.5-21.el5

以下涉及用户均为本地用户

1.关闭selinux

vi /etc/selinux/config
selinux=disabled

2.关闭防火墙

service iptables stop
service ip6tables stop

3.查看是否安装vsftpd

rpm -qa|grep vsftpd

4.安装vsftpd

yum install vsftpd

5.启动vsftpd

service vsftpd start

6.查看21端口是否存在

netstat -nltp|grep 21

7.在浏览器打开ftp://xx.xx.xx.xx
未配置主目录时默认为本地用户的家目录

8.创建ftp用户

useradd ftp_user

9.设置用户密码

echo "ftp_passwd" |passwd ftp_user --stdin

10.限制用户不能登录OS

usermod -s /sbin/nologin ftp_user

11.创建ftp目录

mkdir /data/ftp_directory

12.备份vsftpd配置文件

cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.confbak

13.配置ftp权限

vi /etc/vsftpd/vsftpd.conf
# 禁用匿名用户
anonymous_enable=NO
# 禁止/etc/vsftpd/chroot_list文件内的用户离开设置的根目录,即访问设置的根目录的上级目录
chroot_local_user=NO  # 禁止本地用户离开根目录
chroot_list_enable=YES # 启用文件管理用户
chroot_list_file=/etc/vsftpd/chroot_list # 记录用户清单的文件
# 设置本地用户登录后进入的主目录,不设置时为本地用户的家目录
local_root=/data/ftp_directory
# 只有vsftpd.usre_list文件中包含的用户才可以登录,userlist_deny设置为YES时表示vsftpd.usre_list文件中包含的用户不可以登录
userlist_deny=NO
userlist_enable=YES
userlist_file=/etc/vsftpd/vsftpd.user_list
# 设置用户配置的目录,可以为某个用户单独设置一些配置
user_config_dir=/etc/vsftpd/vsftpd_user_conf/
# 为某个用户单独设置属性
local_root=/data/ftp_directory
# 限制用户只能使用以下命令,示例实现的是只能上传、查看、切目录,不能下载、删除文件、删除目录、重命名
cmds_allowed=FEAT,REST,CWD,LIST,MDTM,MKD,NLST,PASS,PASV,PORT,PWD,QUIT,RMD,SIZE,STOR,TYPE,USER,ACCT,APPE,CDUP,HELP,MODE,NOOP,REIN,STAT,STOU,STRU,SYST

14.重启vsftpd服务

systemctl restart vsftpd

15.打开浏览器登录ftp
如果输入账户密码无法登录
vi /etc/pam.d/vsftpd
auth required pam_shells.so 修改为auth required pam_nologin.so
重启vsftpd服务即可

上一篇:crontab 计划任务


下一篇:配置docker的DNS