设为首页 收藏本站
查看: 861|回复: 0

[经验分享] Centos 7下VSFTP服务的安装与配置

[复制链接]

尚未签到

发表于 2018-4-19 16:59:21 | 显示全部楼层 |阅读模式
  VSFTP服务    环境:Centos 7  (关闭了SELinux和防火墙)
  一、安装
1、YUM安装
[root@localhost ~]# yum install -y vsftpd    #过程省略
2、编译安装
在系统安装光盘可找到安装包或网络下载安装包
vsftpd.x86_64.0.3.0.2-22.el7
[root@localhost ~]# tar xvf vsftpd.x86_64.0.3.0.2-22.el7.tar.gz
[root@localhost ~]# cd vsftpd.x86_64.0.3.0.2-22.el7
#在开始编译前需要添加相关用户和目录,用户和目录记录在文件INSTALL中
#添加用户nobody,如果不添加,软件默认用户为ftp
[root@localhost ~]# useradd nobody -M -s /sbin/nologin
#添加目录
[root@localhost ~]# mkdir /var/share/empty
[root@localhost ~]# mkdir /var/ftp
  二、配置
yum或rpm安装的,配置文件一般在/etc/vsftpd/vsftpd.conf
相关参数意义:
anonymous_enable=NO                  #禁止匿名访问
anon_upload_enable=NO               #禁止匿名上传文件
anon_mkdir_write_enable=NO        #禁止匿名创建文件夹
anon_other_write_enable=NO         #禁止匿名其他写操作
chroot_list_enable=NO                    #禁止用户离开自己的FTP主目录
chroot_local_user=NO                     #禁止本地用户离开自己的FTP主目录
chroot_list_file=/etc/vsftpd.chroot_list   #虚拟用户列表,每行一个用户名
local_enable=YES                            #允许本地用户访问
local_umask=022                             # 设置本地用户所上传文件的默认权限掩码值
write_enable=YES                            #是否允许写
pam_service_name=vsftpd.vu          #权限验证需要的加密文件
guest_enable=YES                          #开启虚拟用户功能
guest_username=ftp                       #虚拟用户的宿主用户
virtual_use_local_privs=YES           #用户登录后操作主目录和本地用户具有同样的权限
user_config_dir=/etc/vsftpd/vconf    #虚拟用户主目录设置文件
listen=yes                                         #是否以独立运行的方式监听服务
listen_address=0.0.0.0                    # 设置监听ftp服务的IP地址
listen_port=21                                  #设置监听FTP服务的端口号
write_enable=yes                        #启用任何形式的写入权限(如上传,删除文件等)都需要开启此项
download_enable=yes      #是否可以下载文件(建立仅限浏览,上传的ftp服务器时可将其设为“no”)
dirmessage_enable=yes    #用户切换进入目录时显示.message文件(如果存在)的类容
xferlog_enable=yes             #启用xferlog日志,默认记录到/var/log/xferlog
xferlog_std_format=yes     #启用标准的xferlog日志格式,若禁用此项,将使用vsftpd自己的日志格式
connect_from_port_20=yes          #同意服务器主动模式(从20端口建立数据连接)
pasv_enable=yes              #同意被动模式连接
pasv_max_port=24600      #设置用于被动模式的服务器最大端口号
pasv_min_port=24500          #设置用于被动模式的服务器最小端口号
pam_service_name=vsftpd  #设置用于用户认证PAM文件位置(/etc/pam.d/目录中对应的文件名)
userlist_enable=yes       #是否启用户控制列表
userlist_deny=NO    #是否禁用user_list列表文件中的用户账号
userlist_file=/etc/vsftpd/uer_list    #//访问控制列表的路径
max_clients=0        #最多同意多少个客户端同是连接(0为不限制)
max_per_ip=0        #对来自同一个ip地址的客户端,最多同意多少个并发连接(0为不限制)
tcp_wrappers=yes       #是否启用TCP_Wrappers主机访问控制
开启虚拟用户
guest_enable=YES            #启用用户隐射功能
guest_username=ftp     #映射的系统用户名字 本地用户
guest_config_dir=/etc/vsftp_user_conf      #记录虚拟用配置文件的目录
pam_service_name=ftp.vu     #指定 pam认证文件
  1、匿名用户访问配置
