Skip to content

Commit c597281

Browse files
committed
create non-root users for cli containers
1 parent 1a3d02a commit c597281

4 files changed

Lines changed: 44 additions & 1 deletion

File tree

src/bci_build/package/git.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
from bci_build.os_version import ALL_NONBASE_OS_VERSIONS
55
from bci_build.os_version import CAN_BE_LATEST_OS_VERSION
66
from bci_build.package import ApplicationStackContainer
7+
from bci_build.package import StableUser
78
from bci_build.package.helpers import generate_from_image_tag
89
from bci_build.package.helpers import generate_package_version_check
910
from bci_build.package.versions import format_version
@@ -42,10 +43,18 @@
4243
package_list=[
4344
"git-core",
4445
"openssh-clients",
46+
"shadow"
4547
],
4648
build_stage_custom_end=generate_package_version_check(
4749
"git-core", git_version, ParseVersion.MINOR, use_target=True
4850
),
51+
user_chown=StableUser(
52+
user_id=1000,
53+
user_name="git",
54+
group_id=1000,
55+
group_name="git",
56+
user_create=True
57+
),
4958
)
5059
for os_version in ALL_NONBASE_OS_VERSIONS
5160
]

src/bci_build/package/helm.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
from bci_build.os_version import ALL_NONBASE_OS_VERSIONS
66
from bci_build.os_version import CAN_BE_LATEST_OS_VERSION
77
from bci_build.package import ApplicationStackContainer
8+
from bci_build.package import StableUser
89
from bci_build.package.helpers import generate_from_image_tag
910
from bci_build.package.helpers import generate_package_version_check
1011
from bci_build.package.versions import format_version
@@ -36,7 +37,15 @@
3637
package_list=[
3738
"ca-certificates-mozilla",
3839
"helm",
40+
"shadow",
3941
],
42+
user_chown=StableUser(
43+
user_id=1000,
44+
user_name="helm",
45+
group_id=1000,
46+
group_name="helm",
47+
user_create=True
48+
),
4049
replacements_via_service=[
4150
Replacement(
4251
regex_in_build_description="%%helm_version%%",

src/bci_build/package/kubectl.py

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
from bci_build.os_version import CAN_BE_LATEST_OS_VERSION
66
from bci_build.os_version import OsVersion
77
from bci_build.package import ApplicationStackContainer
8+
from bci_build.package import StableUser
89
from bci_build.package.helpers import generate_from_image_tag
910
from bci_build.replacement import Replacement
1011
from bci_build.util import ParseVersion
@@ -61,7 +62,14 @@ def _get_kubectl_stability_tag(version: str, os_version: OsVersion) -> str | Non
6162
parse_version=ParseVersion.PATCH,
6263
)
6364
],
64-
package_list=[f"kubernetes{ver}-client"],
65+
package_list=[f"kubernetes{ver}-client", "shadow"],
66+
user_chown=StableUser(
67+
user_id=1000,
68+
user_name="kubectl",
69+
group_id=1000,
70+
group_name="kubectl",
71+
user_create=True
72+
),
6573
entrypoint=["kubectl"],
6674
license="Apache-2.0",
6775
support_level=SupportLevel.L3,

src/bci_build/package/samba.py

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
from bci_build.package import DOCKERFILE_RUN
1010
from bci_build.package import ApplicationStackContainer
1111
from bci_build.package import OsVersion
12+
from bci_build.package import StableUser
1213
from bci_build.package.helpers import generate_from_image_tag
1314
from bci_build.package.helpers import generate_package_version_check
1415
from bci_build.package.versions import get_pkg_version
@@ -121,7 +122,15 @@
121122
license="GPL-3.0-or-later",
122123
package_list=[
123124
"samba-client",
125+
"shadow"
124126
],
127+
user_chown=StableUser(
128+
user_id=1000,
129+
user_name="smbc",
130+
group_id=1000,
131+
group_name="smbc",
132+
user_create=True
133+
),
125134
)
126135

127136
toolbox = ApplicationStackContainer(
@@ -149,9 +158,17 @@
149158
package_list=[
150159
"samba-client",
151160
"tdb-tools",
161+
"shadow",
152162
]
153163
# FIXME: unavailable on SLES
154164
+ (["samba-test"] if os_version.is_tumbleweed else []),
165+
user_chown=StableUser(
166+
user_id=1000,
167+
user_name="smbc",
168+
group_id=1000,
169+
group_name="smbc",
170+
user_create=True
171+
),
155172
)
156173

157174
SAMBA_SERVER_CONTAINERS.append(srv)

0 commit comments

Comments
 (0)