基于vsftpd部署ftp服务(centos/rhel)

一、vsftp安装

一般在CentOS上都自动安装了vsftd,若没有安装则可以使用以下步骤进行安装

[[email protected] yum.repos.d]# yum install vsftpd
[[email protected] ~]# chkconfig vsftpd on
[[email protected] ~]# service vsftpd start

# 清空iptables,并关闭iptables和selinux
[[email protected] ~]# iptables -F                            # 清空iptables规则
[[email protected] ~]# iptables -L -nv
Chain INPUT (policy ACCEPT 40 packets, 3328 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 25 packets, 3208 bytes)
 pkts bytes target     prot opt in     out     source               destination
[[email protected] ~]# service iptables stop                  # 关闭防火墙
iptables: Setting chains to policy ACCEPT: filter          [  OK  ]
iptables: Flushing firewall rules:                         [  OK  ]
iptables: Unloading modules:                               [  OK  ]
[[email protected] ~]# chkconfig iptables off                  # 设置iptables开机不启动

# 关闭selinux
[[email protected] ~]# sed -i ‘s/SELINUX=enforcing/SELINUX=disabled/g‘ /etc/sysconfig/selinux
[[email protected] ~]# shutdown -r now

二、匿名/系统用户配置测试

[[email protected] ~]# useradd -s /sbin/nologin shaw
[[email protected] ~]# passwd shaw

默认,安装好vsftp,匿名用户(只可下载)和系统用户(完全权限)就可以访问

因为系统用户登录ftp,即在自己家目录中,所有具备全部权限

更改系统账号ftp主目录,对用户限速

[[email protected] ~]# vim /etc/vsftpd/vsftpd.conf 
local_root=/var/ftp/pub                    # 更改系统用户主目录
local_max_rate=1024000                     # 系统用户限速1MB(上传和下载)
[[email protected] ~]# service vsftpd restart
[[email protected] ~]# chmod o+w /var/ftp/pub     # 加权限,可以上传和删除(ftp权限,由dir权限和ftp权限共同控制)

此时系统用户登录ftp,就在‘/var/ftp/pub’目录下,需要什么样的权限,手工添加

三、vsftpd虚拟用户配置测试

1. 编辑配置文件vi /etc/vsftpd/vsftpd.conf

[[email protected] ~]# touch /var/log/vsftpd.log           # 创建vsftp的日志文件
[[email protected] ~]# vim /etc/vsftpd/vsftpd.conf
anonymous_enable=NO                                #设定不允许匿名访问
local_enable=YES                                   #设定本地用户可以访问
chroot_list_enable=YES                             #使用户不能离开主目录
xferlog_file=/var/log/vsftpd.log                   #设定vsftpd的服务日志
pam_service_name=vsftpd                            #PAM"认证文件"名,PAM将根据/etc/pam.d/vsftpd进行认证

# Vsftpd虚拟用户支持服务配置,默认vsftpd.conf中不包含这些设定项目,需要自己手动添加
guest_enable=YES                                   #设定启用虚拟用户功能。
guest_username=ftp                                 #指定虚拟用户的宿主用户。系统中已经有内置的"ftp"用户了
user_config_dir=/etc/vsftpd/vuser_conf             #设定虚拟用户个人vsftp的配置文件存放路径。存放虚拟用户个性化的配置文件名,应和虚拟用户名相同

2. 创建chroot_list,将用户ftp加入其中

[[email protected] ~]# touch /etc/vsftpd/chroot_list
[[email protected] ~]# echo ftp >> /etc/vsftpd/chroot_list

3. 进行虚拟用户认证配置

安装Berkeley DB工具,后面找不到db_load的问题就是没有安装这个软件包的原因

[[email protected] ~]# yum install db4 db4-utils

创建用户密码文件vuser_passwd.txt

[[email protected] ~]# vi /etc/vsftpd/vuser_passwd.txt  #   #注意奇数行是用户名,偶数行是密码
ftpuser
q.123456

生成虚拟用户认证的db文件

[[email protected] ~]# db_load -T -t hash -f /etc/vsftpd/vuser_passwd.txt /etc/vsftpd/vuser_passwd.db

编辑认证文件/etc/pam.d/vsftpd,全部注释掉原来语句,并增加以下两行

[[email protected] ~]# vi /etc/pam.d/vsftpd
#%PAM-1.0
#session    optional     pam_keyinit.so    force revoke
#auth       required    pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
#auth       required    pam_shells.so
#auth       include     password-auth
#account    include     password-auth
#session    required     pam_loginuid.so
#session    include     password-auth
auth    required        pam_userdb.so   db=/etc/vsftpd/vuser_passwd
account required        pam_userdb.so   db=/etc/vsftpd/vuser_passwd

创建虚拟用户服务配置文件

[[email protected] ~]# mkdir /etc/vsftpd/vuser_conf
[[email protected] ~]# vi /etc/vsftpd/vuser_conf/ftpuser   # 配置文件名和用户名相同,每行配置最后,不能有空格,否则启动时报错
local_root=/var/ftp/pub 	        # 虚拟用户的根目录(根据实际修改)
write_enable=YES 			# 可写
anon_umask=022 				# 掩码
anon_max_rate=1024000                   # 限速1MB
anon_world_readable_only=NO 
anon_upload_enable=YES 
anon_mkdir_write_enable=YES
anon_other_write_enable=YES

