On Mon, Feb 12, 2024 at 5:37 PM Antony Jose <anto...@gmail.com> wrote:
> Thanks Viktor for the response. Appreciate it. > I have provided an attachment with the details. Dockerfile, kubectl error > log and security context construct has been provided. > > I am using sles15 bci as base os. Do we need add 389 user in Dockerfile? > Please let me know if you want any further information. > The error: KeyError: 'getpwuid(): uid not found: 389' indicates that there is no 389 uid found inside the container. When the 389-ds package is installed, dirsrv user is created by using systemd-sysusers configuration. In Fedora/RHEL it has a preference for 389 uid/gid: https://src.fedoraproject.org/rpms/389-ds-base/blob/rawhide/f/389-ds-base.sysusers But in SUSE it has no preference and takes the first available uid/gid: https://build.opensuse.org/package/view_file/network:ldap/389-ds/dirsrv-user.conf?expand=1 a28855ee79c7:/ # cat /etc/passwd root:x:0:0:root:/root:/bin/bash dirsrv:x:499:486:User for 389 directory server:/var/lib/dirsrv:/sbin/nologin So in your case dirsrv user has 499 as the uid and 486 as gid. I don't know how stable these mappings are. And securityContext accepts these values as int64 only, so it's not possible to specify 'dirsrv' user: https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#security-context You can add dirsrv user and group with 389 uid/gid before installing 389-ds. And then use 389 as runAsUser and fsGroup values. HTH > > > > On Mon, Feb 12, 2024 at 9:38 PM Viktor Ashirov <vashi...@redhat.com> > wrote: > >> Hi Antony, >> >> On Mon, Feb 12, 2024 at 3:37 PM Mark Reynolds <marey...@redhat.com> >> wrote: >> >>> Forwarding to the correct list.... >>> >>> >>> -------- Forwarded Message -------- >>> Subject: dscontainer as non root >>> Date: Mon, 12 Feb 2024 20:01:09 +0530 >>> From: Antony Jose <anto...@gmail.com> <anto...@gmail.com> >>> To: 389-users-ow...@lists.fedoraproject.org >>> >>> Hi, >>> Can we run dscontainer as non root process. I have deployed >>> dscontainer on k8s cluster as root user. However running as root user is >>> not the best security practice. Is there a tested way we can reliably run >>> ds389 as non root user. I tried tweaking security policies to use a non >>> root user. However, I get errors during dscontainer start up. >>> >> dscontainer certainly can run as non-root user, in the doc that you >> linked there is a securityContext section with runAsUser and fsGroup values >> that are set to 389, which is dirsrv user. >> >> Can you share errors that you get? >> Thanks. >> >> >>> >>> Took inspiration from this doc >>> https://www.port389.org/docs/389ds/howto/howto-deploy-389ds-on-openshift.html >>> >>> >>> Regards >>> Antony >>> -- >>> _______________________________________________ >>> 389-users mailing list -- 389-users@lists.fedoraproject.org >>> To unsubscribe send an email to 389-users-le...@lists.fedoraproject.org >>> Fedora Code of Conduct: >>> https://docs.fedoraproject.org/en-US/project/code-of-conduct/ >>> List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines >>> List Archives: >>> https://lists.fedoraproject.org/archives/list/389-users@lists.fedoraproject.org >>> Do not reply to spam, report it: >>> https://pagure.io/fedora-infrastructure/new_issue >>> >> >> >> -- >> Viktor >> > -- Viktor
-- _______________________________________________ 389-users mailing list -- 389-users@lists.fedoraproject.org To unsubscribe send an email to 389-users-le...@lists.fedoraproject.org Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/389-users@lists.fedoraproject.org Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue