作业|学习资料|教程

Windows环境下的 Serv-U FTP服务器

凝神长老 · 3月13日 · 2019年 · · 1027次已读

本文写于 2019年03月13日,距今已超过 1 年,距 2020年03月27日 的最后一次修改也已超过 3 个月,部分内容可能已经过时,您可以按需阅读。如果图片无法显示或者下载链接失效,请给我反馈,谢谢!


学校华东师范大学
专业计算机科学与技术
课程服务器维护与网站建设
教师金健
年份2019年春

首先安装软件,无脑下一步。

安装系统服务和添加防火墙例外。

1552455674162
1552455752277

如果可能,这里还会出现一个选项卡,说是否允许 Serv-u 写入路由器管理信息,或者是,路由器支持某某功能,是否允许为 Serv-u 配置该功能,这就看个人需要了。

1552455828137
1552455843352

启动以后也许会出现说只支持新版本的浏览器。

这里就不知道学校这个破服务器到底调用了多破的 IE 组件了,按理说 Win Server 2008 已经是 IE 8 以上了。

这时可以右键托盘菜单,选择使用系统浏览器打开,然后就会在 IE 打开 Serv-u 管理控制台。

首次进入的时候会要求创建一个新的域。

1552456479202
1552456528801
1552456598827

没什么特殊的要求就默认勾上吧。

然后是要求输入访问的域名,懒得再去添加一个 DNS 解析了(虽然我有域名 jxtxzzw.com),就 127.0.0.1 访问吧,设置域的物理路径,我就放在了 C:\Serv-u\FTP\

1552456868215
1552456878881

后面没什么需要设置的,全部默认就好。

域添加完毕后,会说,没有用户,需要设置一个吗,那好,我们直接用向导添加一个用户。

1552456938071

点击 进入用户配置界面,然后点击 使用向导 创建用户。

1552456944921

