DDR爱好者之家 Design By 杰米

一、下载当前vsftp最新版本

   
复制代码代码如下:wget ftp://vsftpd.beasts.org/users/cevans/vsftpd-2.3.4.tar.gz     


二、安装前准备

1、创建虚拟用户映射的本地用户wwwftp

   
复制代码代码如下:useradd wwwftp -d /data/www -s /sbin/nologin

2、创建自定义配置目录

   
复制代码代码如下:mkdir -p /data/soft/vsftpd/conf
mkdir -p /data/soft/vsftpd/bin
mkdir -p /data/soft/vsftpd/lib
mkdir -p /data/soft/vsftpd/user_conf
mkdir -p /data/soft/vsftpd/empty
mkdir -p /data/soft/vsftpd/logs
mkdir -p /data/www
mkdir -p /data/www/user1
mkdir -p /data/www/user2

3、对自定义目录设置权限

   
复制代码代码如下:chown -R wwwftp:www /data/www
chmod -R 700 /data/soft/vsftpd/empty/
chown -R wwwftp:wwwftp /data/soft/vsftpd/empty/

4、复制用于验证用户登录的库文件到自定义目录方便管理

   
复制代码代码如下:cp /lib/security/pam_userdb.so /data/soft/vsftpd/lib/

5、安装所需软件

   
复制代码代码如下:yum -y install gcc db4* pam*

三、解压安装vsftpd

   
复制代码代码如下: tar zxvf vsftpd-2.3.4.tar.gz
cd vsftpd-2.3.4

源码安装默认不支持tcp_wrappers和ssl

需要修改builddefs.h

   
复制代码代码如下: /*默认值如下:*/
#undef VSF_BUILD_TCPWRAPPERS /*是否支持TCP WRAPPERS*/
#define VSF_BUILD_PAM /*是否支持自定义虚拟用户登录*/
#undef VSF_BUILD_SSL /*是否支持SSL传输*/
/*支持则将对应项设为define,否则设为undef*/

编译vsftpd

   
复制代码代码如下:make

查看编译的vsftpd二进制文件是否加载了pam

   
复制代码代码如下:ldd vsftpd

如下:

   
复制代码代码如下:[root@CentOS5 vsftpd-2.3.4]# ldd vsftpd
linux-gate.so.1 => (0x00628000)
libwrap.so.0 => /lib/libwrap.so.0 (0x00cee000)
libnsl.so.1 => /lib/libnsl.so.1 (0x0015f000)
libpam.so.0 => /lib/libpam.so.0 (0x00fc4000)
libdl.so.2 => /lib/libdl.so.2 (0x007dc000)
libresolv.so.2 => /lib/libresolv.so.2 (0x008d8000)
libutil.so.1 => /lib/libutil.so.1 (0x00110000)
libcap.so.1 => /lib/libcap.so.1 (0x00d99000)
libc.so.6 => /lib/libc.so.6 (0x0029a000)
libaudit.so.0 => /lib/libaudit.so.0 (0x00114000)
/lib/ld-linux.so.2 (0x004a2000)

看到libpam.so.0 => /lib/libpam.so.0 (0x00fc4000)表示已成功加载pam认证模块

   
复制代码代码如下:cp vsftpd /data/soft/vsftpd/bin

四、配置vsftpd

1、创建主配置文件

   
复制代码代码如下:vi /data/soft/vsftpd/conf/vsftpd.conf

如下:

   
复制代码代码如下: local_enable=YES
anonymous_enable=NO
anon_upload_enable=NO
anon_other_write_enable=NO
anon_mkdir_write_enable=NO
ftpd_banner=Welcome to FTP service.
listen=YES
listen_port=21
connect_from_port_20=YES
nopriv_user=nobody
tcp_wrappers=YES
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/data/soft/vsftpd/chroot_list
userlist_enable=yes
userlist_deny=no
userlist_file=/data/soft/vsftpd/allow
dual_log_enable=YES
vsftpd_log_file=/data/soft/vsftpd/logs/vsftpd.log
xferlog_enable=YES
xferlog_file=/data/soft/vsftpd/logs/xferlog
pasv_enable=YES
pasv_min_port=50000
pasv_max_port=60000
guest_enable=YES
guest_username=wwwftp
pam_service_name=vsftpd
virtual_use_local_privs=YES
use_localtime=YES
user_config_dir=/data/soft/vsftpd/user_conf
secure_chroot_dir=/data/soft/vsftpd/empty

2、创建允许登录ftp的用户文件

   
复制代码代码如下:vi /data/soft/vsftpd/allow

如下:

   
复制代码代码如下: user1
user2

3、创建用于锁定用户目录的用户列表文件

   
复制代码代码如下: vi /data/soft/vsftpd/chroot_list

如下

   
复制代码代码如下: user1
user2

4、配置vsftpd的pam认证模块(用于虚拟用户认证)

  
复制代码代码如下: vi /etc/pam.d/vsftpd

如下

   
复制代码代码如下:auth required /data/soft/vsftpd/lib/pam_userdb.so db=/data/soft/vsftpd/login
account required /data/soft/vsftpd/lib/pam_userdb.so db=/data/soft/vsftpd/login

保存退出

5、创建用户名密码文本文件

   
复制代码代码如下:vi /data/soft/vsftpd/login.txt

如下:一行用户名一行密码

   
复制代码代码如下: user1
123456
user2
654321

保存退出

6、用db_load生成用户数据库

   
复制代码代码如下:db_load -T -t hash -f /data/soft/vsftpd/login.txt /data/soft/vsftpd/login.db
chmod 600 /data/soft/vsftpd/login.db
rm -rf /data/soft/vsftpd/login.txt

7、配置虚拟用户自定义配置文件

   
复制代码代码如下: vi /data/soft/vsftpd/user_conf/user1

user1所有权限

   
复制代码代码如下:local_root=/data/www/user1
write_enable=YES
local_umask=022

保存退出

   
复制代码代码如下: vi /data/soft/vsftpd/user_conf/user2

user2只允许下载

   
复制代码代码如下: local_root=/data/www/user2
write_enable=NO
download_enable=YES
local_umask=022

保存退出

8、启动vsftpd服务

   
复制代码代码如下:/data/soft/vsftpd/bin/vsftpd /data/soft/vsftpd/conf/vsftpd.conf &

五、测试
user1登录可读、写、删除、创建、修改一切权限
user2登录仅有下载权限
在CentOS系统下创建和配置虚拟用户的方法

DDR爱好者之家 Design By 杰米
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
DDR爱好者之家 Design By 杰米

《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线

暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。

艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。

《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。