sftp配置全过程.doc

上传人:音乐台 文档编号:1967080 上传时间:2019-01-27 格式:DOC 页数:47 大小:222.50KB
返回 下载 相关 举报
sftp配置全过程.doc_第1页
第1页 / 共47页
sftp配置全过程.doc_第2页
第2页 / 共47页
sftp配置全过程.doc_第3页
第3页 / 共47页
亲,该文档总共47页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《sftp配置全过程.doc》由会员分享,可在线阅读,更多相关《sftp配置全过程.doc(47页珍藏版)》请在三一文库上搜索。

1、1 Vsftp3.2VSFTP安全与效能兼备的ftp服务器 3.2.1VSFTP概述 FTP,filetransferprotocol,这是档案传输的通讯协议,也是一般最常用来传送档案的方式。读者在使用RedHat9的时候,可能会感受到ftpserver有一些改变:第一,就是ftpserver只剩下vsftp,原有的wuftp等都没放入第二,就是vsftp从XINETD中独立出来,并将设定档从/etc/vsftpd.conf之中移到/etc/vsftpd/vsftpd.conf。 为什么做这样的改变?可以想见的是vsftp已有独立运作的能力,不需要XINETD来做更进一步的管控,并且类似sen

2、dmail、httpd、ssh、samba等,将设定文件的放入/etc下独立的目录。 FTP分为两类,一种为PORTFTP,也就是一般的FTP另一类是PASVFTP,分述如下: PORTFTP 这是一般形式的FTP,首先会建立控制频道,默认值是port21,也就是跟port21建立联机,并透过此联机下达指令。第二,由FTPserver端会建立数据传输频道,默认值为20,也就是跟port20建立联机,并透过port20作数据的传输。 PASVFTP 跟PORTFTP类似,首先会建立控制频道,默认值是port21,也就是跟port21建立联机,并透过此联机下达指令。第二,会由client端做出数据

3、传输的请求,包括数据传输port的数字。 这两者的差异为何?PORTFTP当中的数据传输port是由FTPserver指定,而PASVFTP的数据传输port是由FTPclient决定。通常我们使用PASVFTP,是在有防火墙的环境之下,透过client与server的沟通,决定数据传输的port。 3.2.2范例 3.2.1.直接启动VSFTP服务 这个范例是套用RedHat的预设范例,直接启动vsftp。 rootrelayvsftpd#/sbin/servicevsftpdstart Startingvsftpdforvsftpd:OK 3.2.2.更换port提供服务:将预设的port

4、21更换为2121 为了安全,或是以port来区隔不同的ftp服务,我们可能会将ftpport改为21之外的port,那么,可参考以下步骤。 Step1.修改/etc/vsftpd/vsftpd.conf 新增底下一行 listen_port=2121 Step2.重新启动vsftpd roothomevsftpd#/sbin/servicevsftpdrestart Shuttingdownvsftpd:OK Startingvsftpdforvsftpd:OK 3.2.3.特定使用者peter、john不得变更目录 使用者的预设目录为/home/username,若是我们不希望使用者在ft

5、p时能够 切换到上一层目录/home,则可参考以下步骤。 Step1.修改/etc/vsftpd/vsftpd.conf 将底下三行 #chroot_list_enable=YES #(defaultfollows) #chroot_list_file=/etc/vsftpd.chroot_list 改为 chroot_list_enable=YES #(defaultfollows) chroot_list_file=/etc/vsftpd/chroot_list Step2.新增一个档案:/etc/vsftpd/chroot_list 内容增加两行: peter john Step3.重新

6、启动vsftpd roothomevsftpd#/sbin/servicevsftpdrestart Shuttingdownvsftpd:OK Startingvsftpdforvsftpd:OK 若是peter欲切换到根目录以外的目录,则会出现以下警告: ftpcd/home 550Failedtochangedirectory. 3.2.4.取消anonymous登入 若是读者的主机不希望使用者匿名登入,则可参考以下步骤。 Step1.修改/etc/vsftpd/vsftpd.conf 将 anonymous_enable=YES 改为 anonymous_enable=NO Step2

