阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

如何用vsftpd的虚拟用户来管理Apache的虚拟主机

163次阅读
没有评论

共计 2960 个字符,预计需要花费 8 分钟才能阅读完成。

根据网上的教程整理出来用 vsftpd 的虚拟用户来管理 Apache 的虚拟主机,发现确实挺方便的,所以发出来,做个记录,我的系统是 CentOS 6.5 64 位。

# 安装所需的包

yum install -y pam vsftpd db4 db4-utils
 
# 用 httpd 的用户来作为 vsftpd 的映射用户,达到方便管理各个虚拟主机的目的,我的 httpd 的用户为 apache
 
# 创建一个记录 vsftpd 虚拟用户的用户名和密码的文件(文件名随意取,这里用 vuser_vsftpd_login.txt)
# 格式为:一行用户名,一行密码,多个用户分行写入。
# 例如:
vi /etc/vsftpd/vuser_vsftpd_login.txt
vuser_aiplaypc.com
123456
 
chmod 600/etc/vsftpd/vuser_vsftpd_login.txt
 
# 使用 db_load 命令生成虚拟用户认证文件
db_load -T -t hash -f /etc/vsftpd/vuser_vsftpd_login.txt /etc/vsftpd/vuser_vsftpd_login.db
 
chmod 600/etc/vsftpd/vuser_vsftpd_login.db
 
# 需要注意的是,每次新增虚拟用户之后,都要执行一次 db_load 这条命令,这样才能更新虚拟用户认证文件,也就是 vuser_vsftpd_login.db
 
# 备份一下 vsftpd 的配置文件,然后清空 vsftpd.conf 的内容,重写一个 vsftpd.conf
cp /etc/vsftpd/conf/vsftpd.conf /etc/vsftpd/conf/vsftpd.conf.default
 
vi /etc/vsftpd/conf/vsftpd.conf
#####vsftpd.conf 开始 #####
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
connect_from_port_20=YES
 
# 日志功能,如果启用,去掉注释即可
#xferlog_enable=YES
#xferlog_file=/var/log/vsftpd.log
 
xferlog_std_format=YES
listen=YES
userlist_enable=YES
tcp_wrappers=YES
max_per_ip=5
max_clients=200
 
guest_enable=YES
# 打开虚拟用户功能
 
guest_username=apache
# 将所有虚拟用户映射成 apache 这个本地用户,用 httpd 的用户 apache 做映射,这样就可以对网站目录进行管理了
 
pam_service_name=/etc/pam.d/ftp.vu
#ftp 用户的 pam 验证方式
 
user_config_dir=/etc/vsftpd/vuser_conf
# 放置每个虚拟用户的配置文件的目录,一个用户一个文件
#####vsftpd.conf 结束 #####
 
# 接下来创建 vsftpd.conf 中提到的验证文件
cp /usr/share/doc/vsftpd-2.2.2/EXAMPLE/VIRTUAL_USERS/vsftpd.pam /etc/pam.d/ftp.vu
 
vi /etc/pam.d/ftp.vu
 
#ftp.vu 原文件的内容:
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/login
account required /lib/security/pam_userdb.so db=/etc/vsftpd/login
 
#ftp.vu 修改后的内容,如果是 32 位系统就改 = 号后面的路径即可
auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser_vsftpd_login
account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser_vsftpd_login
 
# 创建放置虚拟用户配置文件的目录
mkdir /etc/vsftpd/vuser_conf
 
# 创建 vsftpd 虚拟用户的配置文件,最好文件名就是用户名,容易查找,内容如下
vi /etc/vsftpd/vuser_conf/vuser_aiplaypc.com
 
##### 虚拟用户配置开始 #####
anon_world_readable_only=no
# 用户可以浏览和下载文件,不能设为 yes,否则无法看到文件
 
write_enable=yes
# 用户可以创建文件
 
anon_upload_enable=yes
# 用户可以上传文件
 
anon_mkdir_write_enable=yes
# 用户有创建和删除目录的权限
 
anon_other_write_enable=yes
# 用户具有文件改名和删除文件的权限
 
local_root=/home/web/html
# 指定这个虚拟 FTP 用户的家目录,这里的 html 是你虚拟主机的根目录
##### 虚拟用户配置结束 #####
 
# 在虚拟用户配置文件中以 yes 和 no 这两个参数根据实际情况来控制 ftp 用户的权限,或者把对应的语句删除

到这里,用 vsftpd 的虚拟用户来管理 apache 虚拟主机的配置就完成了,重启 vsftpd 就可以用虚拟用户登录并且管理网页文件了,如果不能登录,请查看 iptables 和 selinux 的设置。

更多 vsFTPd 相关教程见以下内容

玩转 vsftpd 服务器的四大高级配置:http://www.linuxidc.com/Linux/2013-09/90565.htm

vsFTPd 配置教程:http://www.linuxidc.com/Linux/2013-09/90562.htm

Ubuntu 实用简单的 FTP 架设 http://www.linuxidc.com/Linux/2012-02/55346.htm

Ubuntu 上架设 FTP 服务器和 Apache 服务器 http://www.linuxidc.com/Linux/2011-04/35295.htm

Ubuntu 13.04 安装 LAMP\vsftpd\Webmin\phpMyAdmin 服务及设置 http://www.linuxidc.com/Linux/2013-06/86250.htm

RHEL6 平台下 SeLinux 和 vsftpd 的匿名上传的简单案例 http://www.linuxidc.com/Linux/2013-04/82300.htm

Linux 系统 vsftpd 源码安装 http://www.linuxidc.com/Linux/2013-03/81475.htm

openSUSE 13.2/13.1 下安装配置 FTP 服务器 vsftpd  http://www.linuxidc.com/Linux/2014-12/110070.htm

本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-06/132265.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计2960字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中