注册 登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

过于理智的傻瓜

这是结束 也是开始

 
 
 

日志

 
 

鸟哥书中关于VSFTPD的设置  

2009-11-21 13:39:31|  分类: vsftpd |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
Server 端的设定
    其实在 Server 端的设定蛮容易的,因为整个 vsftpd 的设定档几乎可以说只有一个,那就是 vsftpd.conf 这个档案了。底下我们就来谈一谈整个 vsftpd 的套件结构与如何设定编辑 vsftpd.conf 这个设定档吧! ^_^
     

vsftpd 的套件结构
 
vsftpd 的套件结构很简单,设定文件与执行档实在是不多,无论如何,我们还是得要了解一下:
 
  • /etc/vsftpd.conf 或 /etc/vsftpd/vsftpd.conf:这个就是 vsftpd 的主要设定档了!也是等一下我们要设定的主要项目说。在这个设定文件里面,所有的设定项目都是以『参数=设定值』来设定的,注意一下,等号两边没有空白喔!至于 vsftpd.conf 的详细说明,其实在 vsftpd.conf 里面就已经相当的清晰了,如果还想要有其它的支持,可以使用『man 5 vsftpd.conf』来查阅喔!
     
  • /etc/pam.d/vsftpd 与 /etc/ftpusers 或 /etc/vsftpd.ftpusers:这个与 Wu FTP 是相同的作用啦!利用 pam 模块来进行身份确认的动作说!那么怎么知道使用 /etc/vsftpd.ftpusers 或 /etc/ftpusers 呢?看 /etc/pam.d/vsftpd 的内容即可!
    [root@test root]# vi /etc/pam.d/vsftpd
    #%PAM-1.0
    auth       required     pam_listfile.so item=user sense=deny file=/etc/vsftpd.ftpusers onerr=succeed
    auth       required     pam_stack.so service=system-auth
    auth       required     pam_shells.so
    account    required     pam_stack.so service=system-auth
    session    required     pam_stack.so service=system-auth
    上面的斜体字是同一行,注意到斜体字那一行,可以发现 file="檔名" 那个档名就是『限制使用者无法使用 vsftpd 』的主要设定档案啰!
     
  • /etc/vsftp.user_list:这个档案不见得会使用到,且与实体用户有关!当我们在 vsftpd.conf 里面设定好了实体用户的使用者没有被 chroot 到自己的家目录下(也就是使用者登入后不只能到自己的家目录,还可以跳到其它目录),不过,某些使用者您想让他无法离开家目录时,预设在 /etc/vsftp.user_list 这个档案里面,就可以将该使用者限制在自己的家目录内了!一行一个账号。
     
  • /etc/vsftp.banned_emails:这个档案与匿名登入有关,不过也不见得会用到!当您允许匿名者 (anonymous) 登入您的 FTP 主机,不过却不允许某些 email address 登入,那么就可以将该 email address 写入到这个档案里面去喔!
     
  • /usr/local/sbin/vsftpd 或 /usr/sbin/vsftpd:这就是 vsftpd 的主要执行档咯!不要怀疑, vsftpd 只有这一个执行档而已啊!
     
  • /var/ftp:这个是 vsftpd 的预设匿名者登入的根目录喔!
     
大致上就只有这几个档案需要注意而已呢!
 

vsftpd.conf 设定值说明
 
vsftpd.conf 是 vsftpd 的主要设定档案,在这里我们约略来说明一下常见的 vsftpd.conf 里面的各个设定参数吧!
 
关于主机的设定值
connect_from_port_20=YES (NO)
 还记得 wu ftp 那篇文章提到的,关于主动联机的 ftp-data 吗?
 这个设定项目在启动主动联机的 port 20 咯!
listen_port=21
 使用的 vsftpd 命令通道的 port number 设定,如果您想要使用非
 正规的 ftp port,在这个设定项目修改吧!
dirmessage_enable=YES (NO)
 当使用者进入某个目录时,会显示该目录需要注意的内容,显示的
 档案预设是 .message ,当然,可以使用底下的设定项目来修订!