[[email protected] ~]# mkdir /var/ftp/ftpuser            # 给刚建立的用户创建目录
[[email protected] ~]# chown -R ftp /var/ftp/ftpuser     # 设定目录权限

4.重新启动vsftp服务

[[email protected] ~]# service vsftpd restart
时间: 2024-11-10 05:32:43

基于vsftpd部署ftp服务(centos/rhel)的相关文章

centos7基于vsftpd的ftp服务使用

一.简要说明ftp:文件传输协议vsftpd:非常安全的ftp进程二.工作模式ftp的命令端口为21主动模式(不推荐):ftp数据端口为20,服务器连接客户端,因为客户端都有防火墙,所有使用不便被动模式(推荐):服务器告诉客户端我开放的端口,客户端连接服务器三.安装vsftpd yum -y install vsftpd setenforce 0 sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config 安装完成后,防火

exportfs命令、NFS客户端问题、FTP介绍、使用vsftpd搭建ftp服务

exportfs命令 exportfs命令用来管理当前NFS共享的文件系统列表. 常用选项 -a:全部卸载或全部挂载 -r:重新挂载 -u:卸载某个目录 -v:显示共享目录 常用组合:exportfs -arv 服务端更改配置文件后,不重启服务,直接执行该命令就可以使更改后的配置文件生效. 注意: 在重启nfs服务之前需要先将所有挂载点卸载,否则将发生程序错误,严重者会拖垮系统. 以上操作都在服务端进行! 测试 在服务端的/etc/exports配置文件中,增加一行.把/tmp/目录单独共享给1

部署FTP服务

FTP简介 FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为"文传协议".它是典型的C/S结构的应用层协议需要从服务端软件.客户端软件两个部分实现文件传输功能.在FTP的使用当中,用户经常遇到两个概念:"下载"(Download)和"上传"(Upload)."下载"文件就是从远程主机拷贝文件至自己的计算机上:"上传"文件就是将文件从自己的计算机中拷贝至远程主机上

Azure上部署FTP服务

FTP是个比较复杂的协议,其协议分为控制层和数据层,工作模式分为主动和被动两种模式. 在默认的Active模式下其工作原理如下: 可以看到,客户端发起FTP的请求道服务器端,FTP的端口是21.用户在控制层面通过认证后,会通知服务器其开放的随机端口号.随后服务器端将主动发起源端口为TCP 20目标端口为TCP 随机端口号的连接请求,进行数据连接. 在一般情况下,FTP的服务器和客户端都是在防火墙之后的,服务器端的防火墙要明确配置此服务器要对外提供哪些服务的端口,客户端的防火墙要求必须是客户端主动

15.1-15.3 FTP,使用vsftpd搭建FTP服务

FTP介绍 FTP是File Transfer Protocol(文件传输协议,简称文传协议)的英文简称,用于在Internet上控制文件的双向传输. FTP的主要作用就是让用户连接一个远程计算机(这些计算机上运行着FTP服务器程序),并查看远程计算机中的文件,然后把文件从远程计算机复制到本地计算机,或把本地计算机的文件传送到远程计算机. 小公司用的多,大企业不用FTP,因为不安全 使用vsftpd搭建ftp服务 1 centos上自带vsftpd 2 #yum install -y vsftp

8.27 exports命令、NFS客户端问题、FTP介绍、使用vsftpd搭建ftp服务

1.exports命令 由于开启NFS服务时,会有其他系统访问共享的目录,所以当服务端重启NFS服务时,会导致其他系统NFS服务出现异常,因此NFS服务不能随便重启,如果确实需要重启服务,需要先将客户端挂载的NFS目录卸载,执行如下命令: umount -l /mnt 卸载完成后,再重启NFS服务 如果不想卸载共享目录,则可以使用exports命令,exports常用的选项如下: -a 全部挂载或者全部卸载 -r 重新挂载 -u 卸载某一个目录 -v 显示共享目录 以下操作在服务端上 需要重启服

linux(centos)部署ftp服务

由于自动化需要,部署一台ftp服务器 安装vsftpd yum install vsftpd -y 安装完成之后,在/etc/vsftpd目录下会有四个文件 [[email protected] ~]# ll /etc/vsftpd/ 总用量 20 -rw-------. 1 root root 125 10月 31 2018 ftpusers 黑名单文件,此文件里的用户不允许访问 FTP 服务器 -rw-------. 1 root root 361 10月 31 2018 user_list

使用vsftpd搭建ftp服务

FTP,即文件传输协议,它使得主机间可以共享文件.FTP使用TCP生成一个虚拟连接用于控制信息,然后再生成一个单独的TCP连接用于数据传输.控制连接使用类似TELNET协议在主机间交换命令和消息.文件传输协议是TCP/IP网络上两台计算机传送文件的协议,FTP是在TCP/IP网络和INTERNET上最早使用的协议之一,它属于网络协议组的应用层.FTP客户机可以给服务器发出命令来下载文件,上传文件,创建或改变服务器上的目录. 服务端 1.安装软件 [[email protected] ~]# yu

自动部署ftp服务脚本

基本都有了,需要使用的拿出来组合就OK了 /etc/pam.d/vsftpd                              #PAM认证配置文件 /etc/vsftpd/ftpusers                           #黑名单用户列表 /etc/vsftpd/user_list                          #用户列表(黑白可调) /etc/vsftpd/vsftpd.conf                     #主配置文件 yum -