Skip to content
This repository has been archived by the owner on Feb 7, 2024. It is now read-only.

Commit

Permalink
Modify user retrace
Browse files Browse the repository at this point in the history
Move home dir to /var/lib, add /etc/sub[gu]id entries

Signed-off-by: Michal Fabik <[email protected]>
  • Loading branch information
michalfabik committed Nov 7, 2019
1 parent f229cb3 commit 74ae6c7
Showing 1 changed file with 38 additions and 1 deletion.
39 changes: 38 additions & 1 deletion retrace-server.spec.in
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,7 @@ mkdir -p %{buildroot}%{_localstatedir}/cache/%{name}/download
mkdir -p %{buildroot}%{_localstatedir}/log/%{name}
mkdir -p %{buildroot}%{_localstatedir}/spool/%{name}
mkdir -p %{buildroot}%{_datadir}/%{name}
mkdir -p %{buildroot}%{_sharedstatedir}/retrace

%if 0%{?fedora} >= 29
%py_byte_compile %{__python3} %{buildroot}%{_datadir}/%{name}/plugins
Expand All @@ -99,7 +100,42 @@ rm -f %{buildroot}%{_infodir}/dir
#retrace uid/gid reserved in setup, rhbz #706012
%define retrace_gid_uid 174
getent group retrace > /dev/null || groupadd -f -g %{retrace_gid_uid} --system retrace
getent passwd retrace > /dev/null || useradd --system -g retrace -u %{retrace_gid_uid} -d %{_datadir}/%{name} -s /sbin/nologin retrace
getent passwd retrace > /dev/null || useradd --system -g retrace -u %{retrace_gid_uid} -b %{_sharedstatedir} -s /sbin/nologin retrace

SUB_UID_MIN=$(grep -s '^SUB_UID_MIN' /etc/login.defs | grep -o '[0-9]\+' || echo "100000")
SUB_UID_COUNT=$(grep -s '^SUB_UID_COUNT' /etc/login.defs | grep -o '[0-9]\+' || echo "65536")

SUB_GID_MIN=$(grep -s '^SUB_GID_MIN' /etc/login.defs | grep -o '[0-9]\+' || echo "100000")
SUB_GID_COUNT=$(grep -s '^SUB_GID_COUNT' /etc/login.defs | grep -o '[0-9]\+' || echo "65536")

if [ -f /etc/subuid ]; then
if ! grep -q '^retrace:' /etc/subuid; then
LAST_SUBUID=$(cut -f 2-3 -d ':' /etc/subuid \
| sort -n \
| tail -n 1)
LAST_SUBUID_CNT=$(echo "$LAST_SUBUID" | cut -f 2 -d ':')
LAST_SUBUID=$(echo "$LAST_SUBUID" | cut -f 1 -d ':')
RETRACE_SUBUID_ENTRY=retrace:$((LAST_SUBUID+LAST_SUBUID_CNT+1)):$SUB_UID_COUNT
echo $RETRACE_SUBUID_ENTRY >> /etc/subuid
fi
else
RETRACE_SUBUID_ENTRY=retrace:$SUB_UID_MIN:$SUB_UID_COUNT
echo $RETRACE_SUBUID_ENTRY >> /etc/subuid
fi
if [ -f /etc/subgid ]; then
if ! grep -q '^retrace:' /etc/subgid; then
LAST_SUBGID=$(cut -f 2-3 -d ':' /etc/subgid \
| sort -n \
| tail -n 1)
LAST_SUBGID_CNT=$(echo "$LAST_SUBGID" | cut -f 2 -d ':')
LAST_SUBGID=$(echo "$LAST_SUBGID" | cut -f 1 -d ':')
RETRACE_SUBGID_ENTRY=retrace:$((LAST_SUBUID+LAST_SUBGID_CNT+1)):$SUB_GID_COUNT
echo $RETRACE_SUBGID_ENTRY >> /etc/subgid
fi
else
RETRACE_SUBGID_ENTRY=retrace:$SUB_GID_MIN:$SUB_GID_COUNT
echo $RETRACE_SUBGID_ENTRY >> /etc/subgid
fi
exit 0

%post
Expand Down Expand Up @@ -144,6 +180,7 @@ fi
%dir %attr(0755,retrace,retrace) %{_localstatedir}/cache/%{name}/download
%dir %attr(0750,retrace,retrace) %{_localstatedir}/log/%{name}
%dir %attr(0770,retrace,retrace) %{_localstatedir}/spool/%{name}
%dir %attr(0700,retrace,retrace) %{_sharedstatedir}/retrace
%{_bindir}/%{name}-worker
%{_bindir}/%{name}-interact
%{_bindir}/%{name}-cleanup
Expand Down

0 comments on commit 74ae6c7

Please sign in to comment.