linux系统的Web服务器集成vsftp的方法

昨天我们写了一篇《linux下配置web+ftp服务器全教程(一) 》说完了Web服务器的安装全过程,今天我们继续说下在apahce服务器上集成vsftp,以及apache和vsftp虚拟账户的权限配置。

三、web服务器下的ftp安装配置

linux下的ftp开源软件很多,我们这里选择的是vsftp,它的信息你可以去问度娘,不解释,直接进入安装配置,同样我们使用yum命令。

yum install vsftpd pam db4 【安装vsftpd主程序/pam验证/db4工具】

chkconfig vsftpd on 【设置vsftpd开机启动】

service vsftpd start 【启动vsftpd服务】

1、配置vsftpd配置文件:

vsftpd的配置文件默认位置在:/etc/vsftpd/vsftpd.conf,通常情况下我们选择先备份一份原始的配置文件,然后编辑,具体步骤如下:

mv vsftpd.conf vsftpd.conf-old 【将vsftpd.conf文件改名为vsftpd.conf-old 备份】

vi /etc/vsftpd/vsftpd.conf 【新建并编辑vsftpd.conf文件】

我的习惯是直接更名原始配置文件然后新建一个文件写入需要的配置信息,你同样可以复制一份原始文件,然后修改。

接上打开新建vsftpd.conf文件,按照如下配置写入:

anonymous_enable=NO

//禁止匿名用户登录,通常我们web服务器上的ftp都不允许匿名登录

local_enable=NO

//禁止(或允许)本地用户登录

write_enable=YES

//赋予可写入权限

chroot_local_user=YES

//锁定用户目录,ftp用户登录ftp只能在自己的目录下操作

anon_upload_enable=NO

anon_mkdir_write_enable=NO

//禁止匿名用户的上传、新建目录权限

dirmessage_enable=YES

//允许ftp用户列出文件目录

xferlog_enable=YES

//写入日志

connect_from_port_20=YES

listen=YES

//使用端口20,通常这几项是默认的

pam_service_name=vsftpdpamconf

userlist_enable=YES

tcp_wrappers=YES

//第一行比较重要,指定了pam验证的配置文件

guest_enable=YES

//开启虚拟用户

guest_username=apache

//指定虚拟用户使用本地用户apache的权限*这项特别重要,web服务器上面的ftp虚拟用户一定要设置成apache权限,否则ftp上传的文件不能被正常访问,也无法修改网站生成的文件。

user_config_dir=/etc/vsftpd/vuser_conf

//虚拟用户的配置文件存放位置

virtual_use_local_privs=YES

//虚拟用户使用本地用户权限,这项要有,否则ftp用户无法更改文件权限

然后保存并退出vi编辑器,这一步我们的vsftp.conf就配置好了,执行:service vsftpd restart 重启vsftpd服务测试配置文件书写是否正确。

2、添加vsftpd虚拟账户:

上面我们配置了虚拟用户的验证文件类型是pam,文件名是vsftpdpamconf,下面步骤我们要进入目录/etc/vsftpd 中建立虚拟用户db库:

vi vuservsftpd.txt 【新建并编辑文件vuservsftpd.txt】

写入你要建立的虚拟用户和密码,单行为用户名双行为密码,注意此不能有空格,示例:

vuser1

password1

vuser2

password2

………………

建立完成后保存退出,然后通过db命令来生成vsftpd验证需要使用的虚拟用户库文件:

db -T -t hash -f vuservsftpd.txt vsftpdpamconf.db

//注意db文件名要与vsftpd.conf中设置的pam认证名相同

组后我们为了安全可以删掉刚刚新建的vuservsftpd.txt,下次需要添加用户名的时候再新建即可,还可以将vsftpdpamconf.db文件权限设置为644。

3、添加vsftpd虚拟账户配置文件:

只新建了账户验证还是不够的,因为虚拟账户没有对应的配置文件并不会生效,1步里面我们在vsftpd.conf文件中确定了虚拟账户的配置文件目录为:/etc/vsftpd/vuser_conf,下面我们进入这个目录工作:

配置文件的命名必须是与虚拟账户名相同,所以我们新建了两个文件:vuser1、vuser2,并根据需要写入如下配置信息:

local_root=/var/www/html/demo

//设定虚拟用户的更目录,因为我们需要实现每一个网站一个ftp帐号管理,所以他的根目录就是我们需要管理的网站虚拟目录。

write_enable=YES

download_enable=YES

anon_upload_enable=YES

anon_mkdir_write_enable=YES

anon_other_write_enable=YES

//赋予虚拟用户写入、下载上传、新建目录等其它权限

anon_world_readable_only=no

//目前不明白这个的意义,但是必须存在

上面是我的配置文件,你可根据需要添加或者注销部分权限,注销只需要在语句前面加上“#”号,当然你也可以直接删掉。

到这里我们的linux下web+ftp就可以配置成功了,你也可以使用ftp软件登录上传程序并安装你的网站。

上面都配置完成网站还是无法访问也无法登录ftp怎么办?

在做了如上配置,并且保证你所做的配置都没有问题的情况下,你就要考虑下防火墙和linux的默认安全机制,有些系统默认是开启SElinux和iptable防火墙的,这时我们需要将其关闭来检验是否配置成功:

setenforce 0

service iptables stop

//临时关闭selinux和iptables防火墙,重启后恢复

上面是临时关闭安全机制selinux和防火墙iptables的方法,通常笔者不建议永久关闭,因为我们的服务需要保护,如果关闭后测试以上web和vsftp都可以正常访问那我们再来慢慢配置防火墙规则,有关88iptables的配置我们下篇文章继续讨论。

本文作者:冯志强,原文出自:http://www.crazyer.org 转载注明。

(0)

相关推荐

  • linux搭建nginx WEB服务器的教程

    下文来为各位介绍一篇在linux搭建nginx WEB服务器的教程,如果各位不想使用apache环境了,想用nginx环境就可以和小编一起来看看。 1、下载nginx 命令:wget http://n ...

  • windows7系统登录远程服务器的两种方法

    windows7系统登录远程服务器的两种方法 解决方法一: 1.Windows系统有自带的登录系统,点击"运行"(或者windows+R)输入"mstsc",即 ...

  • Linux系统中获取路径的文件名的方法

    这篇文章主要介绍了Linux系统中获取路径的文件名的方法,文中总结出了两条,需要的朋友可以参考下 代码如下: [root@dabu.info ]#basename /root/aaa/bbb/dabu ...

  • Win7系统下关闭主板集成声卡的方法

    声卡也叫音频卡.声卡是多媒体技术中最基本的组成部分,是实现声波/数字信号相互转换的一种硬件.声卡的基本功能是把来自话筒.磁带.光盘的原始声音信号加以转换,输出到耳机.扬声器.扩音机.录音机等声响设备, ...

  • win7系统打开Excel提示配置标识不正确系统无法开始服务器进程的解决方法图文教程

    近期一些用户询问Win7 64位系统运行Excel时出现“因为配置标识不正确,系统无法开始服务器进程,请检查用户名和密码.”还发来了提示错误的图片(如下图所示),如何解决这个问题呢?针对此故障问题,小 ...

  • Win8系统通过Web凭据找回账户密码的方法

    Win8系统怎么通过Web凭据找回账户密码?在Win8系统中登录某个网站的账号以后,IE浏览器可以帮你记住账户密码.有些时使用自动登录以后,很长时间没有输入密码就把密码忘了.但是浏览器中保存的密码是不 ...

  • Linux系统中使用nmcli查看网络配置方法

    相信很多小伙伴都有在使用Linux系统,那么在其中我们怎么通过使用nmcli命令来查看网络配置呢?方法很简单,下面小编就来为大家介绍.具体如下:1. 首先,在电脑上将Linux系统打开,进入该系统的终 ...

  • win10系统提示内部服务器错误的解决方法介绍

    win10系统提示内部服务器错误怎么办?一些同学们在使用win10系统的时候,出现提示内部服务器错误该怎么处理呢?j接下来的文章中小编将会带来详细的操作方法介绍,需要的朋友不妨阅读本文进行参考. wi ...

  • linux系统下vnc 的配置和使用方法

    VNC基本上是由两部分组成:一部分是客户端的应用程序(vncviewer);另外一部分是服务 器端的应用程序(vncserver)。VNC的基本运行原理和一些Windows下的远程控制软件很相 象。V ...