7、.重新启动vsftpd roothomevsftpd#/sbin/servicevsftpdrestart Shuttingdownvsftpd:OK Startingvsftpdforvsftpd:OK 3.2.5.安排欢迎话语 若是我们希望使用者在登入时,能够看到欢迎话语,可能包括对该主机的说明,或是目录的介绍,可参考以下步骤。 首先确定在/etc/vsftpd/vsftpd.conf当中是否有底下这一行 dirmessage_enable=YES2楼RedHat9的默认值是有上面这行的。 接着,在各目录之中,新增名为.message的档案,再这边假设有一个使用者test1,且此使用者的根

8、目录下有个目录名为abc,那首先我们在/home/test1 之下新增.message,内容如下: HelloWelcometothehomedirectory Thisisfortestonly. 接着,在/home/test1/abc的目录下新增.message,内容如下: Welcometoabcsdirectory Thisissubdir. 那么,当使用者test1登入时,会看到以下讯息: 230-HelloWelcometothehomedirectory 230- 230-Thisisfortestonly. 230- 若是切换到abc的目录,则会出现以下讯息: 250-Welc

9、ometoabcsdirectory 250- 250-Thisissubdir. 3.2.6.对于每一个联机,以独立的process来运作 一般启动vsftp时,我们只会看到一个名为vsftpd的process在运作,但若是读者希望每一个联机,都能以独立的process来呈现,则可执行以下步骤。 Step1.修改/etc/vsftpd/vsftpd.conf 新增底下一行 setproctitle_enable=YES Step2.重新启动vsftpd roothomevsftpd#/sbin/servicevsftpdrestart Shuttingdownvsftpd:OK Starti

10、ngvsftpdforvsftpd:OK 使用ps-ef的指令,可以看告不同使用者联机的情形,如下图所示: roothomevsftpd#ps-ef|grepftp root20901016:41pts/000:00:00vsftpd:LISTENER nobody21202090017:18?00:00:00vsftpd:192.168.10.244: connected test121222120017:18?00:00:00vsftpd:192.168.10.244/test1: IDLE nobody21242090017:19?00:00:00vsftpd:192.168.10.24

11、4: connected test221262124017:19?00:00:00vsftpd:192.168.10.244/test2: IDLE root21291343017:20pts/000:00:00grepftp roothomevsftpd# 3.2.7.限制传输档案的速度: 本机的使用者最高速度为200KBytes/s,匿名登入者所能使用的最高速度为50KBytes/s Step1.修改/etc/vsftpd/vsftpd.conf 新增底下两行 anon_max_rate=50000 local_max_rate=200000 Step2.重新启动vsftpd rootho

12、mevsftpd#/sbin/servicevsftpdrestart Shuttingdownvsftpd:OK Startingvsftpdforvsftpd:OK 在这边速度的单位为Bytes/s,其中anon_max_rate所限制的是匿名登入的 使用者,而local_max_rate所限制的是本机的使用者。VSFTPD对于速度的限 制,范围大概在80%到120%之间,也就是我们限制最高速度为100KBytes/s, 但实际的速度可能在80KBytes/s到120KBytes/s之间,当然,若是频宽不足 时,数值会低于此限制。 3.2.8.针对不同的使用者限制不同的速度: 假设test

13、1所能使用的最高速度为250KBytes/s,test2所能使用的最高速度为500KBytes/s。 Step1.修改/etc/vsftpd/vsftpd.conf 新增底下一行 user_config_dir=/etc/vsftpd/userconf Step2.新增一个目录:/etc/vsftpd/userconf mkdir/etc/vsftpd/userconf Step3.在/etc/vsftpd/userconf之下新增一个名为test1的档案 内容增加一行: local_max_rate=250000 Step4.在/etc/vsftpd/userconf之下新增一个名为test

14、2的档案 内容增加一行: local_max_rate=500000 Step5.重新启动vsftpd roothomevsftpd#/sbin/servicevsftpdrestart Shuttingdownvsftpd:OK Startingvsftpdforvsftpd:OK 3.2.9-1.建置一个防火墙下的ftpserver,使用PORTFTPmode: 预设的ftpport:21以及ftpdataport:20 启动VSFTPD之后执行以下两行指令,只允许port21以及port20开放,其它关闭。 iptables-AINPUT-ptcp-mmultiport-dport21,

