CentOS7 FTP服务搭建(虚拟用户访问FTP服务)
2017-05-10 00:00
761 查看
摘要:centosvsftpd
概述
最近在搞Oracle在Linux系统下集群,针对Linux系统,笔人也是一片空白。Liunx外部文件的传输,避免不了使用FTP服务,所以现在就整理下,CentOS7环境下,FTP服务的搭建。FTP服务器需要安装vsftp服务端软件。我们知道,在建立vsftpd用户时,我们一般是在linux下建立用户useradd的方式来访问ftp,但有时我们只想提供ftp服务,而避免用户用ftp的帐号去登录linux,采用一般的方式只能是限制该用户的访问权限,但还是避免不了用户登录进linux系统,所以比较好的方法是用vsftpd的虚拟用户(virtualusers)。
FTP基于虚拟用户的配置
一、配置防火墙,开启FTP服务器需要的端口
CentOS7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙。
1、关闭firewall:
systemctlstopfirewalld.service#停止firewall
systemctldisablefirewalld.service#禁止firewall开机启动
2、安装iptables防火墙
yuminstalliptables-services#安装
vi/etc/sysconfig/iptables#编辑防火墙配置文件,添加下面红色部分进入iptables,说明:21端口是ftp服务端口;10060到10090是Vsftpd被动模式需要的端口,可自定义一段大于1024的tcp端口
-AINPUT-mstate--stateNEW-mtcp-ptcp--dport21-jACCEPT
-AINPUT-mstate--stateNEW-mtcp-ptcp--dport10060:10090-jACCEPT
:wq!#保存退出
systemctlrestartiptables.service#最后重启防火墙使配置生效
systemctlenableiptables.service#设置防火墙开机启动
二、关闭SELINUX
vi/etc/selinux/config
#SELINUX=enforcing#注释掉
#SELINUXTYPE=targeted#注释掉
SELINUX=disabled#增加
:wq!#保存退出
setenforce0#使配置立即生效
三、安装vsftpd
rpm-qcvsftpd#查询vsftpd是否安装
yuminstall-yvsftpd#安装vsftpd
yuminstall-ypsmiscnet-toolssystemd-devellibdb-develperl-DBI#安装vsftpd虚拟用户配置依赖包
systemctlstartvsftpd.service#启动
systemctlenablevsftpd.service#设置vsftpd开机启动
四、新建系统用户vsftpd
useraddvsftpd-d/home/wwwroot-s/bin/false#用户目录为/home/wwwroot,用户登录终端设为/bin/false(即使之不能登录系统)
chownvsftpd:vsftpd/home/wwwroot-R
useradd:warning:thehomedirectoryalreadyexists.
Notcopyinganyfilefromskeldirectoryintoit.
五、建立虚拟用户个人Vsftp的配置文件和子账号FTP权限
mkdir/etc/vsftpd/vconf
cd/etc/vsftpd/vconf
touchweb1#这里创建虚拟用户配置文件
mkdir-p/home/wwwroot/web1/http/mydic
#设置FTP上传文件新增权限,最新的vsftpd要求对主目录不能有写的权限所以ftp为755,主目录下面的子目录再设置777权限
chmod-R755/home/wwwroot/web1/http
chmodR777/home/wwwroot/web1/http/mydic
viweb1#编辑用户web1配置文件,其他的跟这个配置文件类似,输入下面红色内容
local_root=/home/wwwroot/web1/http/ #设置FTP账号根目录
write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
:wq!#保存退出
六、配置vsftp服务器
cp/etc/vsftpd/vsftpd.conf/etc/vsftpd/vsftpd.conf-bak#备份默认配置文件
执行以下命令进行设置:
sed-i"s/anonymous_enable=YES/anonymous_enable=NO/g"'/etc/vsftpd/vsftpd.conf'
sed-i"s/#anon_upload_enable=YES/anon_upload_enable=NO/g"'/etc/vsftpd/vsftpd.conf'
sed-i"s/#anon_mkdir_write_enable=YES/anon_mkdir_write_enable=YES/g"'/etc/vsftpd/vsftpd.conf'
sed-i"s/#chown_uploads=YES/chown_uploads=NO/g"'/etc/vsftpd/vsftpd.conf'
sed-i"s/#async_abor_enable=YES/async_abor_enable=YES/g"'/etc/vsftpd/vsftpd.conf'
sed-i"s/#ascii_upload_enable=YES/ascii_upload_enable=YES/g"'/etc/vsftpd/vsftpd.conf'
sed-i"s/#ascii_download_enable=YES/ascii_download_enable=YES/g"'/etc/vsftpd/vsftpd.conf'
sed-i"s/#ftpd_banner=WelcometoblahFTPservice./ftpd_banner=WelcometoFTPservice./g"'/etc/vsftpd/vsftpd.conf'
echo-e"use_localtime=YES\nlisten_port=21\nchroot_local_user=YES\nidle_session_timeout=300
\ndata_connection_timeout=1\nguest_enable=YES\nguest_username=vsftpd#此处要和刚刚创建的用户名一直
\nuser_config_dir=/etc/vsftpd/vconf\nvirtual_use_local_privs=YES
\npasv_min_port=10060\npasv_max_port=10090
\naccept_timeout=5\nconnect_timeout=1">>/etc/vsftpd/vsftpd.conf
配置文件说明:
anonymous_enable=NO//设定不允许匿名访问
local_enable=YES//设定本地用户可以访问。注:如使用虚拟宿主用户,在该项目设定为NO的情况下所有虚拟用户将无法访问
chroot_list_enable=YES//使用户不能离开主目录
ascii_upload_enable=YES
ascii_download_enable=YES//设定支持ASCII模式的上传和下载功能
pam_service_name=vsftpd//PAM认证文件名。PAM将根据/etc/pam.d/vsftpd进行认证
#以下这些是关于vsftpd虚拟用户支持的重要配置项,默认vsftpd.conf中不包含这些设定项目,需要自己手动添加
guest_enable=YES//设定启用虚拟用户功能
guest_username=vsftpd//指定虚拟用户的宿主用户,CentOS中已经有内置的ftp用户了,通过映射到vsftpd
user_config_dir=/etc/vsftpd/vuser_conf//设定虚拟用户个人vsftp的CentOSFTP服务文件存放路径。存放虚拟用户个性的CentOSFTP服务文件(配置文件名=虚拟用户名)
七、建立虚拟用户名单文件
touch/etc/vsftpd/virtusers
编辑虚拟用户名单文件:(第一行账号,第二行密码,注意:不能使用root做用户名,系统保留)
vi/etc/vsftpd/virtusers
web1
123456
:wq!#保存退出
八、生成虚拟用户数据文件
db_load-T-thash-f/etc/vsftpd/virtusers/etc/vsftpd/virtusers.db
chmod600/etc/vsftpd/virtusers.db#设定PAM验证文件,并指定对虚拟用户数据库文件进行读取
九、在/etc/pam.d/vsftpd的文件头部加入以下信息(在后面加入无效)
修改前先备份
cp/etc/pam.d/vsftpd/etc/pam.d/vsftpdbak
vi/etc/pam.d/vsftpd#先注释到vsftpd所有配置,加入下面红色部分
authsufficient/lib64/security/pam_userdb.sodb=/etc/vsftpd/virtusers
accountsufficient/lib64/security/pam_userdb.sodb=/etc/vsftpd/virtusers
注意:如果系统为32位,上面改为lib,否则配置失败;
十、最后重启vsftpd服务器
systemctlrestartvsftpd.service
可通过tail-f/var/log/secure指令,查看服务器安全日志,便于分析错误问题,设置操作效果一定要仔细.....
后记:项目里关闭了防火墙,直接启动就可ftp访问了。没有配置虚拟用户,就直接用ssh用户可以ftp。完结!
原文链接http://www.cnblogs.com/xibei666/p/5934659.html
CentOS7FTP服务搭建(虚拟用户访问FTP服务)
概述最近在搞Oracle在Linux系统下集群,针对Linux系统,笔人也是一片空白。Liunx外部文件的传输,避免不了使用FTP服务,所以现在就整理下,CentOS7环境下,FTP服务的搭建。FTP服务器需要安装vsftp服务端软件。我们知道,在建立vsftpd用户时,我们一般是在linux下建立用户useradd的方式来访问ftp,但有时我们只想提供ftp服务,而避免用户用ftp的帐号去登录linux,采用一般的方式只能是限制该用户的访问权限,但还是避免不了用户登录进linux系统,所以比较好的方法是用vsftpd的虚拟用户(virtualusers)。
FTP基于虚拟用户的配置
一、配置防火墙,开启FTP服务器需要的端口
CentOS7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙。
1、关闭firewall:
2、安装iptables防火墙
-AINPUT-mstate--stateNEW-mtcp-ptcp--dport21-jACCEPT
-AINPUT-mstate--stateNEW-mtcp-ptcp--dport10060:10090-jACCEPT
:wq!#保存退出
systemctlrestartiptables.service#最后重启防火墙使配置生效
systemctlenableiptables.service#设置防火墙开机启动
二、关闭SELINUX
三、安装vsftpd
四、新建系统用户vsftpd
useradd:warning:thehomedirectoryalreadyexists.
Notcopyinganyfilefromskeldirectoryintoit.
五、建立虚拟用户个人Vsftp的配置文件和子账号FTP权限
#设置FTP上传文件新增权限,最新的vsftpd要求对主目录不能有写的权限所以ftp为755,主目录下面的子目录再设置777权限
chmod-R755/home/wwwroot/web1/http
chmodR777/home/wwwroot/web1/http/mydic
local_root=/home/wwwroot/web1/http/ #设置FTP账号根目录
write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
六、配置vsftp服务器
执行以下命令进行设置:
配置文件说明:
七、建立虚拟用户名单文件
编辑虚拟用户名单文件:(第一行账号,第二行密码,注意:不能使用root做用户名,系统保留)
web1
123456
:wq!#保存退出
八、生成虚拟用户数据文件
chmod600/etc/vsftpd/virtusers.db#设定PAM验证文件,并指定对虚拟用户数据库文件进行读取
九、在/etc/pam.d/vsftpd的文件头部加入以下信息(在后面加入无效)
修改前先备份
authsufficient/lib64/security/pam_userdb.sodb=/etc/vsftpd/virtusers
accountsufficient/lib64/security/pam_userdb.sodb=/etc/vsftpd/virtusers
注意:如果系统为32位,上面改为lib,否则配置失败;
十、最后重启vsftpd服务器
可通过tail-f/var/log/secure指令,查看服务器安全日志,便于分析错误问题,设置操作效果一定要仔细.....
后记:项目里关闭了防火墙,直接启动就可ftp访问了。没有配置虚拟用户,就直接用ssh用户可以ftp。完结!
相关文章推荐
- 详解CentOS7 FTP服务搭建(虚拟用户访问FTP服务)
- CentOS7 FTP服务搭建(虚拟用户访问FTP服务)
- CentOS7 FTP服务搭建(虚拟用户访问FTP服务)
- 搭建FTP服务,实现三种方式的访问:1.匿名访问;2,本地用户访问;3虚拟用户访问。
- CentOS7 FTP服务搭建(虚拟用户访问FTP服务)
- RHEL4-FTP服务(五)配置虚拟用户访问vsftp服务器_(下)
- linux中FTP服务搭建详解--3.虚拟用户
- centos FTP服务vsftpd下的虚拟用户 权限
- 搭建web服务实现多个虚拟主机.基于主机/用户的访问控制
- Centos下安装FTP并进行虚拟用户访问方式配置
- centOS6.8 ftp服务 安装配置 基于本地用户和虚拟用户
- Centos下安装FTP并进行虚拟用户访问方式配置
- Linux上搭建FTP服务的相关配置3:设置用户磁盘额及访问时间
- LinuxFTP服务搭建及创建虚拟用户
- RHEL4-FTP服务(五)配置虚拟用户访问vsftp服务_(上)
- FTP服务器的搭建及创建虚拟用户进行认证访问
- CentOS 6.8 ftp服务安装配置 基于本地用户和虚拟用户
- centOS+nginx 搭建SFTP服务实现上传和nginx访问资源
- Samba服务共享(匿名用户访问、本地用户访问、虚拟用户访问)
- FTP服务之本地用户访问