message_file=.message
 当 dirmessage_enable=YES 时,可以设定这个项目来让 vsftpd 
 寻找该档案来显示讯息!您也可以设定其它档名喔!
listen=YES (NO)
 若设定为 YES 表示 vsftpd 是以 standalone 的方式来启动的!
pasv_enable=YES (NO)
 启动被动式联机(passive mode),一定要设定为 YES 的啦!
use_localtime=YES (NO)
 是否使用主机的时间?!预设使用 GMT 时间(格林威治),会比台湾
 时间晚 8 小时,一般来说,建议设定为 YES 吧!
write_enable=YES (NO)
 是否允许使用者具有写入的权限?!这包括删除与修改等功能喔!
connect_timeout=60
 单位是秒,如果 client 尝试连接我们的 vsftpd 命令通道超过 60 秒,
 则不等待,强制断线咯。
accept_timeout=60
 当使用者以被动式 PASV 来进行数据传输时,如果主机启用 passive port 
 并等待 client 超过60 秒,那么就给他强制断线!您可以修改 60 这个数值。
data_connection_timeout=300
 如果 client 与 Server 间的数据传送在 300 秒内都无法传送成功,
 那 Client 的联机就会被我们的 vsftpd 强制剔除!
idle_session_timeout=300
 如果使用者在 300 秒内都没有命令动作,强制离线!
max_clients=0
 如果 vsftpd 是以 stand alone 方式启动的,那么这个设定项目可以设定
 同一时间,最多有多少 client 可以同时连上 vsftpd 哩!?
max_per_ip=0
 与上面 max_clients 类似,这里是同一个 IP 同一时间可允许多少联机?
pasv_max_port=0
pasv_min_port=0
 上面两个是与 passive mode 使用的 port number 有关,如果您想要使用
 65400 到 65410 这 11 个 port 来进行被动式资料的连接,可以这样设定
 pasv_max_port=65410 以及 pasv_min_port=65400
ftpd_banner=一些文字说明
 当使用者无法顺利连上我们的主机,例如联机数量已经超过 max_clients 
 的设定了,那么 client 的画面就会显示『一些文字说明』的字样,您可以修改
 
关于实体用户登入者的设定值
guest_enable=YES (NO)
 若这个值设定为 YES 时,那么任何非 anonymous 登入的账号,均会被
 假设成为 guest (访客) 喔!
local_enable=YES (NO)
 这个设定值必须要为 YES 时,在 /etc/passwd 内的账号才能以
 实体用户的方式登入我们的 vsftpd 主机喔!
local_max_rate=0
 实体用户的传输速度限制,单位为 bytes/second, 0 为不限制。
chroot_local_user=YES (NO)
 将使用者限制在自己的家目录之内(chroot)!这个设定在 vsftpd 
 当中预设是 NO,因为有底下两个设定项目的辅助喔!
 所以不需要启动他!
chroot_list_enable=YES (NO)
 是否启用将某些实体用户限制在他们的家目录内?!预设是 NO ,
 不过,如果您想要让某些使用者无法离开他们的家目录时,
 可以考虑将这个设定为 YES ,并且规划下个设定值
chroot_list_file=/etc/vsftpd.chroot_list
 如果 chroot_list_enable=YES 那么就可以设定这个项目了!他里面可以规定
 那一个实体用户会被限制在自己的家目录内而无法离开!(chroot)
 一行一个账号即可!
userlist_deny=YES (NO)
 若此设定值为 YES 时,则当使用者账号被列入到某个档案时,在该档案内
 的使用者将无法登入 vsftpd 服务器!该档案文件名与下列设定项目有关。
userlist_file=/etc/vsftpd.user_list
 若上面 userlist_deny=YES 时,则这个档案就有用处了!在这个档案内的
 账号都无法使用 vsftpd 喔!
 
关于匿名者登入的设定值
anonymous_enable=YES (NO)
 设定为允许 anonymous 登入我们的 vsftpd 主机!预设是 YES ,底下的所有
 相关设定都需要将这个设定为 anonymous_enable=YES 之后才会生效!
anon_world_readable_only=YES (NO)
 仅允许 anonymous 具有下载可读档案的权限,预设是 YES。
anon_other_write_enable=YES (NO)
 是否允许 anonymous 具有写入的权限?预设是 NO!如果要设定为 YES,
 那么开放给 anonymous 写入的目录亦需要调整权限,让 vsftpd 的 PID
 拥有者可以写入才行!
anon_mkdir_write_enable=YES (NO)
 是否让 anonymous 具有建立目录的权限?默认值是 NO!如果要设定为 YES,
 那么 anony_other_write_enable 必须设定为 YES !
anon_upload_enable=YES (NO)
 是否让 anonymous 具有上传数据的功能,预设是 NO,如果要设定为 YES ,
 则 anon_other_write_enable=YES 必须设定。
deny_email_enable=YES (NO)
 将某些特殊的 email address 抵挡住,不让那些 anonymous 登入!
 如果以 anonymous 登入主机时,不是会要求输入密码吗?密码不是要您
 输入您的 email address 吗?如果你很讨厌某些 email address ,
 就可以使用这个设定来将他取消登入的权限!需与下个设定项目配合:
banned_email_file=/etc/vsftpd.banned_emails
 如果 deny_email_enable=YES 时,可以利用这个设定项目来规定那个
 email address 不可登入我们的 vsftpd 喔!在上面设定的档案内,
 一行输入一个 email address 即可!
no_anon_password=YES (NO)
 当设定为 YES 时,表示 anonymous 将会略过密码检验步骤,
 而直接进入 vsftpd 服务器内喔!所以一般预设都是 NO 的!
anon_max_rate=0
 这个设定值后面接的数值单位为 bytes/秒 ,限制 anonymous 的传输速度,
 如果是 0 则不限制(由最大频宽所限制),如果您想让 anonymous 仅有 
 30 KB/s 的速度,可以设定『anon_max_rate=30000』
anon_umask=077
 限制 anonymous 的权限!如果是 077 则 anonymous 传送过来的档案
 权限会是 -rw------- 喔!
 
关于系统安全的设定值:
ascii_download_enable=YES (NO)
 如果设定为 YES ,那么 client 就可以使用 ASCII 格式下载档案。
 一般来说,由于启动了这个设定项目可能会导致 DoS 的攻击,因此预设是NO。
ascii_upload_enable=YES (NO)
 与上一个设定类似的,只是这个设定针对上传而言!预设是 NO。
async_abor_enable=YES (NO)
 如果您的 FTP client 会下达 "async ABOR" 这个指令时,这个设定才需要启用
 一般来说,由于这个设定并不安全,所以通常都是将他取消的!
check_shell=YES (NO)
 如果您想让拥有任何奇怪的 shell 的使用者(在 /etc/passwd 的 shell 字段)
 可以使用 vsftpd 的话,这个设定可以设定为 NO 喔!
one_process_model=YES (NO)
 这个设定项目比较危险一点~当设定为 YES 时,表示每个建立的联机
 都会拥有一支 process 在负责,可以增加 vsftpd 的效能。不过,
 除非您的系统比较安全,而且硬件配备比较高,否则容易耗尽系统资源喔!
 一般建议设定为 NO 的啦!
tcp_wrappers=YES (NO)
 当然我们都习惯支持 TCP Wrappers 的啦!所以设定为 YES 吧!
xferlog_enable=YES (NO)
 当设定为 YES 时,使用者上传与下载档案都会被纪录起来。记录档案
 与下一个设定项目有关:
xferlog_file=/var/log/vsftpd.log
 如果上一个 xferlog_enable=YES 的话,这里就可以设定了!
 这个是登录档的档名啦!
xferlog_std_format=YES (NO)
 是否设定为 wu ftp 相同的登录档格式?!预设为 NO ,因为登录档会比较容易读!
 不过,如果您有使用 wu ftp 登录文件的分析软件,这里才需要设定为 YES
nopriv_user=nobody
 我们的 vsftpd 预设以 nobody 作为此一服务执行者的权限。因为 nobody 的权限
 相当的低,因此即使被入侵,入侵者仅能取得 nobody 的权限喔!
pam_service_name=vsftpd
 这个是 pam 模块的名称,我们放置在 /etc/pam.d/vsftpd 即是这个咚咚!
 
