第12章vsFTP服务及其配置课件.ppt

上传人:小飞机 文档编号:2108382 上传时间:2023-01-11 格式:PPT 页数:41 大小:155.11KB
返回 下载 相关 举报
第12章vsFTP服务及其配置课件.ppt_第1页
第1页 / 共41页
第12章vsFTP服务及其配置课件.ppt_第2页
第2页 / 共41页
第12章vsFTP服务及其配置课件.ppt_第3页
第3页 / 共41页
第12章vsFTP服务及其配置课件.ppt_第4页
第4页 / 共41页
第12章vsFTP服务及其配置课件.ppt_第5页
第5页 / 共41页
点击查看更多>>
资源描述

《第12章vsFTP服务及其配置课件.ppt》由会员分享,可在线阅读,更多相关《第12章vsFTP服务及其配置课件.ppt(41页珍藏版)》请在三一办公上搜索。

1、XX大学XX系 XXXSaturday,September 24,2022,第12章 vsFTP服务及其配置,XX大学XX系 XXX第12章 vsFTP服务及其配置,本章提要,vsFTP服务器的安装和启动FTP客户端命令简介用户管理文件vsftpd.users和vsftpd.user_list的内容主要配置文件sftpd.conf解析FTP(File Transfer Protocol,文件传输协议)服务器提供Internet文件传输服务。Linux中常用的有WU-FTP、ProFTP、PureFTP及vsFTP等。在Fedora 8下自带的是vsFTP,它是一个小巧、高效、安全的FTP服务器

2、软件.本章将介绍vsFTP服务器的安装、配置及使用等。,本章提要vsFTP服务器的安装和启动,vsFTP简介,vsFTP是一种基于GPL的在UNIX/Linux中非常安全且快速的FTP服务器,其中vs是“Very Secure”的缩写,具有安全、高速和稳定的性能。在速度方面,使用ASCII模式下载数据时,速度是WU-FTP的两倍,如果Linux使用的是2.4.x版本的内核,在千兆以太网上的下载速度可达86Mbps。在稳定性方面,在单机服务器上支持4000个以上的并发连接,最高可支持15000个并发连接。除此之外,vsFTP还具有如下特性:支持基于IP的虚拟FTP服务器;支持虚拟用户;支持PAM

3、或xinetd/tcp_wrappers的认证方式;支持两种运行方式:standalone和xinetd方式;支持每个虚拟用户的独立配置;支持带宽限制。,vsFTP简介vsFTP是一种基于GPL的在UNIX/Lin,vsFTP的运行模式,一种是独立(standalone)运行模式,另外一种是xinetd(eXtended Internet Services Daemon,即:扩展的Internet服务守护进程)模式。两种模式运行机制是不同的,独立运行模式适合专业的FTP服务器,且FTP总是一直有人访问,占用资源比较大,如果FTP服务器总是有人访问和登入建议采用这种模式。如果FTP服务器访问人数

4、比较少,建议您用xinetd模式。xinetd模式的运行方式一直监听端口,当客户端(Client)有FTP连接请求时,首先会将连接传至xinetd,xinetd再将此要求传至vsftpd,启动相应的vsftp服务进程(即:vsftpd)。以下的内容主要是介绍独立模式下的vsftpd启动和配置方式。,vsFTP的运行模式一种是独立(standalone)运行模,vsFTP服务器的安装,在Fedora 8中带的vsFTP服务器版本为vsftpd-2.0.5-19.fc8,在安装之前可用如下命令检查是否已安装vsftpd:rootCandy root#rpm qa vsftpd vsftpd-2.0

5、.5-19.fc8若是在安装Linux时没有选择安装vsFTP服务器,可以从Fedora 8安装光盘DVD中的Packages目录下找出名为vsftpdd-2.0.5-19.fc8.i386.rpm的文件,然后输入以下指令,系统即将自动完成vsFTP服务器的安装:rootCandy root#rpm ivh vsftpd-2.0.5-19.fc8.i386.rpm,vsFTP服务器的安装在Fedora 8中带的vsFTP服务,vsFTP服务器的启动,安装完成后,系统将会生成一个名为vsftpd的服务。要启动vsftpd,最简单的方式如下:rootCandy root#/etc/rc.d/ini

