如何为小型ACM比赛准备机房
本文主要介绍办小型ACM赛事而需要的配置机房的步骤。
前提
OJ需要部署在内网,机房需要能够分发系统。比赛时候禁止参赛选手访问外网且仅给参赛选手分配写代码的必要权限。
简要流程
- 安装软件(codeblocks devcpp sublime eclipse-oxygen2 idle)
- ban掉外网
- ban USB
- 创建guest账户 admin账户设密码
- 分发机器
创建guest账户
win7:
添加默认没有权限
控制面板->用户账户->管理其他账户->启用来宾账户即可
win10
控制面板->用户账户->用户账户->管理其他用户->在电脑设置中添加新用户->将其他用户添加此电脑
,选择我没有这个人的登录信息
,选择添加一个没有Microsoft账户的用户
,填写用户名,密码即可。
安装软件
安装请务必安装到guest用户文件夹下。
下载安装包安装,eclipse注意使用集成环境oxygen2。打开eclipse时候会提示不可用,需要取消后选择工作目录,选择到guest用户文件夹下。
注意,codeblocks需要设置编译器,在Settings->Compiler...
,首先选项选择GNU GCC Compiler
,然后在下面Toolchain executables
中,选择文件夹Codeblocks/Mingw/bin
,观察对应文件夹的文件名,将下面的C Compiler
之类中的mingw32-
前缀去掉,改成存在的文件名,如gcc.exe
之类。
python安装时候,注意取消install laucher for all users
,增加add to PATH
。
sublime需要在管理员环境下安装。
注意,软件请务必在guest下测试。
ban掉外网
注意,这一步务必在安装软件之后,否则可能会有互联网下载版安装失败。
控制面板->windows防火墙->高级设置->出站规则->新建规则
,选择自定义->下一步->下一步
,在此规则应用于哪些远程IP地址?
中,添加比如0.0.0.0-172.0.0.0
和173.0.0.0-192.168.0.0
,下一步选择阻止连接
,名称随意,完成即可。
在状态栏中可以看到该规则,可以禁用或者删除。
Ban USB
找到注册表编辑器(WIN+R搜索regedit.exe
),找到HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Services \ USBStor
目录,点击修改start,修改成4。
admin账户设密码
在用户账户->为您的账户创建密码
中完成。
分发机器
注意只适用于OS-Easy噢易功能平台。
进入分区管理,登录管理员账号,改第一个分区的还原方式为完全开放(否则自动还原,前功尽弃),点击修改执行。
等待重启,上述环境配置完成后,打开噢易客户端,点击差异拷贝,进去之后点击等待登录,开启需要分发的机器,等待开启完毕后点击完成登录,点击发送数据,选择分区,选择“修改ip后关机”,点击确定,等待发送。
在完成设置之后,确定分发之前,将还原方式改成每次还原。
还原机器
找到一台未修改的机器并且关闭其他无需还原的机器,按照上面分发机器流程分发即可。
如何为小型ACM比赛准备机房