上面这些是相当常见的 vsftpd 的设定参数,还有很多参数我没有列出来,您可以使用 man 5 vsftpd.conf 查阅喔!不过,基本上上面这些参数已经够我们设定 vsftpd 啰!
 

最简单的 vsftpd.conf 设定
 
如果您很懒的去设定 vsftpd 的话,那么可以使用很简单的设定值来规划您的 FTP 服务器。底下就是 Red Hat 9 的预设 vsftpd 的设定值,您可以使用这样的设定值来启动您的 FTP 服务器即可。这样的设定值有几个用处:
 
  • 任何在 /etc/vsftpd.ftpusers 里面的使用者账号均无法使用 vsftpd 喔!
  • 开放 anonymous 与 实体用户 登入 vsftpd ;
  • 实体用户登入主机时,可以跳至任何具有登入权限的目录当中(没有 chroot );
  • 使用 port 20 作为主动联机时的 ftp-data 传送埠口;
  • 利用 /etc/hosts.allow(deny) 来管理登入权限;
  • 当 Client 上传/下载档案时,该信息会记录在 /var/log/vsftpd.log 里面;
  • 其它的设定均已默认值来规范(如被动式 port number 等等)。
 
[root@test root]# vi /etc/xinetd.d/vsftpd
service ftp
{
        socket_type             = stream
        wait                    = no
        user                    = root
        server                  = /usr/local/sbin/vsftpd
        server_args             = /etc/vsftpd.conf
# 上面这个请依照您的主机环境来设定!尤其是 server_args 请设定您的
# vsftpd.conf 所在目录的完整文件名(含目录名称)!
        log_on_success          += DURATION USERID
        log_on_failure          += USERID
        nice                    = 10
        disable                 = no
}
[root@test root]# vi /etc/vsftpd/vsftpd.conf  # (或 /etc/vsftpd.conf)
# 关于主机与安全性的设定
use_localtime=YES
dirmessage_enable=YES
connect_from_port_20=YES
xferlog_enable=YES
xferlog_std_format=YES
pam_service_name=vsftpd
tcp_wrappers=YES
# 关于 anonymous 的设定
anonymous_enable=YES
# 关于 real user 的设定
local_enable=YES
write_enable=YES
local_umask=022
userlist_enable=YES
# 以上设定值的意义请往前翻到 vsftpd.conf 设定值的意义 章节去察看!
[root@test root]# /etc/rc.d/init.d/xinetd restart
 
这样您的最简易的 FTP 服务器就已经设定完成了!简单的很吧!而且还相当的安全呢!
 

针对仅有开放实体用户登入的设定
 
好了,这里我们再使用其它的设定值来修正我们的 vsftpd.conf 这个设定档。因为开放 anonymous 毕竟不太安全,所以我们将 anonymous 的登入权限关闭,并且仅让 real user (实体用户) 登入我们的 vsftpd 时,要如何设定呢?我的要求如下:
 
  • 使用台湾本地的时间而不是 GMT 时间;
  • 所有在 /etc/passwd 里面出现的实体账号均能登入 vsftpd 主机;
  • 但是系统账号 (如 root 等, UID 小于 500 的账号)均不能使用 vsftpd ;
  • 而且由于 badbird 与 nogoodbird 这两个账号使用者比较不乖,我要让这两个使用者被关在自己的家目录当中(chroot);
  • 并且限制数据的传输速度为 100 Kbytes/second;
  • 当使用者进入 /home 这个目录时,显示:『一般使用者家目录』的字样在 Client 端的屏幕上;
  • 使用者可以进行上传、下载以及修改档案等等动作。
 
1. 基础设定档
[root@test root]# vi /etc/vsftpd/vsftpd.conf (或 /etc/vsftpd.conf)
# 关于主机与安全性的设定
use_localtime=YES
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
pam_service_name=vsftpd
tcp_wrappers=YES
# 关于 anonymous 的设定
anonymous_enable=NO
# 关于 Real User 的设定
local_enable=YES
write_enable=YES
local_umask=022
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
userlist_deny=YES
userlist_file=/etc/vsftpd.user_list
local_max_rate=100000
# 以上设定值的意义请往前翻到 vsftpd.conf 设定值的意义 章节去察看!
 