15、20-jACCEPT3楼iptables-AINPUT-ptcp-jREJECT-reject-withtcp-reset 3.2.9-2.建置一个防火墙下的ftpserver,使用PORTFTPmode: ftpport:2121以及ftpdataport:2020 Step1.执行以下两行指令,只允许port2121以及port2020开放,其它关闭。 iptables-AINPUT-ptcp-mmultiport-dport2121,2020-jACCEPT iptables-AINPUT-ptcp-jREJECT-reject-withtcp-reset Step2.修改/etc/vs

16、ftpd/vsftpd.conf 新增底下两行 listen_port=2121 ftp_data_port=2020 Step3.重新启动vsftpd roothomevsftpd#/sbin/servicevsftpdrestart Shuttingdownvsftpd:OK Startingvsftpdforvsftpd:OK 在这边要注意,8、9两个例子中,ftpclient(如cuteftp)的联机方式不能够选择passivemode,否则无法建立数据的联机。也就是读者可以连上ftp server,但是执行ls、get等等的指令时,便无法运作。 3.2.10.建置一个防火墙下的ftp

17、server,使用PASSFTPmode: ftpport:2121以及ftpdataport从9981到9986。 Step1.执行以下两行指令,只允许port2121以及port9981-9990开放,其它关闭。 iptables-AINPUT-ptcp-mmultiport-dport 2121,9981,9982,9983,9984,9985,9986,9987,9988,9989,9990-jACCEPT iptables-AINPUT-ptcp-jREJECT-reject-withtcp-reset Step2.修改/etc/vsftpd/vsftpd.conf 新增底下四行 l

18、isten_port=2121 pasv_enable=YES pasv_min_port=9981 pasv_max_port=9986 Step3.重新启动vsftpd roothomevsftpd#/sbin/servicevsftpdrestart Shuttingdownvsftpd:OK Startingvsftpdforvsftpd:OK 在这边要注意,在10这个例子中,ftpclient(如cuteftp)的联机方式必须选择passivemode,否则无法建立数据的联机。也就是读者可以连上ftpserver,但是执行ls,get等等的指令时,便无法运作。 3.2.11.将vsf

19、tpd与TCP_wrapper结合 若是读者希望直接在/etc/hosts.allow之中定义允许或是拒绝的来源地址,可执行以下步骤。这是简易的防火墙设定。 Step1.确定/etc/vsftpd/vsftpd.conf之中tcp_wrappers的设定为YES,如下图所 示: tcp_wrappers=YES 这是RedHat9的默认值,基本上不需修改。 Step2.重新启动vsftpd roothomevsftpd#/sbin/servicevsftpdrestart Shuttingdownvsftpd:OK Startingvsftpdforvsftpd:OK Step3.设定/etc

20、/hosts.allow,譬如提供111.22.33.4以及10.1.1.1到10.1.1.254连 线,则可做下图之设定: vsftpd:111.22.33.410.1.1.:allow ALL:ALL:DENY 3.2.12.将vsftpd并入XINETD 若是读者希望将vsftpd并入XINETD之中,也就是7.x版的预设设定,那 么读者可以执行以下步骤。 Step1.修改/etc/vsftpd/vsftpd.conf 将 listen=YES 改为 listen=NO Step2.新增一个档案:/etc/xinetd.d/vsftpd 内容如下: servicevsftpd disab

21、le=no socket_type=stream wait=no user=root server=/usr/sbin/vsftpd port=21 log_on_success+=PIDHOSTDURATION log_on_failure+=HOST Step3.重新启动xinetd roothomevsftpd#/sbin/servicexinetdrestart Stoppingxinetd:OK Startingxinetd:OK 3.2.3设定档说明 在范例中,有些省略的设定可以在这边找到,譬如联机的总数、同一个位址的联机数、显示档案拥有者的名称等等,希望读者细读后,可以做出最适合

22、自己的设定。 格式 vsftpd.conf的内容非常单纯,每一行即为一项设定。若是空白行或是开头为#的一行,将会被忽略。内容的格式只有一种,如下所示 option=value4楼要注意的是,等号两边不能加空白,不然是不正确的设定。 ascii设定 ascii_download_enable 管控是否可用ASCII模式下载。默认值为NO。 ascii_upload_enable 管控是否可用ASCII模式上传。默认值为NO。 个别使用者设定 chroot_list_enable 如果启动这项功能,则所有的本机使用者登入均可进到根目录之外的数据夹,除了列 在/etc/vsftpd.chroot_l

