CentOS 6.4下安装vsftpd、配置虚拟用户登录

概述:

vsftpd是Linux下比较著名的FTP服务器,搭建FTP服务器当然首选这个。

本文介绍了在CentOS 6.4下安装vsftpd、配置虚拟用户登录FTP的过程。

正文:

一:安装vsftpd

查看是否已经安装vsftpd

rpm -qa | grep vsftpd

如果没有,就安装,并设置开机启动

yum -y install vsftpd

chkconfig vsftpd on

二:基于虚拟用户的配置

所谓虚拟用户就是没有使用真实的帐户,只是通过映射到真实帐户和设置权限的目的。虚拟用户不能登录CentOS系统。

修改配置文件

打开/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=ftp //指定虚拟用户的宿主用户,CentOS中已经有内置的ftp用户了

user_config_dir=/etc/vsftpd/vuser_conf //设定虚拟用户个人vsftp的CentOS FTP服务文件存放路径。存放虚拟用户个性的CentOS FTP服务文件(配置文件名=虚拟用户名

进行认证

首先,安装Berkeley DB工具,很多人找不到db_load的问题就是没有安装这个包。

yum install db4 db4-utils

然后,创建用户密码文本/etc/vsftpd/vuser_passwd.txt ,注意奇行是用户名,偶行是密码

test

123456

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

db_load -T -t hash -f /etc/vsftpd/vuser_passwd.txt /etc/vsftpd/vuser_passwd.db

然后给个读的权限

chmod 600 /etc/vsftpd/vuser_passwd.db

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

auth required pam_userdb.so db=/etc/vsftpd/vuser_passwd

account required pam_userdb.so db=/etc/vsftpd/vuser_passwd

最后,创建虚拟用户配置文件

mkdir /etc/vsftpd/vuser_conf

这里也要读的权限

chmod 600 /etc/vsftpd/vuser_conf

chmod 600 /etc/vsftpd/vuser_passwd.db

vi /etc/vsftpd/vuser_conf/test  //文件名等于vuser_passwd.txt里面的账户名,否则下面设置无效

内容如下

local_root=/ftp/www  //虚拟用户根目录,根据实际情况修改

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

设置Selinux

setsebool -P ftp_home_dir=1   //设置ftp可以使用home目录

sersebool -P allow_ftpd_full_access=1   //设置ftp用户可以有所有权限

设置FTP根目录权限

mkdir -p /ftp/www   //创建目录

chmod -R 755 /ftp

chmod -R 777 /ftp/www

最新的vsftpd要求对主目录不能有写的权限所以ftp为755,主目录下面的子目录再设置777权限

设置防火墙(如果没有开防火墙就不用设置了)

打开/etc/sysconfig/iptables

在“-A INPUT –m state --state NEW –m tcp –p –dport 22 –j ACCEPT”,下添加:

-A INPUT -m state --state NEW -m tcp -p -dport 21 -j ACCEPT

然后保存,并关闭该文件,在终端内运行下面的命令,刷新防火墙配置:

service iptables restart

OK,运行“service vsftpd restart”,你就可以访问你的FTP服务器了。

配置PASV模式

vsftpd默认没有开启PASV模式,现在FTP只能通过PORT模式连接,要开启PASV默认需要通过下面的配置

打开/etc/vsftpd/vsftpd.conf,在末尾添加

pasv_enable=YES   //开启PASV模式

pasv_min_port=40000   //最小端口号

pasv_max_port=40080   //最大端口号

pasv_promiscuous=YES

在防火墙配置内开启40000到40080端口

-A INPUT -m state --state NEW -m tcp -p -dport 40000:40080 -j ACCEPT

重启iptabls和vsftpd

service iptables restart

service vsftpd restart

现在可以使用PASV模式连接你的FTP服务器了~

时间: 2024-08-02 07:01:13

CentOS 6.4下安装vsftpd、配置虚拟用户登录的相关文章

CentOS 6.3下安装Vsftp,虚拟用户

CentOS 6.3下安装Vsftp,虚拟用户一.安装:1.安装Vsftpd服务相关部件:[[email protected] ~]# yum install vsftpd*Dependencies Resolved============================================================================= Package                 Arch       Version          Repository  

centos 6.5下安装、配置并启动SSH远程访问

centos 6.5下安装.配置并启动SSH远程访问 1.登录centos 6.5系统,使用root用户登录,如果为非root用户则执行su或su - 或su root或su - root切换为root用户. 2.查看SSH是否安装(检查是否装了SSH包). 输入命令:rpm -qa | grep ssh 如图所示说明centos 6.5系统已经为我们默认安装了SSH包. 注:若没安装SSH则可输入:yum install openssh-server安装. 3.查看SSH服务是否正在运行. 输

Vsftp安装及配置虚拟用户

Vsftp安装及配置虚拟用户 一.安装 采用yum安装 [[email protected]_64_122_centos vsftpd]# yum installvsftpd 安装完成以后vsftpd的默认配置文件在/etc/vsftpd 二.建立虚拟用户的过程 1,创建虚拟用户文本文件,添加虚拟用户和密码 [[email protected]_64_122_centos vsftpd]# vivuser.txt 奇数行是用户名,偶数是密码. 比如: admin [email protected

RHEL 6.5安装vsftpd(虚拟用户)

1. 配置本地yum源 #vi /etc/yum.repos.d/rhel-source.repo [Server] name=rhel6 baseurl=file:///misc/cd/ enable=1 gpgcheck=1 gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-redhat-release 2. 安装vsftpd #yum installvsftpd 3. 配置vsftpd 编辑配置文件#vi /etc/vsftpd/vsftpd.conf anonym

vsftp 配置虚拟用户登录

1.安装vsftpd 1 yum install vsftpd -y 2.更名默认配置文件,以便恢复 1 cp ftpusers ftpusers.bak 2 cp user_list user_list.bak 3 cp vsftpd.conf vsftpd.conf.bak 3.创建虚拟ftp账户和数据库文件 1 vim /etc/vsftpd/vusers.list #添加帐号和密码 2 ftpuser #一行帐户 3 ftppass #一行密码 4 ftpuser2 5 ftppass2

Centos 6.5下安装vsftpd服务器

1.查看是否安装vsftp [[email protected] ~]#rpm -qa|grep vsftpd 如果出现 vsftpd-2.2.2-13.el6_6.1.x86_64  则说明已经安装了vsftp. 如果没出现vsftpd等字段,则执行第二步: 2.安装vsftpd [[email protected] ~]# yum -y install vsftpd 3.配置vsftpd.conf文件[/etc/vsftpd/vsftpd.conf] # Example config fil

在CentOS 6.6下安装与配置mysql

1.使用yum安装mysql yum list | grep mysql   //查看mysql信息 yum install mysql-server.x86_64 //安装mysql 2.查看mysql版本: rpm -qi mysql-server 3.重启mysql: service mysqld restart 4.查看是否开机启动: chkconfig --list | grep mysqld 5.设置开机启动: chkconfig mysqld on 6.修改密码: /usr/bin

VSFTPD配置虚拟用户 -V2

1.安装vsftpd #yum install  vsftpd 2.建立虚拟用户,格式为第一行为用户名名,第二行为密码,然后类推 #vim /home/loginuser.txt 3.为虚拟用户生成建立db数据库,同时只有root用户才能读写 # db_load -T -t hash -f /home/loginuser.txt /etc/vsftpd/vsftpd_login.db # chmod 600 /etc/vsftpd/vsftpd_login.db 4.配置pam文件 # u (6

vsftpd配置虚拟用户

在VSFTP中,虚拟用户认证使用的是单独的口令库文件(pam_userdb),由可插入认证模块(PAM)认证.使用这种方式只能访问服务器为其提供的FTP服务,而不能访问系统的其它资源,由此来提高系统的安全性.并且配置更加灵活. 下面介绍配置过程.注意防火墙和selinx 1.生成虚拟用户口令文件. # vim /etc/vsftpd/login.txt ftpu1#用户名 1234#密码 ftpu2 qwer ftpu3 5678 2.生成口令库文件,并修改其权限: # db_load -T -