2. 限制实体用户在自己的家目录内 (chroot) 的设定档
[root@test root]# vi /etc/vsftpd.chroot_list
badbird
nogoodbird
# 没有写到这个档案内的其它用户,就可以离开自己的家目录,
# 而到其它目录里面去浏览了!
 
3. 以 PAM 模块限制某些账号无法登入主机的设定:
[root@test root]# vi /etc/pam.d/vsftpd
# 会发现这样的字句:
auth ..... file=/etc/vsftpd.ftpusers ....
# 那个 file=.. 后面接的文件名就是以 PAM 模块抵挡的账号内容了!
[root@test root]# vi /etc/vsftpd.ftpusers
# 底下列出的账号将无法使用 vsftpd 喔!与 wu ftp 的 /etc/ftpusers 相同功能
root
bin
daemon
adm
lp
sync
shutdown
halt
mail
news
uucp
operator
games
nobody
 
4. 以 userlist_file 抵挡某些账号的登入:
# 事实上,这个功能与上面的 PAM 功能相似啦!只是 PAM 是外挂的,而
# 这个设定是 vsftpd 预设提供的就是了!
[root@test root]# vi /etc/vsftpd.user_list
# 这个档案的设定与上面 /etc/vsftpd.ftpusers 相同即可!
root
bin
daemon
adm
lp
sync
shutdown
halt
mail
news
uucp
operator
games
nobody
 
5. 设定进入目录时,显示的讯息:
[root@test root]# vi /home/.message
一般使用者家目录
 
6. 重新启动 xinetd 啰!
[root@test root]# /etc/rc.d/init.d/xinetd restart
 
上面的设定里面有很多重复的地方,比方说 /etc/vsftpd.ftpusers 与 /etc/vsftpd.user_list 就是重复的设定了!不过,这样是比较安全啦!因为 PAM 模块是外挂的程序,而另一个档案则是 vsftpd 提供的功能!但是请特别留意,因为很多使用者可能会一不小心仅修改了其中一个档案,另一个档案则忘记修订,会很麻烦喔! ^_^!至于也是重点之一的 /etc/vsftpd.chroot_list 就可以将使用者限制在他们自己的家目录内了!设定上很容易吧!附带说明,上面的档名都与 vsftpd.conf 的设定有关
 
看过了上面关于实体用户的设定之后,咦!那么如何让 root 可以登入 vsftpd 主机呢?!呵呵!就是将 /etc/vsftpd.ftpusers 与 /etc/vsftpd.user_list 这两个档案里面的 root 拿掉就可以啦!不过,本人可是不建议这么搞的喔!
 

针对仅有开放匿名使用者登入的设定
 
好了,上面一章节谈的是仅开放 Real User ,那么这个章节我们就来谈一谈,没有 Real user 仅有 anonymous 的登入说!我想要的功能是这样的:
 
  • 使用台湾本地的时间,而非 GMT 时间;
  • 仅开放 anonymous 的登入;
  • 档案传输的速限为 30 Kbytes/second;
  • 允许 anonymous 上传档案到 /var/ftp/upload 这个目录当中,并且允许 anonymous 建立目录;
  • 数据连接的过程 (不是命令通道!) 只要超过 60 秒没有回应,就强制 Client 断线!
  • 只要 anonymous 超过十分钟没有动作,就予以断线;
  • 被动式连接的埠口为 65400 到 65420 这几个 port number 即可;
  • 最大同时上线人数限制为 50 人,且同一 IP 来源最大联机数量为 5 人;
  • 不许使用 ASCII 格式上传或下载!
  • 不许以 linux.vbird.org 这个网址为 email address 的密码输入!
 
OK!这样要如何设定呢!?
 