23、ist之中的使用者之外。默认值为NO。 userlist_enable 用法:YES/NO 若是启动此功能,则会读取/etc/vsftpd.user_list当中的使用者名称。此项功能可以在询问密码前就出现失败讯息,而不需要检验密码的程序。默认值为关闭。 userlist_deny 用法:YES/NO 这个选项只有在userlist_enable启动时才会被检验。如果将这个选项设为YES,则在/etc/vsftpd.user_list中的使用者将无法登入若设为NO,则只有在 /etc/vsftpd.user_list中的使用者才能登入。而且此项功能可以在询问密码前就出现错误讯息,而不需要检验密

24、码的程序。 user_config_dir 定义个别使用者设定文件所在的目录,例如定义user_config_dir=/etc/vsftpd/userconf,且主机上有使用者test1,test2,那我们可以在user_config_dir的目录新增文件名为test1以及test2。若是test1登入,则会读取user_config_dir下的test1这个档案内的设定。默认值为无。 欢迎语设定 dirmessage_enable 如果启动这个选项,使用者第一次进入一个目录时,会检查该目录下是否有.message这个档案,若是有,则会出现此档案的内容,通常这个档案会放置欢迎话语,或是对该目录

25、的说明。默认值为开启。 banner_file 当使用者登入时,会显示此设定所在的档案内容,通常为欢迎话语或是说明。默认值为无。 ftpd_banner 这边可定义欢迎话语的字符串,相较于banner_file是档案的形式,而ftpd_banner是字串的格式。预设为无。 特殊安全设定 chroot_local_user 如果设定为YES,那么所有的本机的使用者都可以切换到根目录以外的数据夹。预设值为NO。 hide_ids 如果启动这项功能,所有档案的拥有者与群组都为ftp,也就是使用者登入使用ls-al之类的指令,所看到的档案拥有者跟群组均为ftp。默认值为关闭。 ls_recurse_e

26、nable 若是启动此功能,则允许登入者使用ls-R这个指令。默认值为NO。 write_enable 用法:YES/NO 这个选项可以控制FTP的指令是否允许更改filesystem,譬如STOR、DELE、 RNFR、RNTO、MKD、RMD、APPE以及SITE。预设是关闭。 setproctitle_enable 用法:YES/NO 启动这项功能,vsftpd会将所有联机的状况已不同的process呈现出来,换句话说,使用ps-ef这类的指令就可以看到联机的状态。默认值为关闭。 tcp_wrappers 用法:YES/NO 如果启动,则会将vsftpd与tcpwrapper结合,也就是

27、可以在/etc/hosts.allow与/etc/hosts.deny中定义可联机或是拒绝的来源地址。 pam_service_name 这边定义PAM所使用的名称,预设为vsftpd。 secure_chroot_dir 这个选项必须指定一个空的数据夹且任何登入者都不能有写入的权限,当vsftpd不需要filesystem的权限时,就会将使用者限制在此数据夹中。默认值为/usr/share/empty 纪录文件设定 xferlog_enable 用法:YES/NO 如果启动,上传与下载的信息将被完整纪录在底下xferlog_file所定义的档案中。预设为开启。 xferlog_file 这个

28、选项可设定纪录文件所在的位置,默认值为/var/log/vsftpd.log。 xferlog_std_format5楼如果启动,则纪录文件将会写为xferlog的标准格式,如同wu-ftpd一般。默认值为关闭。 逾时设定 accept_timeout 接受建立联机的逾时设定,单位为秒。默认值为60。 connect_timeout 响应PORT方式的数据联机的逾时设定,单位为秒。默认值为60。 data_connection_timeout 建立数据联机的逾时设定。默认值为300秒。 idle_session_timeout 发呆的逾时设定,若是超出这时间没有数据的传送或是指令的输入,则会强

29、迫断线,单位为秒。默认值为300。 速率限制 anon_max_rate 匿名登入所能使用的最大传输速度,单位为每秒多少bytes,0表示不限速度。默认值为0。 local_max_rate 本机使用者所能使用的最大传输速度,单位为每秒多少bytes,0表示不限速度。预设值为0。 新增档案权限设定 anon_umask 匿名登入者新增档案时的umask数值。默认值为077。 file_open_mode 上传档案的权限,与chmod所使用的数值相同。默认值为0666。 local_umask 本机登入者新增档案时的umask数值。默认值为077。 port设定 connect_from_por

