Интересная история об ошибке, которую Леннарт Поттеринг ошибкой не счёл и соответствующий баг закрыл.



Было обнаружено, что если любой сервис в системе запустить от пользователя, имя которого начинается с цифры, то процесс будет запущен с правами того UID, который этой цифре соответствует. Что бы было проще для понимания - если кто-то по незнанию, создаст в системе пользователя 0lolosha или 0day, и запустит сервис от его имени (пропишет соответствующее в .service файле), то сервис этот будет запущен с правами root.



Сам Леннарт придерживается позиции, что в Linux имена пользователей, начинающиеся с цифры не корректны в принципе, так что описанное выше поведение - это не ошибка и не уязвимость.



Я в данном случае, остаюсь на стороне тех, кто считает, что проблема имеет место, и разработчикам стоит хотя бы ограничить её воспроизведение. Например, не запускать сервис, а выводить ошибку, если имя пользователя, от которого запускается сервис, начинается с цифры.



Всем заинтересовавшимся, с подробностями рекомендую ознакомиться здесь https://github.com/systemd/systemd/issues/6237



А всем начинающим администраторам хочу напомнить, что при создании пользователя, первым символом в логине обязательно должна быть латинская буква. Не стреляйте себе в ногу, не начинайте имена пользователей с циферки.



#systemd #security