6、t.d/vsftpd start starting vsftpd for vsftpd:ok 也可以使用命令:rootCandy root#service vsftpd start 来启动vsftpd。,vsFTP服务器的启动安装完成后,系统将会生成一个名为vsf,自动启动vsFTP服务器,如果想在图形界面下启动vsFTP服务器,可以选择“系统”|“管理”|“服务”选项,在打开“服务配置”画面后,选中“vsftpd”项目,然后单击工具栏中的“开始”按钮即可启动vsftpd服务器,如图12-1所示。,图12-1“服务状态设置”设置画面,自动启动vsFTP服务器如果想在图形界面下启动vsFTP服务

7、,测试vsftpd是否已经启动,可用telnet检验vsftpd是否已经启动:rootCandy root#telnet 127.0.0.1 21 Trying 127.0.0.1.Connected to 127.0.0.1.Escape character is.220(vsFTPd 2.0.5)从上面的内容可以看出能telnet到本机的vsftp服务器的21号端口,确认vsftpd已经被启动,按“Ctrl+”中断会话 再按“q”退出telnet telnet q Connection closed.rootCandy root#,测试vsftpd是否已经启动可用telnet检验vsftp

8、d,测试ftp的运行,默认情况下,安装好vsftp服务器后就可以使用匿名用户anonymous(或ftp)下载文件了。例如,使用匿名用户下载文件。操作步骤如下:1)生成一个用于测试的文件welcome.txt。默认情况下,匿名用户下载目录/var/ftp/pub下没有任何内容,为了进行测试,可以先生成一个测试文件welcome.txt。rootCandy root#echo“Welcome to my vsFTP Server”/var/ftp/pub/welcome.txt,测试ftp的运行 默认情况下,安装好vsftp服务器后就可以,测试ftp的运行(续),2)使用匿名用户(ftp或ano

9、nymous)登录ftp:rootCandy root#ftp 127.0.0.1Connected to 127.0.0.1(127.0.0.1).220(vsFTPd 2.0.5)Name(127.0.0.1:root):anonymous 331 Please specify the password.Password:/输入Email地址或任意字符串作为anonymous匿名账号的口令230 Login successful.Remote system type is UNIX.Using binary mode to transfer files.,测试ftp的运行(续)2)使用匿名

10、用户(ftp或anony,测试ftp的运行(续),3)列表显示匿名FTP服务器目录并进入pub目录。ftp ls 227 Entering Passive Mode(127,0,0,1,126,111)150 Here comes the directory listing.drwxr-xr-x 2 0 0 4096 Oct 03 19:09 pub 226 Directory send OK.ftp cd pub 250 Directory successfully changed.,测试ftp的运行(续)3)列表显示匿名FTP服务器目录并进,测试ftp的运行(续),4)显示/var/ftp

11、/pub目录下的内容并下载welcome.txt文件。ftp ls 227 Entering Passive Mode(127,0,0,1,44,205)150 Here comes the directory listing.-r-xr-xr-x 1 0 1 31 Oct 03 19:09 welcome.txt226 Directory send OK.ftp get welcome.txt227 Entering Passive Mode(127,0,0,1,99,247)150 Opening BINARY mode data connection for welcome.txt(31

12、bytes).226 File send OK.31 bytes received in 0.000188 secs(1.6e+02 Kbytes/sec)ftp!ls anaconda-ks.cfg install.log install.log.syslog welcome.txt通过显示本地文件命令“!ls”确认已经将文件welcome.txt下载到本地。,测试ftp的运行(续)4)显示/var/ftp/pub目录,测试ftp的运行(续),5)测试是否能上传文件到/var/ftp/pub目录。ftp put install.log local:install.log remote:ins

13、tall.log 227 Entering Passive Mode(127,0,0,1,233,16)550 Permission Denied.从上面信息可以看出上传文件失败6)退出FTP ftp bye 221 Goodbye.,测试ftp的运行(续)5)测试是否能上传文件到/var/f,FTP客户端命令简介,要登录到vsFTP服务器,在Windows系统中可以使用图形化的FTP客户端软件,如CuteFTP和LeapFTP等,也可以直接在命令行状态下使用FTP命令。,FTP客户端命令简介要登录到vsFTP服务器,在Window,FTP命令的格式,FTP(机器名、网址或IP地址)若连接成功

14、,系统提示输入用户名(Name)及密码(Password)。进入FTP站点后,用户就可以使用相应的命令进行各种操作了。,FTP命令的格式FTP(机器名、网址或IP地址),常用的FTP命令,Help或?Ascii、binary、typebye、quitCd、lcd、pwd、!Dele、renameGet、mget、put、mput、recv、sendLs、dir、mkdir、rmdirOpen、close、disconnect、userverbose、status、bell,常用的FTP命令Help或?,vsFTP服务器的配置,安装好vsFTPD后,会在/etc/vsftpd目录下生成ftpus