(或者可以点击最下面一条中的 向导

1552457033009

首先输入用户名、密码等必要信息。

1552457063698
1552457094277

可以勾上用户在下一次登录时必须更改密码,但是考虑到后面我们将直接使用资源管理器访问,而不是图形用户界面访问,所以就不勾上了。

1552457162589

考虑到 jxtxzzw 是作为管理员存在的,所以默认的根目录就直接用整个域的根目录就好了。

所谓锁定用户至根目录,是说,根目录的地址 C:\Serv-u\FTP\ 将被隐藏,只显示 \

1552457219264

管理员的访问权限肯定是完全访问的,普通用户可以设置只读。

之后会进行更加完整的权限设置。

这时候可以测试一下是不是能够登录 FTP 服务器了。

在资源管理器输入 ftp://127.0.0.1,输入 jxtxzzw 和密码之后,成功登录到 FTP 服务器

当然,这时候因为根目录下面什么都没有,所以显示为空,可以提前新建几个文件,观察效果。

1552457780613

添加完成之后,双击 jxtxzzw 可以进行更详细的设置。

例如勾选总是允许登录。

1552457391326

这是因为整个服务器会有最大允许用户的数量,一旦达到,其他用户无法连接,但是管理员总是需要在任何情况下都可以登录的,因此勾选这个选项,则不受最大连接数限制。

还可以设置为域管理员。

1552457414981

可以配置自动禁用和删除策略。

1552457434366

还可以设置 SSH 密钥,设置欢迎消息等,不一一列举。

1552457461637

然后进入目录访问选项卡。

1552457509055

可以看到家目录,有所有的访问权限。

下面在这里新建 3 个文件夹,分别进行只读、只写、读写的测试。

1552457605839

点击添加按钮,添加只读目录。

1552457634446

类似地,添加只写目录。

1552457691006

以及,读写目录。

1552457719057
1552457723946

但是遗憾的是,如果这样设置,会发现,仍然可以在只读的文件夹上传文件。

1552457937003

这是因为,%HOME% 被设置成了子目录继承,那么,由于 jxtxzzw 在根目录具有完全的访问权限,那么,下层的文件夹 ReadOnly 就会继承 %HOME% 的读写权限。

只需要去掉 %HOME% 下的子目录继承这个勾就可以了。

1552458040998

其他的目录可以不用管,毕竟绝大多数情况下,我们是希望,在当前层的文件夹下新建的文件夹及其后代,会继承当前文件夹的访问控制。

此时再试图往只读文件夹中上传文件,或者删除文件,将会报错。

1552458102801
1552458126764

同样,在只写目录,只能写入。

1552458195129

这里的写入,只表示创建,不包括删除和重命名。

1552458216406
1552458224807

如果想要将 W 理解成完整的写控制权限,只需在上面的用户权限设置中允许重命名和删除。

读写目录的测试是类似的。

之后有一个需求,是我想要把根目录以外的目录添加到我的 FTP 目录中,就是有点类似于软连接的感觉。

例如,我要把 \wwwroot\ 添加到 FTP 目录中,但是显然, \wwwroot\C:\website\wwwroot\,与 C:\Serv-u\FTP 不在一起,那难道需要重新开一个域吗?

可以用虚拟目录。

1552460083993

设置本质上和旧版本是一样的。

1552460379443

只是需要注意的是,如果目录 wwwroot_v 不存在,那么虚拟目录是无效的,而最后一个目录必须是一个虚拟的点,即我这里的 W_R_V

在进入 wwwroot_v 目录以后,可以看到这个目录下的其他文件夹和文件(如果有,例如 wwwroot_v\a.png),所以这个目录是真实存在的目录,同时,也正是这个原因,wwwroot_v 本身不可以被用来做虚拟点,否则,点开这个文件夹,到底是显示原来的 a.png 呢还是显示 C:\website\wwwroot 呢。

W_R_V 是不真实存在的目录,理由上面分析过了。

1552460330118

在使用中,进入 wwwroot_v 以后会有一个虚拟挂载点,进入即可。

1552460356186

虚拟目录的权限也是在用户那里设置的。

不同用户对同一个目录有不同的权限,也是类似的,从略。

更详细的设置可以点进用户属性一一研究,上面说的只是冰山一角。

例如,可以设置最短密码长度、密码过期长度……

1552460476011

可以设置每个用户最多用多少大小的磁盘配额,例如,限制每个用户 10GB 的空间,还可以自定义虚拟目录的挂载点包不包括在磁盘配额。

1552460564577

群组的建立和用户建立是类似的,也有群组的权限和虚拟路径等,我这里建立了一个叫做 张府 的群组,所有姓张的人都是这个群组的成员。

最后,应该启用日志。位置在:jxtxzzw 域 – 域活动 – 日志。

1552460693712

可选的补充作业,将配置写入数据库。

首先要进入控制面板,设置 ODBC 数据源。

在控制面板 – 管理工具 – 数据源。

1552462487988

然后打开新建数据源,瞄一眼,好像没找见 MySQL 的…………………………

看来 XAMPP 没有配置这个玩意啊。

瞬间不想做了。

下载 MySQL 的安装包,带 ODBC 的,然后安装 MySQL 的 ODBC,然后创建数据源。

去网上偷两张安装截图:

1552462618027

(偷图)

1552462635851

(偷图)

安装数据源完毕以后,进入jxtxzzw 域 – 域详细信息。

进入数据库,登录数据库,我们服务器上是 3306 端口的 MySQL,记得勾选自动创建需要的表和列。

1552460971212

连接成功以后返回到用户界面,点击数据库用户,可以看到可以添加数据库用户了。

1552460955986

然后可以添加用户到数据库。

如果想要把 FTP 服务器的数据保存到数据库,就直接点全局,在服务器详细信息里面输入数据库信息。

1552462726515
0 0 投票
Article Rating
订阅评论动态
提醒
guest
0 评论
行内反馈
查看所有评论