Szerintem nem helyes az algoritmus. Ha van egy "User=invalid_user", akkor ott a unit fájl hibás és nem szabad a service-t elindítani. Loggolni kell és nem csinálni semmit. Az lényegtelen, hogy az invalid_user azért invalid, mert egy valid usernév és nem létezik, vagy egy invalid usernév.
Halkan kérdezem meg: ha kap egy akármilyen usernevet, miért nem ellenőrzi, hogy létezik-e a user a rendszeren, ha nem, akkor loggol, és nem indítja az adott szervízt. Így nem kell okoskodnia, hogy "vajon számmal kezdődhet-e user?" Meg nincs a fenti megengedő / szigorú usernév dilemma sem.
De a legnagyobb gond, ami miatt agyrém ez az egész ügy (és még hány ilyen lehet az egész systemd-ben!), hogy nem állhatsz úgy neki az init rendszernek, hogy ha valami gond van, majd fallbackelek akármilyen userre, mert "hátha úgyis jó lesz".
Ugyanez van a parseolásnál. Egyértelműen hibás az a koncepció, hogy a unit fájlokban nem áll meg hibával, ha olyan stringet talál, amit nem ért. Pont a User-nél kijön az, hogy a default működés (root-ként futtatás) az megengedőbb, mint amit a unit fájl írója akar (megadott User-ként futtatás). Ez bármely más konfig értéknél is előfordulhat, és szervíztől függően még nagyobb galibát okozhat.