15、ers和user_list文件,同时会生成vsftpd.conf文件。,vsFTP服务器的配置安装好vsFTPD后,会在/etc/v,用户管理文件ftpusers,/etc/vsftpd/ftpusers是vsFTP服务器中用来管理帐号的配置文件。但需要注意的是:本文件中列出的用户名是指不允许登录vsFTP服务器的用户,默认的文件内容如下:rootCandy etc#cat ftpusers#Users that are not allowed to login via ftpRootBinDaemonGamesNobody从上面例子可以看出,默认情况下,root帐号是不允许登录vsFTP服务

16、器的。如希望让root登录,只需修改此文件,在“root”前加“#”注释掉即可。但从安全角度考虑,建议用户不要使用root登录FTP。对于此文件中的其它帐号,均为系统帐号,建议不要做任何修改。,用户管理文件ftpusers/etc/vsftpd/ftpu,/etc/vsftpd/user_list文件,rootCandy etc#cat/etc/vsftpd/user_list#vsftpd.user_list#If userlist_deny=NO,only allow users in this file#IF userlist_deny=YES(default),never allow

17、users in this file,and#do not even prompt for a password.RootBinGamesNobody此文件中指定的用户默认情况(即在/etc/vsftpd/vsftpd.conf中设定了userlist_deny=YES)下也不能访问FTP服务器,而如果在vsftpd.conf中设定了userlist_deny=NO,则仅仅允许此文件中指定的用户访问FTP服务器。此方面的例子将在后面介绍。,/etc/vsftpd/user_list文件rootC,主要配置文件vsftpd.conf,/etc/vsftpd/vsftpd.conf是vsftp服务

18、器的主要配置文件,建议读者认真理解里面的内容,以使vsFTP服务器发挥最大的效能。此文件的设置格式如下:参数设置值 若是以“#”开头的行表示注释文字,会被服务器所忽略。下面将分类解释各参数的含义:,主要配置文件vsftpd.conf/etc/vsftpd/v,vsftpd.conf匿名用户选项,anonymous_enable=YES|NO ftp_username=no_anon_password=YES|NO deny_email_enable=YES|NO banned_email_file=/etc/vsftpd.banned_emails anon_root=anon_world_r

19、eadable_only=YES|NO anon_upload_enable=YES|NO anon_mkdir_write_enable=YES|NO anon_other_write_enable=YES|NO chown_uploads=YES|NO chown_username=local_enable=YES|NO local_root=user_config_dir=,vsftpd.conf匿名用户选项 anonymous_en,vsftpd.conf虚拟用户用户选项,guest_enable=YES|NO 若是启动这项功能,所有的不以匿名登录的用户,都视为“guest”类型,而此

20、类用户的实际权限就是“guest_username”选项中所指定的帐号。默认不启用此选项。guest_username=定义vsFTPD的guest用户登录时在系统中的帐号名称,默认值为ftp。,vsftpd.conf虚拟用户用户选项guest_enabl,vsftpd.conf连接选项,(1)监听地址与控制端口 listen_address=ip address listen_port=port_value(2)FTP模式与数据端口 port_enable=YES|NO Connect_from_port_20=YES|NO ftp_data_port=port number port_pr

21、omiscuous=YES|NO pasv_enable=YES|NO pasv_min_port=port number pasv_max_port=port number pasv_promiscuous=YES|NO pasv_address=(3)ASCII模式 ascii_upload_enable=YES|NO ascii_download_enable=YES|NO,vsftpd.conf连接选项(1)监听地址与控制端口,vsftpd.conf性能与负载控制选项,超时选项 idle_session_timeout=data_connection_timeout=accept_ti

22、meout=numerical value connect_timeout=numerical value 负载控制 max_clients=numerical value max_per_ip=numerical value anon_max_rate=value local_max_rate=value,vsftpd.conf性能与负载控制选项超时选项,设置速率举例,设定系统本地用户允许的最大数据传输速率,以Bytes/s为单位。默认为0。此选项对所有的用户都生效。此外,也可以在用户个人配置文件中使用此选项,以指定特定用户可获得的最大数据传输速率。例如,为特定用户设置传输速率。操作步骤如下

23、:在/etc/vsftpd/vsftpd.conf中指定用户个人配置文件所在的目录,如:user_config_dir=/etc/vsftpd/userconf 生成/etc/vsftpd/userconf目录。rootCandy rootmkdir/etc/vsftpd/userconf用户个人配置文件是在该目录下,生成与特定用户同名的文件,如:rootCandy roottouch/etc/vsftpd/userconf/user1 在用户user1的个人配置文件中设置local_max_rate参数,如:local_max_rate=80000(即为80KB/s)以上步骤设定FTP用户u