#过滤注释行显示有效行,查看配置文件
[root@localhost pub]# grep -v ^# /etc/vsftpd/vsftpd.conf
anonymous_enable=YES
local_enable=YES
write_enable=YES
local_umask=022
anon_upload_enable=YES
anon_mkdir_write_enable=YES
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=NO
listen_ipv6=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
  #默认文件目录赋权给用户ftp,并启动服务
[root@localhost pub]# chown -R ftp.users /var/ftp/pub/
[root@localhost pub]# systemctl restart vsftpd
  2、实名访问
#过滤注释行显示有效行
[root@localhost pub]# grep -v ^# /etc/vsftpd/vsftpd.conf
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
anon_upload_enable=NO
anon_mkdir_write_enable=NO
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
chown_uploads=YES
chown_username=vftpuser
xferlog_file=/var/log/xferlog
xferlog_std_format=YES
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
ls_recurse_enable=YES
listen=NO
listen_ipv6=YES
pam_service_name=vsftpd
userlist_enable=YES
userlist_deny=YES
userlist_file=/etc/vsftpd/user_list
tcp_wrappers=YES
guest_enable=YES
guest_username=vftpuser
user_config_dir=/etc/vsftpd/vuser_conf
pasv_min_port=61001
pasv_max_port=62000
allow_writeable_chroot=YES
anon_umask=022
  #编辑虚拟用户列表
[root@localhost pub]#  vim /etc/vsftpd/chroot_list
vftpuser
#安装数据加密库
[root@localhost ~]# yum install db4 db4-utils -y
  *如果无法安装可配置epel源
[root@localhost ~]#  wget http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
[root@localhost ~]#  rpm -ivh epel-release-latest-7.noarch.rpm
  #设置用户密码数据库
[root@localhost pub]# vim /etc/vsftpd/vuser_passwd.txt
howard
123456
long
123456
[root@localhost vsftpd]#db_load -T -t hash -f /etc/vsftpd/vuser_passwd.txt /etc/vsftpd/vuser_passwd.db
  修改认证配置文件
[root@localhost ~]# vim /etc/pam.d/vsftpd
原内容全部注释掉
#系统为32位的
auth required pam_userdb.so db=/etc/vsftpd/vuser_passwd
account required pam_userdb.so db=/etc/vsftpd/vuser_passwd
#系统为64位的
auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser_passwd
account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser_passwd
  #设置虚拟用户的权限配置文件
[root@localhost ~]# vim /etc/vsftpd/vuser_conf/howard
local_root=/var/ftp/upload
write_enable=YES
anon_umask=022
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
[root@localhost ~]# vim /etc/vsftpd/vuser_conf/long (内容同上)
  创建虚拟用户的上传文件目录
[root@localhost ~]# mkdir /var/ftp/upload
  设置防火墙
打开防火墙设置:
[root@localhost ~]# vi /etc/sysconfig/iptables
注释其他,新加如下
-A INPUT –m state --state NEW –m tcp –p tcp –dport 22 –j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 10060:10090 -j ACCEPT
然后保存,并关闭该文件,在终端内运行下面的命令,刷新防火墙配置:
systemctl restart firewalld.service
  使用本地用户登录,限制目录和权限的实例:
一、编辑主服务配置文件vim /etc/vsftpd/vsftpd.conf
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
chroot_local_user=YES
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
chroot_list_enable=NO
#chroot_list_file=/etc/vsftpd/chroot_list
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
user_config_dir=/etc/vsftpd/userconfig
#local_root=/data/ftproot
tcp_wrappers=YES
pasv_enable=YES
pasv_max_port=21000
pasv_min_port=20000
pasv_address=121.201.14.168
  二、编辑用户配置文件
mkdir /etc/vsftpd/userconfig
vim /etc/vsftpd/userconfig/usname
local_root=/vsftproot
write_enable=YES
  使用虚拟用户配置实例:
一、编辑服务配置文件vim /etc/vsftpd/vsftpd.conf
anonymous_enable=NO
local_enable=YES
write_enable=YES
guest_enable=YES
guest_username=virtual
local_umask=022
anon_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=YES
pam_service_name=vsftpd.vu
userlist_enable=YES
tcp_wrappers=YES
user_config_dir=/etc/vsftpd/vusers_dir
  二、编辑用户配置文件
mkdir /etc/vsftpd/vusers_dir
vim /etc/vsftpd/vusers_dir/usname
local_root=/vsftproot
write_enable=YES

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-449239-1-1.html 上篇帖子: CentOS 7 下搭建 Dokuwiki 下篇帖子: CentOS7.4安装压力测试软件stress
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表