特殊Vsftpd环境搭建Word格式.docx
- 文档编号:21616140
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:41
- 大小:124.45KB
特殊Vsftpd环境搭建Word格式.docx
《特殊Vsftpd环境搭建Word格式.docx》由会员分享,可在线阅读,更多相关《特殊Vsftpd环境搭建Word格式.docx(41页珍藏版)》请在冰豆网上搜索。
接下来把配置文件中的listen=yes去掉,然后:
#servicexinetdrestart
重新启动守护进程后,Vsftpd服务就会让守护进程来管理了。
在守护进程管理过程中,我们再修改主配置文件的话,就不需要重新启动服务了,这样来说可能比较方便。
这样,我们就把服务做到守护进程下了,希望大家好好理解一下。
5.2基于ip的虚拟站点
在此节里面,我们将讨论到如何基于多ip站点建立虚拟的ftp服务。
那么首先我们要有两个以上的ip地址。
上节讲到把服务器做到守护进程下,那么此节我们会讲到在这两种服务模式下分别搭建的虚拟ftp站点。
首先先来看一下在独立模式下的虚拟ftp服务搭建:
首先我们看一下配置后的两个站点一些信息的比较:
第一个站点
第二个站点
ip地址
ip1
ip2
主配置文件
/etc/vsftpd/vsftpd.conf
/etc/vsftpd/vsftpd2.conf
匿名用户映射的本地用户名
默认为ftp
新建立,为ftp2
匿名用户登陆的目录
/var/ftp/
/var/ftp2/
那么通过上表我们可以看到我们还得新建立一个用户作为第二个站点的匿名用户登陆的本地用户。
然后让新的ftp2用户的主目录为/var/ftp2/。
那么我们如何告诉ftp服务器第二个站点的匿名用户登陆后使用ftp2呢?
我们可以用这个语句:
ftp_username=指定的匿名用户登陆后映射的本地用户名
好了,我们继续搭建服务器。
建立用户ftp2和目录:
#mkdir/var/ftp2/
#useradd-d/var/ftp2/ftp2
建立新的ftp2的主配置文件:
#cp/etc/vsftpd/vsftpd.conf/etc/vsftpd/vsftpd2.conf
我们修改ftp的配子文件/etc/vsftpd/vsftpd.conf为:
listen=yes
listen_address=192.168.159.2
anonymous_enable=yes
local_enable=yes
pam_service_name=vsftpd
write_enable=yes
ftpd_banner=itisftp1site
我们修改ftp2的配子文件/etc/vsftpd/vsftpd2.conf为:
listen_address=192.168.159.3
ftpd_banner=itisftp2site
ftp_username=ftp2
这样就可以了,然后我们分别启动服务然后查看效果:
#touch/var/ftp/ftp1
#touch/var/ftp2/ftp2
#/usr/local/sbin/vsftpd/etc/vsftpd/vsftpd.conf&
[1]2287
#/usr/local/sbin/vsftpd/etc/vsftpd/vsftpd2.conf&
[2]2288
#ftp192.168.159.2
Connectedto192.168.159.2.
220itisftp1site
530PleaseloginwithUSERandPASS.
KERBEROS_V4rejectedasanauthenticationtype
Name(192.168.159.2:
root):
ftp
331Pleasespecifythepassword.
Password:
230Loginsuccessful.
RemotesystemtypeisUNIX.
Usingbinarymodetotransferfiles.
ftp>
ls
227EnteringPassiveMode(192,168,159,2,240,200)
150Herecomesthedirectorylisting.
-rw-r--r--1000May1510:
12ftp1
226DirectorysendOK.
quit
221Goodbye.
#ftp192.168.159.3
Connectedto192.168.159.3.
220itisftp2site
Name(192.168.159.3:
12ftp2
这样我们已经看到效果了,接下来的就是如何配置不同配置文件,来实现不同站点效果了。
接下来我们看一下在守护进程模式下如何配置多ip的虚拟ftp站点。
我们还得看一下总结的表格:
守护进程配置文件
/etc/xinetd.d/vsftpd
/etc/xinetd.d/vsftpd2
这样我们看到用户的配置和刚才的一样,而且主配置文件也是一样。
但是多了一个守护进程配置文件配置。
那么刚才的环境地址绑定是在主配置文件里面做的,现在要求我们地址绑定要在守护进程配置文件里面做了,而且在每个守护进程配置文件里面还得指向到自己的ftp服务的配置文件。
这样在守护进程里面我们就得用到这两个设置:
bind=绑定的ip
server_args=每个站点的主配置文件
那么我们来做守护进程文件,首先先写第一个站点的守护进程文件:
#vi/etc/xinetd.d/vsftpd
bind=192.168.0.1
#vi/etc/xinetd.d/vsftpd2
server_args=/etc/vsftpd/vsftpd2.conf
bind=192.168.0.2
这样两个守护进程文件就写完了,用户也在上个试验已经建立完了。
所以我们接下来继续建立两个站点的主配置文件就可以了。
#vi/etc/vsftpd/vsftpd.conf
ftpd_banner=itissite1
#vi/etc/vsftpd/vsftpd2.conf
ftpd_banner=itissite2
这样就建立了两个站点的主配置文件,我们可以启动服务然后测试一下:
#servicexinetdrestart
#ftp192.168.0.1
Connectedto192.168.0.1.
Name(192.168.0.1:
227EnteringPassiveMode(192,168,0,1,240,200)
#ftp192.168.0.2
Connectedto192.168.0.2.
Name(192.168.0.2:
227EnteringPassiveMode(192,168,0,2,240,200)
这样基于守护进程的虚拟ip站点也搭建成功了,那么基于这种思想我们还可以继续搭建更多的基于ip的站点。
希望大家对这部分内容好好理解一下,因为在实际工作中这个环境可能是经常遇到的。
5.3虚拟用户建立、管理
之前介绍的Vsftpd服务中用户一共有两类用户。
那么我们知道匿名用户的特点是设置的语句比较多,这样对匿名用户的权限限制就比较灵活。
那么本地用户的特点是一个用户名一个密码,相对登陆来说控制比较灵活。
那么匿名和本地用户各有各的特点,我们是否也可以将他们的优点结合一下?
那么这里就引出了虚拟用户,我们可以依靠pam插件模块来为Vsftpd的虚拟用户做身份认证。
那么这里用户和匿名用户与本地用户又有什么特点呢?
匿名用户
本地用户
虚拟用户
登陆名
ftp或anonymous
本地用户名
/etc/passwd
数据库中指定
登陆密码
Email地址或任意字符串
本地用户密码
密码认证方式
vsftpd服务
/etc/shadow
PAM
映射的本地用户
ftp_username
本地用户本身
guest_username
指定
登陆目录
ftp主目录
本地用户主目录
主目录
激活方法
anonymous_enable
local_enable
guest_enable
看到了上面的表格信息后,我们应该知道了三类用户的各自特点。
那么接下来我们就来使用db库的方式来搭建一个简单虚拟用户登陆的环境:
首先建立用户名及密码的db库文件:
#cat<
<
!
>
/tmp/login
>
andy
123
nini
321
!
这样我们建立了/tmp/login文件。
这个文件就是保存用户名密码的原始文件。
我们注意一下,在这个文件里面奇数行为登陆用户名,每个奇数行的下一行都是每个用户的密码。
那么我建立了两个用户,andy的密码为123;
nini的密码为321。
继续转化明文文件为db文件:
#db_load-T-thash-f/tmp/login/etc/vsftpd/login.db
这里使用db_load命令来实现转化的。
然后我们为虚拟用户建立PAM认证文件:
#vi/etc/pam.d/vsftpd.vir
authrequired/lib/security/pam_userdb.sodb=/etc/vsftpd/login
accountrequired/lib/security/pam_userdb.sodb=/etc/vsftpd/login
建立虚拟用户的映射本地用户:
#useraddftpvir
修改主配置文件为:
pam_service_name=vsftpd.vir
guest_enable=yes
guest_username=ftpvir
登陆测试:
#ftp127.0.0.1
Connectedto127.0.0.1.
220(vsFTPd2.0.3)
Name(127.0.0.1:
使用db文件中的andy用户可以实现登陆了,而且nini用户也可以登陆,这里就不再试。
整个的虚拟用户的环境我们就搭建成功了,那么这样的登陆可能并不是太好。
因为如果想再添加用户或者修改用户密码可能都是不太方便的。
我们会在接下来谈到如何使用数据库保存用户名和密码,那样就比较方便了。
现在虚拟用户已经搭建成功了,我们如何去管理,那么虚拟用户的管理语句有哪些?
我们之前了解到Vsftpd用户的两类用户都有自己的配置语句,那么匿名在默认情况下的配置语句是和匿名一样的。
但是如果激活这个属性:
virtual_usr_local_privs=yes/no
这样的匿名用户的配置语句就和本地用户一样了。
为了更加灵活的设置虚拟用户,上面的设置语句默认是关闭的,也就是默认情况下虚拟用户和匿名用户的属性配置语句是一样的。
这里我们还想有这样的要求:
每个虚拟用户登陆后都登陆到指定的自己的目录;
andy用户登陆后可以在自己的目录里面上传文件,但是不能建立文件夹和删除;
nini用户登陆后即可以上传也可以建立文件夹而且删除改名;
那么大家看一下,这就要求我们对虚拟用户的不同用户还得设置不同的权限,我们记得在本地用户中使用过一个usr_config_dir语句吧,这条语句可以设置不同登陆用户的单独配置文件所在目录。
那么上面的要求如果要实现的话,我们也可以使用这个设置,我们来看一下主配置文件:
user_config_dir=/etc/ftpuser/
接着:
#mkdir/home/ftpvir/andy/
#mkdir/home/ftpvir/nini/
#chmod777/home/ftpvir/andy/
#chmod777/home/ftpvir/nini/
#mkdir/etc/ftpuser/
/etc/ftpuser/andy
anon_upload_enable=yes
anon_mkdir_write_enable=no
anon_other_write_enable=no
/etc/ftpuser/nini
anon_mkdir_write_enable=yes
anon_other_write_enable=yes
建立的andy用户和nini用户的配置文件,这样我们登陆测试一下:
put/tmp/andyfileandyfile
local:
/tmp/andyfileremote:
andyfile
227EnteringPassiveMode(127,0,0,1,42,42)
150Oktosenddata.
226FilereceiveOK.
227EnteringPassiveMode(127,0,0,1,73,163)
-rw-------15035030May1512:
29andyfile
mkdirtestdir
550Permissiondenied.
put/tmp/ninifileninifile
/tmp/ninifileremote:
ninifile
227EnteringPassiveMode(127,0,0,1,32,87)
227EnteringPassiveMode(127,0,0,1,190,143)
29ninifile
mkdirninidir
257"
/ninidir"
created
deleteninifile
250Deleteoperationsuccessful.
227EnteringPassiveMode(127,0,0,1,179,151)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 特殊 Vsftpd 环境 搭建