24、ser1的最大数据传输速度为80KBytes/s。vsFTPD 对于速度控制的变化范围大概在80%到120%之间。比如我们限制最高速度为100KBytes/s,但实际的速度可能在80KBytes/s 到120KBytes/s 之间。当然,若是线路带宽不足时,速率自然会低于此限制。,设置速率举例设定系统本地用户允许的最大数据传输速率,以Byt,vsftpd.conf安全措施选项,(1)用户登录控制 pam_service_name=vsftpd 指出vsFTPD进行PAM认证时所使用的PAM配置文件名,默认值是vsftpd,默认PAM配置文件是/etc/pam.d/vsftpd。/etc/vsf

25、tpd.ftpusers vsFTPD禁止列在此文件中的用户登录FTP服务器。这个机制是在/etc/pam.d/vsftpd中默认设置的。userlist_enable=YES|NO 若是启用此功能,vsFTPD将读取/etc/userlist_file参数所指定的文件中的用户列表。当列表中的用户登录FTP服务器时,该用户在提示输入密码之前就被禁止了。即该用户名输入后,vsFTPD查到该用户名在列表,vsFTPD就直接禁止该用户登录,不会再进行询问密码等后续步聚,这可避免明文(Clear Text)在网络上传输。默认值为NO。,vsftpd.conf安全措施选项(1)用户登录控制,vsftpd

26、.conf安全措施选项(续),userlist_file=/etc/vsftpd.user_list 指出userlist_enable选项生效后,被读取的包含用户列表的文件。默认值是/etc/vsftpd.user_list。userlist_deny=YES|NO 此选项在userlist_enable 选项启动后才生效。决定禁止还是只允许由/etc/userlist_file指定文件中的用户登录FTP服务器。YES,默认值,禁止文件中的用户登录,同时也不向这些用户发出输入口令的提示。若设为停用(即为NO),则只允许在文件中的用户登录FTP服务器。tcp_wrappers=YES|NO 若

27、值为YES,将在vsFTPD中使用TCP_wrappers远程访问控制机制,因此可利用/etc/hosts.allow与/etc/hosts.deny文件来定义可联机或是拒绝的来源地址。但默认不启用此选项。,vsftpd.conf安全措施选项(续)userlist_f,vsftpd.conf安全措施选项(续),(2)目录访问控制 chroot_list_enable=YES|NO chroot_list_file=/etc/vsftpd/chroot_list chroot_local_users=YES|NO passwd_chroot_enable,vsftpd.conf安全措施选项(续)

28、(2)目录访问控制,vsftpd.conf安全措施选项(续),(3)文件操作控制 hide_ids=YES|NO ls_recurse_enable=YES|NO write_enable=YES|NO secure_chroot_dir=,vsftpd.conf安全措施选项(续)(3)文件操作控制,vsftpd.conf安全措施选项(续),(4)新增文件权限设定 anon_umask=匿名用户新增文件的umask 数值。默认值为077。这表示匿名用户新增的文件权限最大为700(777077700)。file_open_mode=表示上传文件的权限,与chmod命令所使用的数值相同。如果希望上

29、传的文件可以执行,设此值为0777。默认值为0666。local_umask=本地用户新增文件的umask 数值。默认值为077(其他大多数的FTP服务器都是使用022。您也可以修改为022)。,vsftpd.conf安全措施选项(续)(4)新增文件权限,vsftpd.conf提示信息选项,ftpd_banner=login banner string banner_file=/directory/vsftpd_banner_file dirmessage_enable=YES|MO message_file=,vsftpd.conf提示信息选项ftpd_banner=l,vsftpd.con

30、f日志设置选项,xferlog_enable=YES|NO xferlog_file=xferlog_std_format=YES|NO log_ftp_protocol=YES|NO,vsftpd.conf日志设置选项xferlog_enabl,vsftpd.conf其他设置,setproctitle_enable=YES|NO text_userdb_names=YES|NOuser_localtime=YES|NO check_shell=YES|NO nopriv_user=pam_service_name=,vsftpd.conf其他设置 setproctitle_e,vsFTP服务