1. 基础设定档
[root@test root]# vi /etc/vsftpd/vsftpd.conf (或 /etc/vsftpd.conf)
# 与主机与安全性有关的设定
use_localtime=YES
write_enable=YES
dirmessage_enable=YES
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log
data_connection_timeout=60
idle_session_timeout=600
max_clients=50
max_per_ip=5
ascii_upload_enable=NO
ascii_download_enable=NO
connect_from_port_20=YES
pasv_min_port=65400
pasv_max_port=65420
pam_service_name=vsftpd
tcp_wrappers=YES
nopriv_user=ftp
# 关于 anonymous 的设定
anonymous_enable=YES
anon_other_write_enable=YES
anon_mkdir_write_enable=YES
anon_upload_enable=YES
deny_email_enable=YES
banned_email_file=/etc/vsftpd.banned_emails
anon_max_rate=30000
# 关于 real user 的设定
local_enable=NO
# 以上设定值的意义请往前翻到 vsftpd.conf 设定值的意义 章节去察看!
 
2. 建立抵挡不当 email address 的档案
[root@test root]# vi /etc/vsftpd.banned_emails
linux.vbird.org
# 一行写一个 email 名称喔!
 
3. 建立可以上传的目录!
# 因为我们的 nopriv_user 设定为 ftp ,所以上传的目录拥有者为 ftp 喔
[root@test root]# mkdir -p /var/ftp/upload
[root@test root]# chown ftp /var/ftp/upload
 
4. 重新启动 xinetd 啰!
[root@test root]# /etc/rc.d/init.d/xinetd restart
 
经过上面的说明之后,您就可以很清楚的知道了 Real user 与 anonymous 在 vsftpd 当中的设定了,那么您就可以很轻易的就架设出一部 vsftpd 服务器了呢!赶紧尝试看看吧! ^_^
Client 端的设定:
Client 端并没有什么好设定的地方,主要就是 ftp 的使用了,请参考 wu FTP 主机设定一节!

安全相关方面
    有关安全性的设定方面,当然就是与登入以及防火墙有关啰!那就来谈一谈吧!
     

防火墙抵挡
 
要启用 vsftpd 自然就得要开放防火墙啰!所以您如果想要对 Internet 开放您的 FTP 服务器,就必须至少要有这一段 iptables 防火墙规则在您的规则列当中:
 
/sbin/iptables -A INPUT -p TCP -i eth0 --dport 21 -j ACCEPT 
 
当然,您可以设定的更严密,请参考简易防火墙一文来设定 iptables 喔!此外,您的 TCP Wrappers 如果想要抵挡 192.168.1.2 这个 IP 来源的话,可以这样做:
 
[root@test root]# vi /etc/hosts.deny
vsftpd: 192.168.1.2
 
这个应该没有问题吧! ^_^
 

Super daemon 的管理
 
Super daemon 可以用来管理 Client 端的登入权限呢,这个重点没有忘记吧! ^_^ !那么我们如何设定呢?!举个简单的例子好了:假设我们的 vsftpd 只允许同一个 IP 来源可以拥有五个登入权限,而同一时间最多可以有 200 个 vsftpd 的联机,当超过 200 个 vsftpd 的联机时,将在 Client 端的画面当中显示『很抱歉,服务器忙碌中』的字样,该如何设定?
 
[root@test root]# vi /etc/xinetd.d/vsftpd
# vsftpd is the secure FTP server.
service ftp
{
        disable                 = no
        socket_type             = stream
        wait                    = no
        user                    = root
        server                  = /usr/local/sbin/vsftpd
        server_args             = /etc/vsftpd.conf 
# 上面这个 server 的设定请依照您的主机环境来设定!
# 至于 server_args 则请写入您的 vsftpd 的设定档完整档名即可!
        per_source              = 5     # 与同一 IP 的联机数目有关
        instances               = 200   # 同一时间最多的联机数目
        no_access               = 192.168.1.3
        banner_fail             = /etc/vsftpd.busy_banner
# 上面这个档案就是当主机忙碌中,则在 Client 端显示的内容!
        log_on_success          += PID HOST DURATION
        log_on_failure          += HOST
}
 
[root@test root]# vi /etc/vsftpd.busy.banner
421 很抱歉,服务器忙碌中!
 
[root@test root]# /etc/rc.d/init.d/xinetd restart
 
这样设定就可以啦!很简单的一个设定动作,就可以让您的 vsftpd 变的更安全一些喔!
  评论这张
 
阅读(153)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018