Linux学习笔记11—VSFTP的搭建


1.查看是否安装vsftp
rpm -qa | grep vsftpd
如果出现vsftpd-2.0.5-21.el5,说明已经安装 vsftp

安装vsftp
yum -y install vsftpd
2、查看服务是否启动
Service vsftpd status // 查看VSFTPD的状态
Service vsftpd start //启动VSFTP服务
Service vsftpd restart //重新启动服务
Service vsftpd stop // 停止服务
3、配置vsftpd
# whereis vsftpd
vsftpd: /usr/sbin/vsftpd /etc/vsftpd /usr/share/man/man8/vsftpd.8.gz
yum安装的主要目录为上述的3个目录,其中配置文件vsftpd.conf在/etc/vsftpd中,下面看下怎么配置vsftpd.conf
# 默认配置文件: /etc/vsftpd.conf
# 下面是配置的选项及说明
######### 核心设置 ###########

# 允许本地用户登录
local_enable=YES
# 本地用户的写权限
write_enable=YES
# 使用FTP的本地文件权限,默认为077
# 一般设置为022
local_umask=022
# 切换目录时
# 是否显示目录下.message的内容
dirmessage_enable=YES
dirlist_enable = NO
#验证方式
#pam_service_name=vsftpd
# 启用FTP数据端口的数据连接
connect_from_port_20=YES
# 以独立的FTP服务运行
listen=yes
# 修改连接端口
#listen_port=2121
######### 匿名登录设置 ###########
# 允许匿名登录
anonymous_enable=NO
# 如果允许匿名登录
# 是否开启匿名上传权限
#anon_upload_enable=YES
# 如果允许匿名登录
# 是否允许匿名建立文件夹并在文件夹内上传文件
#anon_mkdir_write_enable=YES
# 如果允许匿名登录
# 匿名帐号可以有删除的权限
#anon_other_write_enable=yes
# 如果允许匿名登录
# 匿名的下载权限
# 匿名为Other,可设置目录/文件属性控制
#anon_world_readable_only=no
# 如果允许匿名登录
# 限制匿名用户传输速率,单位bite
#anon_max_rate=30000

######### 用户限制设置 ###########

#### 限制登录
# 用userlist来限制用户访问
#userlist_enable=yes
# 名单中的人不允许访问
#userlist_deny=no
# 限制名单文件放置的路径
#userlist_file=/etc/vsftpd/userlist_deny.chroot
#### 限制目录
# 限制所有用户都在家目录
#chroot_local_user=yes
# 调用限制在家目录的用户名单
chroot_list_enable=YES
# 限制在家目录的用户名单所在路径
chroot_list_file=/etc/vsftpd/chroot_list

######### 日志设置 ###########

# 日志文件路径设置
xferlog_file=/var/log/vsftpd.log
# 激活上传/下载的日志
xferlog_enable=YES
# 使用标准的日志格式
#xferlog_std_format=YES


######### 安全设置 ###########

# 用户空闲超时,单位秒
#idle_session_timeout=600
# 数据连接空闲超时,单位秒
#data_connection_timeout=120
# 将客户端空闲1分钟后断开
#accept_timeout=60
# 中断1分钟后重新连接
#connect_timeout=60
# 本地用户传输速率,单位bite
#local_max_rate=50000
# FTP的最大连接数
#max_clients=200
# 每IP的最大连接数
#max_per_ip=5

######### 被动模式设置 ###########

# 是否开户被动模式
pasv_enable=yes
# 被动模式最小端口
pasv_min_port=5000
# 被动模式最大端口
pasv_max_port=6000
######### 其他设置 ###########
# 欢迎信息
ftpd_banner=Welcome to Ftp Server!

4 添加ftp防火墙规则:(关闭防火墙之后不用添加)
/sbin/iptables -I INPUT -p tcp --dport 21 -j ACCEPT
/etc/rc.d/init.d/iptables save
/etc/init.d/iptables restart
关闭IPtables防火墙:
Chkconfig –level 2345 iptables off
Chkconfig –list 列出运行这的服务信息

5 添加用户(注意,该处添加nologin类型用户ftpuser):
useradd -d /home/ftp -s /sbin/nologin ftpuser
如果已启动vsftpd,重新启动
pkill vsftpd /usr/sbin/vsftpd &

http://www.cnblogs.com/thinksasa/archive/2013/02/28/2937066.html 详细链接


出现的问题:
1、 安装好vsftp软件后,链接ftp登陆后提示这样的错误
500 OOPS: cannot change directory:/home/
//查看SELinux设置
# getsebool -a|grep ftp
ftpd_disable_trans –> off
或者
ftp_home_dir–>off
//使用setsebool命令开启
# setsebool ftpd_disable_trans 1
或者
# setsebool ftp_home_dir 1
//查看当前状态是否是on的状态
# getsebool -a|grep ftp
ftpd_disable_trans –> on
或者
ftp_home_dir–>on
//setsebool使用-P参数,无需每次开机都输入这个命令
# setsebool -P ftpd_disable_trans 1
或者
# setsebool -P ftp_home_dir 1
2、 解决vsftpd 530 Permission denied
使用在vsftpd.conf中添加userlist_*阻止特定的本地用户
userlist_enable=YES
userlist_deny=YES
userlist_file=/etc/vsftpd/user_list

编辑/etc/vsftpd/user_list ,添加上需要阻止的本地用户,一个用户名一行 用被阻止的用户登录FTP显示的消息为:530 Permission denied
我本机的etc/vsftpd/vsftpd.conf文件里,只有userlist_enable=YES 于是用root用户登录报错530 Permission denied 把YES改成NO就OK了

还有一种情况,就是没有指定 userlist_file文件位置。解决:加上userlist_file=/etc/vsftpd/user_list

或者本地登录用户被添加到/user_list 列表中 ,只要把该用户删除就可以了。

原文地址:https://www.cnblogs.com/beginner-boy/p/8866345.html