30、t_20 用法:YES/NO 若设为YES,则强迫ftp-data的数据传送使用port20。默认值为YES。 ftp_data_port 设定ftp数据联机所使用的port。默认值为20。 listen_port FTPserver所使用的port。默认值为21。 pasv_max_port 建立资料联机所可以使用port范围的上界,0表示任意。默认值为0。 pasv_min_port 建立资料联机所可以使用port范围的下界,0表示任意。默认值为0。 其它 anon_root 使用匿名登入时,所登入的目录。默认值为无。 local_enable 用法:YES/NO 启动此功能则允许本机使用

31、者登入。默认值为YES。 local_root 本机使用者登入时,将被更换到定义的目录下。默认值为无。 text_userdb_names 用法:YES/NO 当使用者登入后使用ls-al之类的指令查询该档案的管理权时,预设会出现拥有者的UID,而不是该档案拥有者的名称。若是希望出现拥有者的名称,则将此功能开启。默认值为NO。 pasv_enable 若是设为NO,则不允许使用PASV的模式建立数据的联机。默认值为开启。 更换档案所有权 chown_uploads 用法:YES/NO 若是启动,所有匿名上传数据的拥有者将被更换为chown_username当中所设定的使用者。这样的选项对于安全

32、及管理,是很有用的。默认值为NO。 chown_username 这里可以定义当匿名登入者上传档案时,该档案的拥有者将被置换的使用者名称。预设值为root。guest设定 guest_enable 用法:YES/NO 若是启动这项功能,所有的非匿名登入者都视为guest。默认值为关闭。 guest_username 这里将定义guest的使用者名称。默认值为ftp。 anonymous设定 anonymous_enable 用法:YES/NO 管控使否允许匿名登入,YES为允许匿名登入,NO为不允许。默认值为YES。 no_anon_password 若是启动这项功能,则使用匿名登入时,不会询

33、问密码。默认值为NO。 anon_mkdir_write_enable 用法:YES/NO 如果设为YES,匿名登入者会被允许新增目录,当然,匿名使用者必须要有对上层目录的写入权。默认值为NO。 anon_other_write_enable 用法:YES/NO 如果设为YES,匿名登入者会被允许更多于上传与建立目录之外的权限,譬如删除或是更名。默认值为NO。 anon_upload_enable称。默认值为ftp。 deny_email_enable 若是启动这项功能,则必须提供一个档案/etc/vsftpd.banner_emails,内容为email address。若是使用匿名登入,则

34、会要求输入emailaddress,若输入的emailaddress在此档案内,则不允许联机。默认值为NO。 Standalone选项 listen 用法:YES/NO 若是启动,则vsftpd将会以独立运作的方式执行,若是vsftpd独立执行,如RedHat9的默认值,则必须启动若是vsftpd包含在xinetd之中,则必须关闭此功能,如RedHat8。在RedHat9的默认值为YES。 listen_address 若是vsftpd使用standalone的模式,可使用这个参数定义使用哪个IPaddress提供这项服务,若是主机上只有定义一个IPaddress,则此选项不需使用,若是有多个

35、IPaddress,可定义在哪个IPaddress上提供ftp服务。若是不设定,则所有的IPaddress均会提供此服务。默认值为无。 max_clients 若是vsftpd使用standalone的模式,可使用这个参数定义最大的总联机数。超过这个数目将会拒绝联机,0表示不限。默认值为0。 max_per_ip 若是vsftpd使用standalone的模式,可使用这个参数定义每个ipaddress所可以联机的数目。超过这个数目将会拒绝联机,0表示不限。默认值为0。 3.2.4FTP数字代码的意义 110重新启动标记应答。 120服务在多久时间内ready。 125数据链路埠开启,准备传送。

36、 150文件状态正常,开启数据连接端口。 200命令执行成功。 202命令执行失败。 211系统状态或是系统求助响应。 212目录的状态。 213文件的状态。 214求助的讯息。 215名称系统类型。 220新的联机服务ready。 221服务的控制连接埠关闭,可以注销。 225数据连结开启,但无传输动作。 226关闭数据连接端口,请求的文件操作成功。 227进入passivemode。 230使用者登入。 250请求的文件操作完成。 257显示目前的路径名称。 331用户名称正确,需要密码。 332登入时需要账号信息。 350请求的操作需要进一部的命令。 421无法提供服务,关闭控制连结。