31、器的使用举例1,【例】配置匿名用户,使之可以上传/下载文件。操作步骤如下:(1)在/var/ftp/创建一个上传目录,并修改权限。rootCandy rootcd/var/ftp/首先进入/var/ftp目录。rootCandy ftp#mkdir/var/ftp/incoming/创建incoming目录。rootCandy ftp#chmod 777/var/ftp/incoming/更改incoming目录的权限为777。,vsFTP服务器的使用举例1【例】配置匿名用户,使之可以上传,vsFTP服务器的使用举例1(续),(2)编辑/etc/vsftpd/vsftpd.conf文件 roo

32、tCandy rootvi/etc/vsftpd/vsftpd.conf 确保 anonymous_enabled=YES有效。找到“#anon_upload_enable=YES”行,去掉前面的注释符号“#”,并在下面添加如下行:chown_uploads=YESanon_umask=077anon_mkdir_write_enable=YESanon_world_readable_only=NO(3)存盘退出。通过前面的配置后,匿名用户ftp(或anonymous)既可下载文件,又可上传文件到incoming目录,也能在incoming目录下创建新的目录。,vsFTP服务器的使用举例1(续

33、)(2)编辑/etc/vsf,vsFTP服务器的使用举例2,【例】配置vsFTPD,使本地用户user1具有上传/下载、user2只具有下载功能,其中user1和user2同属于students组。操作步骤如下:(1)创建用户组 students和FTP的主目录rootCandy rootgroupadd studentsrootCandy rootmkdir/var/ftprootrootCandy rootuseradd-G students d/var/ftproot M user1注:-G:用户所在的组;-d:表示创建用户主目录的位置;-M:不建立默认的用户主目录,也即在/home下不

34、创建用户主目录。rootCandy rootuseradd G students d/var/ftproot M user2,vsFTP服务器的使用举例2【例】配置vsFTPD,使本地用,vsFTP服务器的使用举例2(续),(2)改变目录的属主和权限rootCandy rootchown user1.students/var/ftproot/把/var/students的属主定为user1。rootCandy rootchmod 750/var/students 即自己具有所有权限,同组成员只具有读和执行权限,而其他人不具有任何权限。(3)修改配置文件/etc/vsftpd/vsftpd.co

35、nf 设置local_enable=yes,write_enable=yes和chroot_local_usr=yes三个选项即可。,vsFTP服务器的使用举例2(续)(2)改变目录的属主和权限,vsFTP服务器的使用举例3,【例】配置vsftpd通过pam认证方式,添加虚拟用户。操作步骤如下:(1)在/etc/pam.d/目录中创建一个文件ftp rootCandy root#touch/etc/pam.d/ftp(2)在/etc/pam.d/ftp里面加上如下两行:auth required/lib/security/pam_userdb.so db=/etc/vsftpd_loginac

36、count required/lib/security/pam_userdb.so db=/etc/vsftpd_login(3)创建用户密码文件logins.txt,例如,此包含user1和user2,密码均为“karma”。rootCandy root#touch logins.txtUser1KarmaUser2Karma(4)在系统中创建一个真实的用户,如:user3,rootCandy root#useradd user3,vsFTP服务器的使用举例3【例】配置vsftpd通过pam,vsFTP服务器的使用举例3(续),(5)把/etc/hosts复制到user3的用户主目录/hom

37、e/user3,并改变它的属主rootCandy root#cp/etc/hosts/home/user3/hostsrootCandy root#chown user3.students/home/user3/hosts(6)通过db_load创建虚拟用户的库文件。rootCandy root#db_load-T-t hash-f logins.txt/etc/vsftpd_login.db(7)更改vsftpd.conf文件,加入如下的几行pam_service_name=ftpguest_enable=YESguest_username=user3/user3即为上面创建的系统本地用户。

38、anon_world_readable_only=NO(8)重启vsftpd服务器,然后就可以以虚拟用户user1和user2登录系统了。rootCandy root#service vsftpd restart,vsFTP服务器的使用举例3(续)(5)把/etc/host,vsFTPD常见问题,如何更改启动方式如何使用非常规的端口(如:2121)如何把用户限制在自己的用户主目录中 如何打开vsftp服务器的日志功能,vsFTPD常见问题如何更改启动方式,实训12 vsFTP的安装配置和使用,安装vsFTP服务器(若连接了Internet,可使用yum install vsftpd命令安装)。配置匿名用户使用读的权限访问/var/ftp目录。建立一个名为alice的FTP账户,设置该账户的磁盘配额为1G,下载带宽限制为100KB/s,alice对/var/ftp目录具有读写的权限。分别使用文本界面和图形界面的FTP客户端(如CuteFTP Pro)测试连接情况。,实训12 vsFTP的安装配置和使用安装vsFTP服务器(,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号