using sysusers.d

This commit is contained in:
Devaev Maxim 2019-07-19 04:10:30 +03:00
parent ad83678eb3
commit efbedb222d
3 changed files with 23 additions and 33 deletions

View File

@ -65,6 +65,9 @@ package_kvmd() {
mkdir -p "$pkgdir/usr/lib/systemd/system"
cp configs/os/systemd/*.service "$pkgdir/usr/lib/systemd/system"
mkdir -p "$pkgdir/usr/lib/sysusers.d"
cp configs/os/sysusers.conf "$pkgdir/usr/lib/sysusers.d/kvmd.conf"
mkdir -p "$pkgdir/usr/lib/tmpfiles.d"
cp configs/os/tmpfiles.conf "$pkgdir/usr/lib/tmpfiles.d/kvmd.conf"
@ -106,9 +109,9 @@ for _platform in $PIKVM_PLATFORM; do
local _cfg_default=\"/usr/share/kvmd/configs.default\"
ln -sf \"\$_cfg_default/os/sysctl.conf\" \"\$pkgdir/etc/sysctl.d/99-pikvm.conf\"
ln -sf \"\$_cfg_default/os/udev/$_platform-$_board.rules\" \"\$pkgdir/etc/udev/rules.d/99-pikvm.rules\"
ln -sf \"\$_cfg_default/os/modules-load/$_platform.conf\" \"\$pkgdir/etc/modules-load.d/pikvm.conf\"
ln -sf \"\$_cfg_default/os/sysctl.conf\" \"\$pkgdir/etc/sysctl.d/99-kvmd.conf\"
ln -sf \"\$_cfg_default/os/udev/$_platform-$_board.rules\" \"\$pkgdir/etc/udev/rules.d/99-kvmd.rules\"
ln -sf \"\$_cfg_default/os/modules-load/$_platform.conf\" \"\$pkgdir/etc/modules-load.d/kvmd.conf\"
ln -sf \"\$_cfg_default/kvmd/main/$_platform.yaml\" \"\$pkgdir/etc/kvmd/main.yaml\"
if [ $_platform == v1-hdmi ]; then

15
configs/os/sysusers.conf Normal file
View File

@ -0,0 +1,15 @@
g kvmd - -
g kvmd-ipmi - -
g kvmd-nginx - -
u kvmd - "Pi-KVM - The main daemon" -
u kvmd-ipmi - "Pi-KVM - IPMI to KVMD proxy" -
u kvmd-nginx - "Pi-KVM - HTTP entrypoint" -
m kvmd gpio
m kvmd uucp
m kvmd systemd-journal
m kvmd-ipmi kvmd
m kvmd-nginx kvmd

View File

@ -6,38 +6,10 @@ post_install() {
}
post_upgrade() {
echo "==> Configuring KVMD users and groups ..."
_create_user kvmd "Pi-KVM - The main daemon"
_add_user_to_group kvmd gpio
_add_user_to_group kvmd uucp
_add_user_to_group kvmd systemd-journal
_create_user kvmd-ipmi "Pi-KVM - IPMI to KVMD proxy"
_add_user_to_group kvmd-ipmi kvmd
_create_user kvmd-nginx "Pi-KVM - HTTP entrypoint"
_add_user_to_group kvmd-nginx kvmd
echo "==> Ensuring KVMD users and groups ..."
systemd-sysusers /usr/lib/sysusers.d/kvmd.conf
chown kvmd:kvmd /etc/kvmd/htpasswd
chown kvmd-ipmi:kvmd-ipmi /etc/kvmd/ipmipasswd
chmod 600 /etc/kvmd/*passwd
}
post_remove() {
_delete_user kvmd-nginx
_delete_user kvmd-ipmi
_delete_user kvmd
}
_create_user() {
id "$1" &>/dev/null || useradd -r -c "$2" -s /sbin/nologin "$1"
}
_delete_user() {
userdel "$1" &>/dev/null
}
_add_user_to_group() {
(groupmems -l -g "$2" | grep "$1" >/dev/null) || groupmems -g "$2" -a "$1"
}