Linux_下Vsftpd配置
- 格式:doc
- 大小:78.50 KB
- 文档页数:14
Linux1 FTP服务器主配置文件vsftpd.confvsftpd.conf可以用于控制vsftpd,以实现各种各样的功能。
vsftpd缺省到/etc/vsftpd.conf处查找此文件。
当然,管理员也可以通过命令行参数进行指定。
对于想使用高级inetd管理的用户,例如,xinetd,则这个功能非常有用。
可以使用不同的配置文件来启动基于主机、实体用户、匿名用户登录及系统安全方面的每个服务。
vsftpd.conf的格式非常简单,每行要么是注释,要么是指令。
注释行以#开始,将被忽略。
指令行格式如下:选项=值应当注意的一点是,如果在“选项”、“=”、“值”三者之间存在空格,将会报错。
且针对于每项设定都有默认值(YES/NO),这可以通过配置文件来修改。
1.与计算机相关的设置值●connect_from_port_20用于控制在服务器端,是否使用端口20(ftp-data)进行数据连接。
基于安全的考虑,有些客户端需要这样做。
相反,禁用该选项可以使vsftpd以较少特权运行。
默认:NO。
●listen_portvsFTP使用的命令通道端口号,如果想要使用费默认的端口号,可在这个设置项中修改。
不过,需要知道这个设置值仅适合以stand alone(独立模式)的方式启动。
默认:21。
●dirmessage_enable如果启用,当用户首次进入一个新目录时,FTP服务器将会显示欢迎信息。
默认情况下,是通过扫描目录下的message文件获取的,当然也可以通过message_file 选项设定。
默认:NO。
●message_file当dirmessage_enable=YES时,可设置这个项目来让vsFTPd寻找该文件,从而显示信息。
默认:YES。
●listen若设置为YES,表示vsFTPd是以stand alone(独立模式)的方式启动。
默认:YES。
●pasv_enable如果数据传输时,不允许使用PASV模式,则将此选项设为NO。
Linux下配置FTP服务器实例详解摘要:本文通过在red hat 9.0中配置匿名用户和虚拟用户访问的ftp服务器,向读者详尽地诠释了linux下ftp服务器配置的全部流程以及配置过程中要注意的一些问题。
关键词:匿名用户虚拟用户权限 vsftpd pam认证1 概述linux下可用的ftp服务器软件比较多,vsftpd安全易用,很多著名的站点都在使用vsftpd作为其ftp服务器。
本文以vsftpd为例,对基于linux的ftp服务器配置问题进行研究。
2 安装vsftpd服务组件vsftpd所需组件包括:vsftpd*、pam*、db4*、db4-utils,可以使用rpm命令查看:【root @dns root】#rpm-qa | grep vsftpdvsftpd-1.1.3-8【root @dns root】#rpm-qa | grep pampam-0.75-48pam_krb5-1.60-1pam-smb-1.1.6-7pam-devel-0.75-48【root @dns root】#rpm-qa | grep db4db4-4.0.14-20db4-utils-4.0.14-20db4-java-4.0.14-20db4-devel-4.0.14-20【root @dns root】#以上便是配置ftp服务器所需所有组件,若发现个别没有装,则要在光盘中查找到装好。
3 创建并设置ftp站点的主目录我们的vsftpd组件安装好后,系统自动会生成一个目录,/var/ftp/pub,这个是linux系统中ftp站点的默认主目录,这里我们不用这个目录,我们自己为匿名用户和虚拟用户分别创建两个主目录如下:【root @dns root】# mkdir /var/ftp/share【root @dns root】#mkdir /var/ftp/soft其中share作为匿名用户的主目录,只能读不能写,此处该目录文件夹我们为其设置权限为755,而soft目录作为虚拟用户访问的主目录,读写删除权限都要,我们为其设置权限777如下:【root @dns root】#chmod 755 /var/ftp/share【root @dns root】#chmod 777 /var/ftp/soft4 创建虚拟用户虚拟用户只能访问为其提供的ftp服务,不能像本地用户那样登录系统而访问系统的其他资源,因此我们一般架设ftp时都会使用虚拟用户而不是本地用户来访问服务器以确保整个服务器系统的安全。
vsftp的配置步骤讲解说明主讲人:杨海艳然后vim /etc/vsftpd/vsftpd.confservice vsftpd restart【案例1】建立基于虚拟用户的FTP服务器,并根据以下要求配置FTP服务器。
(1)配置FTP匿名用户的主目录为/var/ftp/anon。
下载带宽限制为100kB/s(2)建立一个名为abc,口令为xyz的FTP账户。
下载带宽限制为500kB/s。
(3)设置FTP服务器同时登录到FTP服务器的最大链接数为100;每个IP最大链接数为3;用户空闲时间超过限值为5分钟。
mkdir /var/ftp/anonuseradd abcpasswd abcvim /etc/vsftpd/vsftpd.conf主要内容如下anonymous_enable=YESanon_root=/var/ftp/anonanon_max_rate=100000# Uncomment this to allow local users to log in.local_enable=YESlocal_max_rate=500000max_clients=100max_per_ip=3connect_timeout=300以上是本地的LOCAL用户下面是用虚拟用户来实现vim /etc/vsftpd/vuser内容如下tom123生成数据库文件db_load -T -t hash -f /etc/vsftpd/vuser /etc/vsftpd/vuser.dbchmod 600 /etc/vsftpd/vuser.dbvim /etc/pam.d/vsftpd注释掉原来的内容然后加入auth required pam_userdb.so db=/etc/vsftpd/vuseraccount required pam_userdb.so db=/etc/vsftpd/vuser最后编辑VSFTPD.CONF加入下面两句guest_enable=YESguest_username=abc大家可以自行测试。
VSFTPD配置方法1.安装VSFTPD软件首先,使用以下命令在Linux系统上安装VSFTPD软件:```sudo apt-get install vsftpd```2.配置VSFTPD打开VSFTPD的配置文件,通常位于/etc/vsftpd.conf,使用以下命令:```sudo nano /etc/vsftpd.conf```-设置FTP根目录:``````-允许匿名访问(可选):```anonymous_enable=YES```-关闭匿名上传(可选):```anon_upload_enable=NO```-允许本地用户登录:```local_enable=YES```-限制用户仅访问其主目录:```chroot_local_user=YES```将用户限制在其主目录下,防止访问系统其他部分。
-设置FTP用户的权限:```file_open_mode=0777local_umask=022```file_open_mode设置为0777将文件权限设置为可读写执行,local_umask设置为022保证新创建的文件和文件夹的权限正确。
``````3.重启VSFTPD服务使用以下命令重启VSFTPD服务,使配置生效:```sudo systemctl restart vsftpd```4.配置防火墙如果系统上使用了防火墙,需要修改防火墙规则以允许FTP流量通过。
根据所使用的防火墙软件和具体配置方法来进行相应的设置。
5.创建FTP用户使用以下命令创建一个FTP用户:```sudo adduser ftpuser```将ftpuser替换为你希望创建的FTP用户名。
6.设置FTP用户密码使用以下命令设置FTP用户的密码:```sudo passwd ftpuser```7.连接FTP服务器使用FTP客户端软件连接到配置好的VSFTPD服务器,使用FTP用户的用户名和密码登录即可。
以上就是VSFTPD配置的一般方法。
Linux(Centos)配置vsftp使⽤账号密码(虚拟⽤户)登录ftp进⾏⽂件上传和修改安装vsftpyum install vsftpd -y安装完成之后进⼊vsftp的配置⽂件夹cd /etc/vsftpd/⽂件夹内容如下[root@VM-0-12-centos vsftpd]# lltotal 20-rw------- 1 root root 125 Oct 1400:10 ftpusers-rw------- 1 root root 361 Oct 1400:10 user_list-rw------- 1 root root 5116 Oct 1400:10 vsftpd.conf-rwxr--r-- 1 root root 338 Oct 1400:10 vsftpd_conf_migrate.sh在当前⽬录下创建⼀个⽤户名和密码的⽂件⽂件名名称为 ftp_user.txtvim /etc/vsftpd/ftp_user.txt再ftp_user.txt⽂件⾥配置⽤户和密码yvioo123456kaifa12345678其中yvioo 是ftp登录的⽤户名123456 是ftp中yvioo⽤户登录的密码kaifa 是ftp登录的⽤户名12345678 是ftp中kaifa⽤户登录的密码以此内推,可以添加多个然后保存退出wq!执⾏命令⽣成虚拟数据库db_load -T -t hash -f /etc/vsftpd/ftp_user.txt /etc/vsftpd/ftp_login.db其中/etc/vsftpd/ftp_user.txt 是上⾯存放⽤户名和密码⽂件的绝对路径/etc/vsftpd/ftp_login.db 这个是⽣成的数据库的路径数据库名称为 ftp_login.db设置⽣成的数据库的访问权限chmod 777 /etc/vsftpd/ftp_login.db编辑账号的pam验证⽂件vim /etc/pam.d/vsftpd在最上⽅增加auth sufficient pam_userdb.so db=/etc/vsftpd/ftp_loginaccount sufficient pam_userdb.so db=/etc/vsftpd/ftp_login其中db=/etc/vsftpd/ftp_login 这个就是上⼀步⽣成的虚拟数据库(⽂件名称根据⾃⼰的来),注意:这⾥不⽤加 .db 后缀如下图所⽰创建⼀个⽂件夹mkdir /home/vsftpd新建⼀个系统⽤户vsftpd⽤户登录终端设为/bin/false(即不能登录系统)useradd vsftpd -d /home/vsftpd -s /bin/false其中vsftpd 这个就是创建的⽤户的⽤户名(这个下⾯配置⽂件⾥会使⽤)/home/vsftpd 就是刚才创建的⽂件夹根据需要创建修改/etc/vsftpd/vsftpd.conf,以下设置vim /etc/vsftpd/vsftpd.conf修改配置#禁⽤匿名登⼊anonymous_enable=YES 改为 anonymous_enable=NO#监听为专⽤模式listen=NO 改为 listen=YES#将ipv6监听注释掉listen_ipv6=YES 改为 #listen_ipv6=YES在配置⽂件底部增加#对⽤户访问只限制在主⽬录不能访问其他⽬录(这个已经有了但是默认是注释的可以取消注释或者直接新增)chroot_local_user=YES#启⽤guestguest_enable=YES#使⽤虚拟账号形式(vsftpd 就是我们上⾯创建的⽤户的⽤户名)guest_username=vsftpd#虚拟账号配置⽬录(这个还没创建我们下⾯再进⾏创建,先这样写)user_config_dir=/etc/vsftpd/user_conf#对vsftpd的⽤户使⽤pam认证(这个就是我们上⾯改的pam验证⽂件的⽂件名,这个默认已经有了,所以不⽤添加,没有的话再添加)pam_service_name=vsftpd#允许本地⽤户登录(这个默认的也有了,没有的话添加上)local_enable=YES然后保存退出接着创建虚拟账号配置⽬录mkdir /etc/vsftpd/user_conf进⼊⽂件夹cd /etc/vsftpd/user_conf/创建⽂件vim /etc/vsftpd/user_config/yvioo其中yvioo 就是我们上⾯ftp_user.txt中配置的ftp的账号的⽤户名(这⾥创建的⽂件名要对应上,如果有多个ftp⽤户就创建多个ftp⽂件对应的⽤户名⽂件,然后在⾥⾯设置权限即可)然后添加write_enable=YESanon_world_readable_only=NOanon_upload_enable=YESanon_mkdir_write_enable=YESanon_other_write_enable=YESlocal_root=/data/www说明如下#是否允许登陆⽤户有写权限。
linux(ubuntu)下FTP的使⽤教程1.安装、配置FTP服务组件sudo apt-get updatesudo apt-get install vsftpd修改ftp的配置⽂件 /etc/vsftpd.conflocal_enable=YESwrite_enable=YES重启FTP服务sudo service vsftpd restart2.命令⾏FTP操作在shell命令⾏下输⼊: ftp 192.168.2.10 根据提⽰输⼊正确的⽤户名和密码即可常⽤操作命令(,号不是命令内容)FTP>open [ftpservername],和指定的远程Linux FTP服务器连接FTP>user [username] [password],使⽤指定远程Linux FTP服务器的⽤户登录FTP>pwd,显⽰远程Linux FTP服务器上的当前路径FTP>ls,列出远程Linux FTP服务器上当前路径下的⽬录和⽂件FTP>dir,列出远程Linux FTP服务器上当前路径下的⽬录和⽂件(同上)FTP>mkdir [foldname],在远程Linux FTP服务器上当前路径下建⽴指定⽬录FTP>rmdir [foldname],删除远程Linux FTP服务器上当前路径下的指定⽬录FTP>cd [foldname],更改远程Linux FTP服务器上的⼯作⽬录FTP>delete [filename],删除远程Linux FTP服务器上指定的⽂件FTP>rename [filename] [newfilename],重命名远程Linux FTP服务器上指定的⽂件FTP>close,从远程Linux FTP服务器断开但保留FTP命令参数提⽰FTP>disconnect,从远程Linux FTP服务器断开但保留FTP命令参数提⽰(同上)FTP>bye,结束和远程Linux FTP服务器的连接FTP>quit,结束和远程Linux FTP服务器的连接(同上)FTP>!,直接从远程Linux FTP服务器进⼊到本地shell中FTP>exit,(接上步)从本地shell环境中返回到远程Linux FTP服务器环境下FTP>!ls,列出本地机器上当前路径下的⽬录和⽂件FTP>lcd [foldname],更改本地机器的⼯作⽬录FTP>?,显⽰ftp命令说明FTP>help,显⽰ftp命令说明(同上)PS:最好将要进⾏传输的⽂件或⽂件夹的权限设置成775 或7773.安装linux下开源FTP软件FileZilla如果是在ubuntu 或其他linux桌⾯环境下,可以不⽤FTP命令,直接安装filezilla即可sudo apt-get install filezillasudo apt-get install filezilla-locales安装完成后可在shell 直接执⾏ filezilla即可,或在ubuntu左上⾓的 Dash home 找到应⽤执⾏filezilla⾮常好⽤,输⼊Host地址、Username、Password和Port 端⼝号(⼀般默认为21) 即可连接另外⼀台有FTP服务的机器成功连接后,直接拖动需要复制的⽂件或⽂件夹即可传输⽂件。
Vsftpd实验报告1.实验环境:Vm(ftp服务器):192.168.10.1物理机(客户机):192.168.10.42.实验要求:学校有Linux服务器做为FTP服务器有两个班,分别是wl28和wl29现要求,wl28班的人和wl29班的人都能够使用自己的账号wl28或wl29,密码123登录FTP 登录上后能看到自己的文件夹,在文件夹中只能上传,不能下载(且有文件类型的要求)3.实验步骤:服务器1)挂光盘。
装包mount /dev/cdrom /mntrpm -ivh vsftpd…2)更改主配置文件vim /etc/vsftpd/vsftpd.confchroot_local_user=YES//强制用户在自己的家里边guest_enable=YES //开启来宾账户guest_username=virtual//来宾映射成virtual用户pam_service_name=ftp.virtual //身份验证文件anon_world_readable_only=NO //列出文件夹中文件user_config_dir=/etc/vsftpd/vsftpd_user_conf //用户配置文件目录设置3)创建一个用来做为来宾的用户useradd -d /home/ftpsite virtual4)创建身份验证文件(基数行是用户名,偶数行是密码)vim login.txtwl28123Wl291235)把login.txt 转换为 login.db(因为db_load默认没有安装,所以要先安装包rpm -ivh db4-utils) db_load -T -t hash -f login.txt /etc/vsftpd/login.db6)创建身份验证模块,把主配置文件和用户数据库关联起来vim /etc/pam.d/ftp.virtualAuth required /lib/security/pam_userdb.so db=/etc/vsftpd/loginAccount required /lib/security/pam_userdb.so db=/etc/vsftpd/login7)创建用户配置文件所在目录mkdir /etc/vsftpd/vsftpd_user_conf8)建立用户配置文件vim /etc/vsftpd/vsftpd_user_conf/wl28local_root=/home/ftpsite/wl28 //用户ftp站点目录anon_upload_enable=YES //用户可上传文件anon_mkdir_write_enable=NO //用户无建立、删除目录的权限anon_other_write_enable=NO //用户无对文件改名删除和覆盖文件的权限deny_file={*.mp3,*.mid,*.wav,*.mp4,*.3gp,*.avi ,*.flv,*.rmvb,*.qvod,*.rm,*.rar,*.zip,*.exe,*. bat,*.vbs,*.vod}//用户无法上传括号中的文件download_enable=NO //用户无法下载文件vim /etc/vsftpd/vsftpd_user_conf/wl29local_root=/home/ftpsite/wl29 //用户ftp站点目录anon_upload_enable=YES //用户可上传文件anon_mkdir_write_enable=NO//用户无建立、删除目录的权限anon_other_write_enable=NO //用户无对文件改名删除和覆盖文件的权限deny_file={*.mp3,*.mid,*.wav,*.mp4,*.3gp,*.avi ,*.flv,*.rmvb,*.qvod,*.rm,*.rar,*.zip,*.exe,*. bat,*.vbs,*.vod}//用户无法上传括号中的文件download_enable=NO //用户无法下载文件9)创建用户目录mkdir /home/ftpsite/wl28mkdir /home/ftpsite/wl2910)在其中建立新人员cd /etc/vsftpd/vsftpd_user_conf/wl28mkdir xzlcd /etc/vsftpd/vsftpd_user_conf/wl29mkdir xzl11)改变属组、属主chown -R virtual:virtual /home/ftpsite/wl28chown -R virtual:virtual /home/ftpsite/wl29客户机用浏览器检测ftp://192.168.10.1用不同的身份登录,上传下载文件,进行验证实验总结:通过权限设置,可以不同用户在ftp上的权限,便于管理。
Linux FTP服务器配置实例
FTP服务器的功能是实现资源共享,为用户提供上传和下载的平台。
匿名用户作为Ftp服务器最大的服务群体,为了最大限度的实现资源共享,高效利用资源。
在本练习中,将设置vsftpd服务器,开放匿名用户上传和下载数据。
(1)单击系统面板上的【应用程序】菜单,执行【附件】|【终端】命令,弹出【终端】窗口,如图21所示。
(2)在【终端】窗口中,输入“vi /etc/vsftpd/vsftpd.conf”命令并按键,进入vi编辑器,如图22所示。
图21 【终端】窗口图22 vi编辑器
(3)在编辑器界面中,按i键,进入插入模式。
修改anon_upload_enable参数的值为YES,设置允许匿名用户上传数据,如图23所示。
(4)修改anon_mkdir_write_enable参数的值为YES,设置允许匿名用户创建目录,如图24所示。
图23 允许匿名用户上传数据图24 允许匿名用户创建目录(5)修改chown_uploads参数的值为YES,设置匿名用户的身份,如图25所示。
(6)修改chown_username参数的值为root,设置匿名用户上传的文件属于root 用户,如图26所示。
图25 设置匿名用户的身份 图26 设置文件属主
(7)按ESC 键,退出插入模式。
按“:”号并输入“wq ”命令,按回车键,保存配置并退出vi 编辑器,如图27所示。
(8)在【终端】窗口中,输入“chmod 766 /var/ftp ”命令并按键,设置/var/ftp 目录可写权限,如图28所示。
图27 退出vi 编辑器 图28 设置/var/ftp 目录权限。
【实验名称】Vsftp服务器的配置ftp 客户端【实验拓扑】【实验环境】一台虚机,一台真机【实验目标】Vsftp服务器的基本配置、权限控制黑名单/白名单速度及性能配置基于IP的虚拟主机配置【实验原理】端口21:用来传输命令,建立控制连接。
20:是数据端口,建立数据连接FTP的数据传输模式,分为主动传输模式、被动传输模式主动传输模式(主动FTP):当FTP的控制连接建立以后,且客户提出目录列表、传输文件时,客户端发出PORT命令与服务器进行协商,FTP服务器使用一个标准的端口20作为服务器端的数据连接端口与客户建立数据连接。
端口20只适用于连接的源地址是服务器端的情况,并且在端口20上根本就没有监听进程监听客户请求。
被动传输模式(被动FTP):当FTP的控制连接建立以后,且客户提出目录列表、传输文件时,客户端发送PASV命令使服务器处于被动传输模式,FTP服务器等待客户与其联系,FTP服务器在非20端口的其他数据传输端口上监听客户的请求。
在被动模式下,FTP的数据连接和控制连接的方向是一致的,也就是说,是客户端向服务器端发出一个用于数据传输的连接。
客户端的连接端口是发起这个数据连接请求时使用的端口号。
当FTP客户在包过滤防火墙之后对外访问FTP服务器时,需要使用被动模式。
因为通常情况下,防火墙允许所有内部向外部的连接通过,但是对于外部向内部发起的连接却存在很多限制。
在这种情况下,客户可以正常地和服务器建立控制连接,而如果使用主动模式,ls、put、get等数据传输命令就不能成功运行,因为防火墙会阻塞从外部服务器向内部客户发起的数据传输连接。
而使用被动传输模式一般可以解决此类问题,因为在被动模式下,数据连接是由客户机发起的。
FTP使用者分为三类:●本地用户:如果用户在远程FTP服务器上拥有帐号,用户为本地用户。
本地用户可以通过输入自己的帐号和口令来进行授权登录。
当授权访问的本地用户登录系统后,其登录目录为此用户的自家目录(/home中),本地用户即可下载又可上传●虚拟用户:如果用户在远程FTP服务器上拥有帐号,且此帐号只能用于文件传输服务,和本地用户不一样,它没有自家目录。
虚拟用户可以通过输入自己的帐号和口令来进行授权登录。
当授权访问的虚拟用户登录系统后,其登录目录为其指定目录,通常情况下虚拟用户即可下载又可上传。
●匿名用户:如果用户在远程FTP服务器上没有帐号,则称此用户为匿名用户。
若FTP服务器提供匿名访问的功能,则匿名用户可以通过输入帐号(anonymouse或ftp)来进行登录。
当匿名用户登录以后,其登录目录为匿名FTP服务器的根目录(/var/ftp),一般情况下匿名用户FTP服务器只提供下载功能,不提供上传功能或是上传受到一定的限制。
一旦控制连接断开,数据连接也会断开。
性能和安全选项idle_session_timeout=600 //将在用户会话空闲10分钟后被中断data_connection_timeout=120 //将在数据连接空闲2分钟后被中断accept_timeout=60 //客户端空闲1分钟后自动中断连接connect_timeout=60 //并在中断1分钟后自动激活连接max_clients=200 //最大用户数max_per_ip=3 //每个客户机的最大连接数为3max_clients和max_per_ip,只在独立启动时才起作用。
使用xinetd启动时将使用另外的配置方法。
local_max_rate=50000 //本地用户的最大传输速率为50字节/sanon_max_rate=30000 //匿名用户的最大传输速率为30字节/slisten_address=192.168.1.1 //设置在那个IP上地址进行监听listen_port=2121 //设置监听端口pasv_min_port=50000pasv_max_port=60000 //设置客户机连接时服务器响应的端口范围如果希望用户登录以后不能切换到自家以外的目录,则需设置chroot选项,涉及如下选项chroot_local_userchroot_list_enablechroot_list_file有两种设置chroot的方法◆设置所有的本地执行chroot,只要将chroot_local_user=YES◆设定指定的用户执行chroot,需要如下的设置chroot_local_user=NOchroot_list_enable=YESchroot_list_file=/etc/vsftpd.chroot_list //这个文件是自己创建的用户接口(UI)提供了一个用户接口并使用客户端协议解释器的服务客户端协议解释器(CPI)向远程服务器协议机发送命令并驱动客户数据传输过程服务器端协议解释器(SPI)响应客户协议机发出的命令并驱动服务器端数据传输过程客户端数据传输协议(CDPI)负责完成和服务器数据传输过程及客户端本地文件系统的通信服务器端数据传输协议(SDPI)负责完成和客户端数据传输过程及服务器端本地文件系统的通信Vsftpd服务的主配置文件/etc/vsftpd/vsftpd.conf黑名单/etc/vsftpd/ftpusers白名单/etc/vsftpd/user_listVsftp服务的默认主目录为/var/ftpVsftp匿名登录有两个帐号用户名:anonymous 密码:为空用户名:ftp 密码:ftp【实验步骤】一、查询vsftpd软件包是否安装[root@localhost ~]# rpm -qa | grep vsftpdvsftpd-2.0.1-5.EL4.3 //已安装如未安装可用命令rpm –ivh vsftpd-2.0.1-5.EL4.3.i386.rpm (第一张光盘)升级软件包rpm –Uvh vsftpd-2.0.1-5.EL4.3.i386.rpm卸载软件包rpm –ef vsftp-2.0.1二、查看vsftpd的主配置文件/etc/vsftpd/vsftpd.conf的默认配置anonymous_enable=YES //允许匿名登录local_enable=YES //允许本地用户登录write_enable=YES //是否允许上传local_umask=022 //设置本地文件生成的掩码为022,其实际权限为777-022=755 dirmessage_enable=YES //是否启用目录消息xferlog_enable=YES //是否启用FTP日志文件connect_from_port_20=YES //启用FTP数据端口的连接请求xferlog_std_format=YES //使用标准的日志文件格式pam_service_name=vsftpd //设置服务器名称userlist_enable=YES //是否启用用户名单(黑名单/白名单)控制功能listen=YES //使vsftpd处于独立启动模式,而不是由xinetd超级进程来管理tcp_wrappers=YES //允许使用TCP访问控制功能三、Vsftp服务器的基本配置、权限控制1.测试Vsftp服务器的默认配置----匿名登录在默认配置下,匿名服务器的默认下载目录为/var/ftp/pub在/var/ftp/pub新建三个文件a b c[root@localhost ~]# cd /var/ftp/pub[root@localhost pub]# touch a b c[root@localhost pub]# lsa b c启动vsftp服务[root@localhost ~]# service vsftpd start①从Win2K3客户端下载测试C:\>ftp 192.168.13.19Connected to 192.168.13.19.220 (vsFTPd 2.0.1)User (192.168.13.19:(none)): anonymous //帐号为anonymous,也可以用匿名帐号ftp 来登录331 Please specify the password.Password: //密码为空230 Login successful. //登录成功ftp> cd pub //进入默认下载目录250 Directory successfully changed.ftp> dir //列表显示服务器下载目录中的文件200 PORT command successful. Consider using PASV.150 Here comes the directory listing.-rw-r--r-- 1 0 0 0 Dec 25 07:11 a-rw-r--r-- 1 0 0 0 Dec 25 07:11 b-rw-r--r-- 1 0 0 0 Dec 25 07:11 c.ftp> get a //从服务器下载文件a200 PORT command successful. Consider using PASV. //采用的被动FTP 150 Opening BINARY mode data connection for a (0 bytes).226 File send OK. //下载成功,下载到Win2K3的C盘根目录下②.在Win2K3的C盘根目录下新建一个文件b.txt,看能否上传ftp> put b.txt //上传b.txt文件200 PORT command successful. Consider using PASV.550 Permission denied. //上传被拒绝③.修改主配置文件/etc/vsftpd/vsftpd.conf,使匿名用户也可以上传anon_upload_enable=YES //在第27行把前面#号去掉。
可以让匿名用户上传,但是还是不能上传到pub目录。
在/var/ftp下新建一个目录bbb,在bbb目录里面新建三个文件1 2 3,并赋予bbb目录的权限为777[root@localhost ftp]# mkdir bbb[root@localhost ftp]# cd bbb[root@localhost bbb]# ls[root@localhost bbb]# touch 1 2 3[root@localhost bbb]# ls1 2 3[root@localhost ftp]# chmod 777 bbb[root@localhost ftp]# service vsftpd restart //重新启动vsftpd服务④.再在Win2K3做上传测试ftp> put b.txt //上传b.txt200 PORT command successful. Consider using PASV.150 Ok to send data.226 File receive OK. //上传完毕2. 测试Vsftp服务器的默认配置----本地帐号登录①在Vsftp服务器上增加一个leilei帐号,密码为:123456[root@localhost ~]# useradd leilei //增加帐号leilei[root@localhost ~]# passwd leilei //设置密码Changing password for user leilei.New UNIX password:BAD PASSWORD: it is too simplistic/systematicRetype new UNIX password:passwd: all authentication tokens updated successfully.[root@localhost bbb]# cd /home[root@localhost home]# cd leilei[root@localhost leilei]# ls[root@localhost leilei]# touch 4 //新建一个文件4[root@localhost leilei]# ls4[root@localhost ~]# service vsftpd restart //重新启动服务②在Win2K3客户机进行上传下载测试,在C盘新建一个文件c.txtC:\>ftp 192.168.13.19Connected to 192.168.13.19.220 (vsFTPd 2.0.1)User (192.168.13.19:(none)): leilei //用帐号leilei登录331 Please specify the password.Password:230 Login successful.ftp> dir200 PORT command successful. Consider using PASV.150 Here comes the directory listing.-rw-r--r-- 1 0 0 0 Dec 25 08:11 4226 Directory send OK.ftp: 59 bytes received in 0.00Seconds 59000.00Kbytes/sec. ftp> get 4 //下载4文件200 PORT command successful. Consider using PASV.150 Opening BINARY mode data connection for 4 (0 bytes). 226 File send OK. //下载成功ftp> put c.txt //上传c.txt文件200 PORT command successful. Consider using PASV.150 Ok to send data.226 File receive OK. //上传完毕[root@localhost leilei]# ls4 c.txt四、黑名单和白名单1.查看默认的黑名单rootbindaemonadmlpsyncshutdownhaltmailnewsuucpoperatorgamesnobody2.查看默认的白名单,# If userlist_deny=NO, only allow users in this file# If userlist_deny=YES (default), 白名单默认也拒绝这里面所有的用户never allow users in this file, and# do not even prompt for a password.# Note that the default vsftpd pam config also checks /etc/vsftpd.ftpusers # for users that are denied.rootbindaemonadmlpsyncshutdownhaltmailnewsuucpoperatorgamesnobody3.默认情况下,用黑名单和白名单的用户去登录时,是都不能登录的。