Implement libnss-extrausers

This commit is contained in:
Dennis ten Hoove 2023-10-26 18:10:48 +00:00
parent 666783adb9
commit 8db3827dd8
3 changed files with 46 additions and 1 deletions

View file

@ -150,7 +150,7 @@ if [[ $type == 'archlinux' ]]; then
btrfs subvolume delete $workdir/var/lib/machines
# Make /usr/local symlink in var
printf "\e[1;34m-->\e[0m\e[1m Creating moving dirs to var and creating symlinks\e[0m\n"
printf "\e[1;34m-->\e[0m\e[1m Moving dirs to var and creating symlinks\e[0m\n"
mv $workdir/usr/local $workdir/var/usrlocal || cleanup_and_quit 'Failed to move usr/local to var/usrlocal'
ln -sv var/usrlocal $workdir/usr/local || cleanup_and_quit 'Failed to create usrlocal symlink'
@ -174,6 +174,31 @@ if [[ $type == 'archlinux' ]]; then
mv $workdir/mnt $workdir/var/mnt || cleanup_and_quit 'Failed to move mnt to var/mnt'
ln -sv var/mnt $workdir/mnt || cleanup_and_quit 'Failed to create mnt symlink'
printf "\e[1;34m-->\e[0m\e[1m Moving passwd, shadow and group files to lib\e[0m\n"
# Create second passwd, group and shadow file in usr/lib and configure
for file in passwd group shadow; do
grep -v "^root:" $workdir/etc/$file > $workdir/usr/lib/$file
done
# Remove all users except for root, is typically overwritten by user overlay but
# may be used during os installation as a template
for file in passwd group shadow; do
grep "^root:" $workdir/etc/$file > $workdir/etc/$file-tmp
mv $workdir/etc/$file-tmp $workdir/etc/$file
done
# Ensure passwd/group/shadow permissions are set properly
chmod 600 $workdir/etc/shadow
chmod 644 $workdir/etc/{passwd,group}
#
# nss-switch.conf is added using the overlay
#
# Remove passwd/group/shadow backup files
rm $workdir/etc/{passwd-,shadow-,group-}
# Make subvolume read-only
printf "\e[1;34m-->\e[0m\e[1m Adding read-only property to subvolumes\e[0m\n"
btrfs property set -ts $workdir ro true || cleanup_and_quit 'Failed to set root to read-only'

View file

@ -0,0 +1,19 @@
# Name Service Switch configuration file.
# See nsswitch.conf(5) for details.
passwd: files systemd extrausers
group: files [SUCCESS=merge] systemd extrausers
shadow: files systemd extrausers
gshadow: files systemd
publickey: files
hosts: mymachines resolve [!UNAVAIL=return] files myhostname dns
networks: files
protocols: files
services: files
ethers: files
rpc: files
netgroup: files

View file

@ -48,6 +48,7 @@ gst-plugin-pipewire
gst-plugins-base
gst-plugins-good
ibus-typing-booster
libnss-extrausers
libva-mesa-driver
loupe
man-db