vsftp配置安装以及权限设置.docx
- 文档编号:25740919
- 上传时间:2023-06-12
- 格式:DOCX
- 页数:14
- 大小:20.87KB
vsftp配置安装以及权限设置.docx
《vsftp配置安装以及权限设置.docx》由会员分享,可在线阅读,更多相关《vsftp配置安装以及权限设置.docx(14页珍藏版)》请在冰豆网上搜索。
vsftp配置安装以及权限设置
vsftpdFTP服务器架设
在windows上完了完server-u,很简单,一个小时就能完成ftp服务器的假设,在liunx下要架设一个ftp就没那么容易了,在网上
找了找资料
在windows上架设FTP首选Server-u,看看资料,点点下一步,基本上10分钟就能架设一个ftp服务器了,在linux下面架设ftp服务器,确实费了我一番功夫,现在想起来,需要总结的就是看资料的时候一定要全面,并且做好一个资料要看完。
最终我选择了vsFTPd是一款在Linux发行版中最受推崇的FTP服务器程序。
特点是小巧轻快,安全易用。
vsftpd(号称最安全的ftp服务器)
下面讲下linux下使用vsftpd的步骤:
1.首先下载需要的软件,双机直接安装:
a.vsftpd-2.0.1-5.EL4.5.i386.rpm(在liunx4的第一张光盘)
b.db4-utils-4.2.52-7.1.i386.rpm(在liunx4的第三张光盘),用来加密虚拟用户密码等文件的工具
2.启动vsftpd服务
在控制台执行servicevsftpdstart,如果没有什么问题,你可以看到服务启动的进程号,如果出现了问题,你可以试着将gssftp这个服务停掉,执行servicevsftpdstop因为这个服务或许会造成冲突
查看vsftpd服务器启动情况servicevsftpdstatus
3.用客户端工具连接ftp服务器
在window操作系统下,打开命令提示符,输入ftp133.64.81.164回车
然后使用默认的用户名(ftp)和密码(ftp),就可以登录ftp服务器了,或者你也可以使用系统用户的用户名和口令登录ftp服务器。
经过以上3个步骤我们就完成了ftp服务器的假设,但是这里有许多问题
a.安全性,匿名用户也可以登录,进行操作
b.用户登录以后并没有锁定目录
c.用户的权限配置没有体现
还有其他的问题,基于这些问题,需要我们了解下vsftpd的工作原理,上面的操作都是基于一下的3个配置文件的
vsftp相关配置文件说明
/etc/vsftpd/vsftpd.conf
/etc/vsftpd.ftpusers
/etc/vsftpd.user_list
其中,/etc/vsftpd/vsftpd.conf是主配置文件。
/etc/vsftpd.ftpusers中指定了哪些用户不能访问FTP服务器。
/etc/vsftpd.user_list中指定的用户默认情况(即在/etc/vsftpd/vsftpd.con中设置了userlist_deny=YES)下也不能访问FTP服务器,当在/etc/vsftpd/vsftpd.con中设置了userlist_deny=NO时,仅仅允许/etc/vsftpd.user_list中指定的用户访问FTP服务器。
下面我们重点讲下虚拟用户的设置:
如果你不想把匿名登录打开,也不想告诉对方linux的系统账号(为了安全),防止他用系统账号做别的事,那么就需要建立一个虚拟用户了,在ftp中建立虚拟用户,然后映射成linux的系统用户,但是虚拟用户只有ftp的使用权限,并不能登录linux系统,很多FTP服务器都要密码和用户才能下到你要的好东西,你是不是也想要过下这个隐呢?
给别人一个用户名和密码,这个配置其实也很简单。
虚拟用户(virtualusers)的FTP服务器的配置。
虚拟用户只能访问为其提供的FTP服务,虚拟用户不能像本地的实用户那样登录系统而访问系统的其他资源。
若用户对FTP
服务器站内具有写权限并且不允许访问系统的其他资源,则该用户应该使用虚拟用户才能提高系统的安全性
传统的FTP服务器采用如下的方法实现虚拟用户:
1、在本地建立普通用户账号并设置密码
2、将其登录shell设为不可登录
3、由passwd/shadow口令系统进行认证
vsftpd的虚拟用户采用了不与系统账户口令文件合二为一的方法,也就是说,为了认证这
些虚拟用户vsftpd使用单独的口令库文件(pam_userdb),由可插拔认证模块(PAM)进行认证。
使用这种方式更加安全,并且配置更灵活。
配置简单的虚拟用户FTP服务器
1、生成虚拟用户口令库文件
2、配置生成vsftpd的认证文件
3、建立虚拟用户所要访问的目录并设置相应权限
4、建立配置文件//生成虚拟用户口令库文件,为了建立此口令库文件,先要生成一个文本文件
下面我们开始完成建立一个虚拟用户的步骤:
用户:
xinlisn
密码:
123456
第一步:
建立虚拟用户名和密码对应的文本文件,logins.txt放在/home,ftp服务弄好以后记得删除这个文件,为了安全
xinlisn
123456
此文本文件的格式是:
单数行为用户名,偶数行为口令,即:
用户xinlisn的口令为123456
第二步:
下面使用db_load命令生成口令库文件,需要安装db4-utils-4.2.52-7.1.i386.rpm
db_load-T-thash-f/home/logins.txt/etc/vsftpd_login.db
chmod600/etc/vsftpd_login.db
第三步:
给虚拟用户创建目录
mkdir/home/snuser/ftp
chmod700/home/snuser/ftp
第四步:
创建虚拟ftp用户登录后映射的linux用户,注-s/sbin/nologin是让其不能登陆系统,-d是指定用户目录为/home/snuser/ftp
useradd–s/sbin/nologin–d/home/snuser/ftpftpuser
第五步:
编辑生成虚拟用户所需的PAM配置文件
vi/etc/pam.d/ftp.vu
插入如下两行
authrequired/lib/security/pam_userdb.sodb=/etc/vsftpd_login
accountrequired/lib/security/pam_userdb.sodb=/etc/vsftpd_login
第六步:
生成主配置文件vsftpd.conf,也就是虚拟用户启动所需要的配置文件,不是执行 service vsftpdstarts 所默认执行的 /ect/vsftpd/vsftpd.conf的配置文件,把它放在/etc/vsftpd.conf
#Exampleconfigfile/etc/vsftpd/vsftpd.conf
#
#Thedefaultcompiledinsettingsarefairlyparanoid.Thissamplefile
#loosensthingsupabit,tomaketheftpdaemonmoreusable.
#Pleaseseevsftpd.conf.5forallcompiledindefaults.
#
#READTHIS:
ThisexamplefileisNOTanexhaustivelistofvsftpdoptions.
#Pleasereadthevsftpd.conf.5manualpagetogetafullideaofvsftpd's
#capabilities.
#
#AllowanonymousFTP?
(Beware-allowedbydefaultifyoucommentthisout)
#禁止匿名登录
anonymous_enable=NO
#
#Uncommentthistoallowlocaluserstologin.
#接受本地用户
local_enable=YES
#
#UncommentthistoenableanyformofFTPwritecommand.
#可以上传(全局控制)
write_enable=YES
#
#Defaultumaskforlocalusersis077.Youmaywishtochangethisto022,
#ifyourusersexpectthat(022isusedbymostotherftpd's)
#local_umask=002
#
#UncommentthistoallowtheanonymousFTPusertouploadfiles.Thisonly
#hasaneffectiftheaboveglobalwriteenableisactivated.Also,youwill
#obviouslyneedtocreateadirectorywritablebytheFTPuser.
#允许上传
anon_upload_enable=YES
#
#UncommentthisifyouwanttheanonymousFTPusertobeabletocreate
#newdirectories.
#anon_mkdir_write_enable=YES
#
#Activatedirectorymessages-messagesgiventoremoteuserswhenthey
#gointoacertaindirectory.
#允许为目录配置显示信息,显示每个目录下面的message_file文件的内容
dirmessage_enable=YES
#
#Activateloggingofuploads/downloads.
#开启日记功能
xferlog_enable=YES
#
#MakesurePORTtransferconnectionsoriginatefromport20(ftp-data).
#connect_from_port_20=YES
#
#Ifyouwant,youcanarrangeforuploadedanonymousfilestobeownedby
#adifferentuser.Note!
Using"root"foruploadedfilesisnot
#recommended!
#chown_uploads=YES
#chown_username=whoever
#
#Youmayoverridewherethelogfilegoesifyoulike.Thedefaultisshown
#below.
#日志文件位置
xferlog_file=/var/log/vsftpd.log
#
#Ifyouwant,youcanhaveyourlogfileinstandardftpdxferlogformat
#使用标准格式
xferlog_std_format=YES
#
#Youmaychangethedefaultvaluefortimingoutanidlesession.
#空闲连接超时
idle_session_timeout=600
#
#Youmaychangethedefaultvaluefortimingoutadataconnection.
#数据连接超时
data_connection_timeout=600
#
#Itisrecommendedthatyoudefineonyoursystemauniqueuserwhichthe
#ftpservercanuseasatotallyisolatedandunprivilegeduser.
#nopriv_user=ftpsecure
#
#EnablethisandtheserverwillrecogniseasynchronousABORrequests.Not
#recommendedforsecurity(thecodeisnon-trivial).Notenablingit,
#however,mayconfuseolderFTPclients.
#async_abor_enable=YES
#
#BydefaulttheserverwillpretendtoallowASCIImodebutinfactignore
#therequest.TurnonthebelowoptionstohavetheserveractuallydoASCII
#manglingonfileswheninASCIImode.
#Bewarethatturningonascii_download_enableenablesmaliciousremoteparties
#toconsumeyourI/Oresources,byissuingthecommand"SIZE/big/file"in
#ASCIImode.
#TheseASCIIoptionsaresplitintouploadanddownloadbecauseyoumaywish
#toenableASCIIuploads(topreventuploadedscriptsetc.frombreaking),
#withouttheDoSriskofSIZEandASCIIdownloads.ASCIImanglingshouldbe
#ontheclientanyway..
#ascii_upload_enable=YES
ascii_download_enable=YES
#
#Youmayfullycustomisetheloginbannerstring:
#ftpd_banner=WelcometoblahFTPservice.
#
#Youmayspecifyafileofdisallowedanonymouse-mailaddresses.Apparently
#usefulforcombattingcertainDoSattacks.
#deny_email_enable=YES
#(defaultfollows)
#banned_email_file=/etc/vsftpd.banned_emails
#
#Youmayspecifyanexplicitlistoflocaluserstochroot()totheirhome
#directory.Ifchroot_local_userisYES,thenthislistbecomesalistof
#userstoNOTchroot().
#chroot_list_enable=YES
#(defaultfollows)
#chroot_list_file=/etc/vsftpd.chroot_list
#
#Youmayactivatethe"-R"optiontothebuiltinls.Thisisdisabledby
#defaulttoavoidremoteusersbeingabletocauseexcessiveI/Oonlarge
#sites.However,somebrokenFTPclientssuchas"ncftp"and"mirror"assume
#thepresenceofthe"-R"option,sothereisastrongcaseforenablingit.
#ls_recurse_enable=YES
#定义PAM所使用的名称,预设为vsftpd
#pam_service_name=vsftpd
#若启用此选项,userlist_deny选项才被启动
userlist_enable=YES
anon_umask=000
#enableforstandalonemode
#绑定到listen_port指定的端口
listen=YES
#开启tcp_wrappers支持
tcp_wrappers=YES
guest_enable=YES
pam_service_name=ftp.vu
guest_username=ftpuser
pasv_enable=YES
#virtual_use_local_privs=YES
pasv_enable=YES
pasv_min_port=30000
pasv_max_port=30999
#是否能使用ls-R命令以防止浪费大量的服务器资源
ls_recurse_enable=YES
#允许删除
anon_other_write_enable=YES
特别注意:
anon_umask=000
理解umask:
umask命令允许你设定文件创建时的缺省模式,对应每一类用户(文件属主、同组用户、其他用户)存在一个相应的umask值中的数字。
对于文件来说,这一数字的最大值分别是6。
系统不允许你在创建一个文本文件时就赋予它执行权限,必须在创建后用chmod命令增加这一权限。
目录则允许设置执行权限,这样针对目录来说,umask中各个数字最大可以到7。
umask=022时,新建的目录权限是755,文件的权限是644
umask=077时,新建的目录权限是700,文件的权限时600
vsftpd的local_umask和anon_umask借鉴了它
默认情况下vsftp上传之后文件的权限是600,目录权限是700
想要修改上传之后文件的权限,有两种情况
如果使用vsftp的是本地用户
则要修改配置文件中的local_umask的值
如果使用vsftp的是虚拟用户
则要修改配置文件中的anon_umask的值
也就是一个匿名用户上传文件以后,这个文件的权限是由文件最大权限666和目录最大权限777与umask 共同决定的
举例:
如果你上传一个文件,你的umask=022则,你上传文件以后,文件的权限是644
110,110,110
or 000,010,010
-------------------------------------
110,100,100 =644
如果你上传一个文件,你的umask=000则,你上传文件以后,文件的权限是666
110,110,110
or 000,000,000
-------------------------------------
110,110,110 =666
如果你不设置anon_unask=000,那么你上传的文件权限就是600,也就是这个文件只能被文件创建者读和写的权利,那么虚拟用户上传的文件将不能被自己下载。
以上配置copyvsftpd的标准配置在/etc/vstfpd/vsftpd.conf,增加了一些参数,改变了一些参数,具体参数含义可以看看附件中的文档,这些配置做到:
1.登录后该用户已经被锁定在/home/snuser/ftp目录下
2.该用的有只有上传,下载,浏览权限
3.连接的会话失效时间和数据传输的失效时间都是10分钟
4.不允许匿名用户登录
5.不接受linux系统用户登录ftp服务器
第七步:
先关闭原来的服务,在启动新的服务
killallvsftpd
/usr/local/sbin/vsftpd/etc/vsftpd.conf& /*如果失败请cd到usr/local/sbin执行*/
配置结束配置好后,新的口令库中的所有用户就都可以登录此FTP服务器了。
哈哈,做到这里你已经完成了FTP服务器的配置了,而且已经能满足你日常小局域网了,使用cmd,输入ftp133.*.*.* 验证吧
关于修改虚假用户名和密码:
a.如果要删除掉一个虚拟用户,先在logins.txt中删除用户对应的用户名和密码,然后删除vsftpd_login.db,重新运行db_load-T-thash-f/home/logins.txt/etc/vsftpd_login.db
b.如果只是要修改用户的密码,只需重新运行db_load就可以
c.如果要改变用户的其它配置,只需修改用户的配置文件
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- vsftp 配置 安装 以及 权限 设置