37、425无法开启数据链路。 426关闭联机,终止传输。 450请求的操作未执行。 451命令终止:有本地的错误。 452未执行命令:磁盘空间不足。 500格式错误,无法识别命令。 501参数语法错误。 502命令执行失败。6楼用法:YES/NO 如果设为YES,匿名登入者会被允许上传目录的权限,当然,匿名使用者必须要有对上层目录的写入权。默认值为NO。 anon_world_readable_only 用法:YES/NO 如果设为YES,匿名登入者会被允许下载可阅读的档案。默认值为YES。 ftp_username 定义匿名登入的使用者名503命令顺序错误。 504命令所接的参数不正确。 530

38、未登入。 532储存文件需要账户登入。 550未执行请求的操作。 551请求的命令终止,类型未知。 552请求的文件终止,储存位溢出。 553未执行请求的的命令,名称不正确。2 sftp 3 利用VSFTP架设Linux下的FTP站点2008-09-25 18:03:39 来源:互联网 【大 中 小】 评论:0 条 我要投稿 收藏本文 分享至微博 站长交易(http:/)帮站长赚钱 虚拟主机评测+IDC导航=IDC123.COM3.1.1.1 1.声明 本文档的版权(c)2006-2007归etonyC.F.AN所有.转载自http:/www.debsir.org/.3.1.1.2 2.FTP

39、原理FTPTransferProtocol件传输协议的缩写,在RFC959中具体说明。FTP会话时包含了两个通道,一个叫控制通道,一个叫数据通道。控制通道:控制通道是和FTP服务器进行沟通的通道,连接FTP,发送FTP指令都是通过控制通道来完成的。数据通道:数据通道是和FTP服务器进行文件传输或者列表的通道。FTP协议中,控制连接均有客户端发起,而数据连接有两种工作方式:PORT方式和PASV方式PORT模式(主动方式) FTP客户端首先和FTPServer的TCP21端口建立连接,通过这个通道发送命令,客户端需要接收数据的时候在这个通道上发送PORT命令。PORT命令包含了客户端用什么端口(

40、一个大于1024的端口)接收数据。在传送数据的时候,服务器端通过自己的TCP20端口发送数据。FTPserver必须和客户端建立一个新的连接用来传送数据。PASV模式(被动方式) 在建立控制通道的时候和PORT模式类似,当客户端通过这个通道发送PASV命令的时候,FTPserver打开一个位于1024和5000之间的随机端口并且通知客户端在这个端口上传送数据的请求,然后FTPserver将通过这个端口进行数据的传送,这个时候FTPserver不再需要建立一个新的和客户端之间的连接传送数据。如果从C/S模型这个角度来说,PORT对于服务器来说是OUTBOUND,而PASV模式对于服务器是INBO

41、UND,这一点请特别注意,尤其是在使用防火墙的企业里,这一点非常关键,如果设置错了,那么客户将无法连接。3.1.1.3 3.VSFTPDvsftpd是一个UNIX类操作系统上运行的服务器的名字,它可以运行在诸如Linux,BSD,Solaris,HP-UX以及IRIX上面。它支持很多其他的FTP服务器不支持的特征。比如: 非常高的安全性需求 带宽限制 良好的可伸缩性 创建虚拟用户的可能性 IPv6支持 中等偏上的性能 分配虚拟IP的可能性 高速vsftpd的名字代表verysecureFTPdaemon,安全是它的开发者ChrisEvans考虑的首要问题之一。在这个FTP服务器设计开发的最开始的时候,高安全性就是一个目标。 一个例子就是vsftpd是在chroot模式下工作的,chroot模式就是为程序(这里就是vsftpd了)单独指定一个新的目录,它也就不能访问那个目录之外的程序和文件了-所以这也称为“被锁上的”。一个可能被潜在的攻击者破坏的FTP服务器将被从系统的其他部分独立开来,从而避免了更大的损失。由于有了如此多的特性,其中FTP服务的安全性应该是最重要的,vsftpd比其他FTP服务器更加优越。WU-FTPDhttp:/www.wu-ftpd.org/在这里可以被视作一个反面的例子,因为

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

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1