Hydro Contest OS

Hydro Contest OS 是技术组面向 XCPC 现场赛维护的标准化比赛用机环境,统一编译器、IDE、桌面配置、用户权限和现场运维工具,方便赛站部署和跨赛季复用。

Hydro Contest OS 2026 管理指南

使用 Bash 或 Ansible 创建选手账户,并应用比赛环境的账户权限限制。

选手账户

完成部署教程后,使用以下任一方式创建选手账户,并将其加入 teams 用户组。

Bash

useradd --create-home --comment "$(hostname)" --shell /bin/bash \
  --groups teams --password "$(openssl passwd -6 contest)" team

Ansible

---
- name: Create team user
  ansible.builtin.user:
    name: team
    comment: "{{ inventory_hostname }}"
    shell: /bin/bash
    groups: teams
    password: "{{ 'contest' | password_hash('sha512') }}"
    create_home: true

两种方式都会从 /etc/skel 初始化用户主目录,以提供默认的比赛环境。

账户权限限制

系统内置的 polkit 规则对 teams 用户组施加以下限制:

  • 禁止关机、重启、挂起、休眠和挂载磁盘。
  • 扫描 WiFi、共享 WiFi 和修改 NetworkManager 配置时,要求管理员认证。
  • 禁止修改错误报告设置。