Skip to content

Add UOS Desktop 25 product - #15154

Open
slark-yuxj wants to merge 1 commit into
ComplianceAsCode:masterfrom
slark-yuxj:add-uos-desktop-v25
Open

slark-yuxj wants to merge 1 commit into
ComplianceAsCode:masterfrom
slark-yuxj:add-uos-desktop-v25

Conversation

@slark-yuxj

Copy link
Copy Markdown

Add a new product for UnionTech UOS Desktop 25 (codename snipe).

Description:

This PR adds UOS Desktop 25 as a new supported product, as a sibling of
the UOS Server 25 product. The desktop variant is dpkg/apt-based
(Debian-like), so it differs from the server variant in package detection
and platform package overrides.

  • products/uosdesktop25: product.yml with CPE cpe:/o:uniontech:uos_desktop:25:ga:desktop,
    CMakeLists.txt, and a Standard System Security profile
  • shared/applicability/oval: OS inventory check matching the UOS Desktop 25
    PRETTY_NAME in /usr/lib/os-release (the desktop variant is dpkg-based and
    has no uos-release package; os-release is owned by base-files)
  • controls/std_uosdesktop25.yml: standard security benchmark control file with
    29 automated controls (files/permissions, SSH hardening, auditd, PAM,
    password policies, AIDE, sysctl hardening)
  • platform_package_overrides: Debian package names (shadow->passwd,
    pam->libpam-runtime, polkit->policykit-1, etc.); the shadow-utils CPE platform
    maps to the login package via the existing deb branch of
    shared/applicability/package.yml
  • Register the product in CMakeLists.txt, build_product, and ssg/constants.py
  • Same ID=uos in os-release as the server variant, so the desktop variant is
    distinguished by its PRETTY_NAME

Rationale:

UnionTech UOS Desktop 25 (codename snipe) is the desktop counterpart of the
UOS Server 25 product added in #15149. It is a domestically-developed
enterprise Linux distribution in active production use. Adding it to
ComplianceAsCode lets UOS Desktop customers scan and harden their systems
with the same upstream SCAP content used for other enterprise distributions.

Review Hints:

Verified on a real UOS Desktop 25 Professional system (base-files 23.1-5deepin8,
x86_64, apt/dpkg, kernel 6.6.0-amd64-desktop, openscap 1.3.7):

  • ./build_product uosdesktop25 -d builds the data stream without errors
  • oscap xccdf eval --profile standard identifies the OS via the CPE check
    and evaluates 32 selected rules (10 pass, 6 real findings such as permissive
    umask, /etc/shadow group ownership and permissions, world-writable files;
    16 notapplicable rules scoped to server-only features)

Single self-contained commit; sibling of #15149 (UOS Server 25 product PR).

Add a new product for UnionTech UOS Desktop 25 (codename snipe).

- products/uosdesktop25: product.yml with CPE cpe:/o:uniontech:uos_desktop:25:ga:desktop,
  CMakeLists.txt, and a Standard System Security profile
- shared/applicability/oval: OS inventory check matching the UOS Desktop 25
  PRETTY_NAME in /usr/lib/os-release (the desktop variant is dpkg-based and
  has no uos-release package; os-release is owned by base-files)
- controls/std_uosdesktop25.yml: standard security benchmark control file with
  29 automated controls (files/permissions, SSH hardening, auditd, PAM,
  password policies, AIDE, sysctl hardening)
- platform_package_overrides: Debian package names (shadow->passwd, pam->libpam-runtime,
  polkit->policykit-1, etc.); the shadow-utils CPE platform maps to the login
  package via the existing deb branch of shared/applicability/package.yml
- Register the product in CMakeLists.txt, build_product, and ssg/constants.py
  (product_directories, FULL_NAME_TO_PRODUCT_MAPPING, MULTI_PLATFORM_LIST,
  MULTI_PLATFORM_MAPPING, MAKEFILE_ID_TO_PRODUCT_MAP)
- Sibling PR of the UOS Server 25 product: same ID=uos in os-release, so the
  desktop variant is distinguished by its PRETTY_NAME

Verified on a real UOS Desktop 25 Professional system (base-files 23.1-5deepin8,
x86_64, apt/dpkg, kernel 6.6.0-amd64-desktop, openscap 1.3.7):
- ./build_product uosdesktop25 -d builds the data stream without errors
- oscap xccdf eval --profile standard identifies the OS via the CPE check and
  evaluates 32 selected rules (10 pass, 6 real findings such as permissive
  umask, /etc/shadow group ownership and permissions, world-writable files;
  16 notapplicable rules scoped to server-only features)
@openshift-ci

openshift-ci Bot commented Sep 29, 2026

Copy link
Copy Markdown

Hi @slark-yuxj. Thanks for your PR.

I'm waiting for a ComplianceAsCode member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work.

Regular contributors should join the org to skip this step.

Once the patch is verified, the new status will be reflected by the ok-to-test label.

I understand the commands that are listed here.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

slark-yuxj added a commit to slark-yuxj/content that referenced this pull request Oct 8, 2026
Add a new product for UnionTech UOS Desktop 20 (codename eagle).

- products/uosdesktop20: product.yml with CPE
  cpe:/o:uniontech:uos_desktop:20:ga:desktop, CMakeLists.txt, and a
  Standard System Security profile
- shared/applicability/oval: OS inventory check matching the UOS
  Desktop 20 PRETTY_NAME in /usr/lib/os-release (the desktop variant is
  dpkg-based and has no uos-release package; os-release is owned by
  base-files)
- controls/std_uosdesktop20.yml: standard security benchmark control
  file with 29 automated controls (files/permissions, SSH hardening,
  auditd, PAM, password policies, AIDE, sysctl hardening)
- Register the product in CMakeLists.txt, build_product, and
  ssg/constants.py (product_directories, FULL_NAME_TO_PRODUCT_MAPPING,
  MULTI_PLATFORM_LIST, MULTI_PLATFORM_MAPPING, MAKEFILE_ID_TO_PRODUCT_MAP)
- Extend the existing debian/ubuntu conditional branches of the
  /etc/shadow and /etc/gshadow permission/group-owner rules with
  "uosdesktop" in product (and a filemode@uosdesktop20 override),
  because UOS Desktop 20 uses the shadow group (GID 42) and mode 0640
  like Debian/Ubuntu

Verified on a real UOS Desktop 20 Professional system (base-files
2024.07.04+dde, x86_64, apt/dpkg, openscap 1.2.3):

- ./build_product uosdesktop20 -d builds the data stream without errors
- oscap xccdf eval --profile standard identifies the OS via the
  PRETTY_NAME CPE check and evaluates 42 rules: 14 pass, 1 genuine
  finding (a world-writable file created by a third-party daemon),
  27 notapplicable

Single self-contained commit; sibling of ComplianceAsCode#15154 (UOS Desktop 25) and
ComplianceAsCode#15149 (UOS Server 25).

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

needs-ok-to-test Used by openshift-ci bot.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant