Дубликат root в Linux: UID 0, полный доступ и риски

Второй root

В Linux уровень доступа связан не с именем пользователя, а с его UID. У root он всегда равен UID=0. Если завести пользователя с таким же UID=0, система будет считать его root и даст ему все соответствующие права.

Добавим запись прямо в /etc/passwd. Открываем файл:

sudo vipw

В конец файла вписываем строку:

superadmin:x:0:0:Super Admin:/root:/bin/bash

Задаем пароль новому пользователю:

sudo passwd superadmin

Убеждаемся, что все работает:

id superadmin
#uid=0(root) gid=0(root) groups=0(root)

Вариант через useradd

useradd не дает напрямую указать UID=0, но можно сначала создать пользователя, а затем изменить запись:

sudo useradd -o -u 0 -g 0 -d /root -s /bin/bash superadmin
sudo passwd superadmin

Флаг -o включает возможность дублировать UID. Без него команда завершится ошибкой.

Если в системе используется sudo, проверьте, что новый пользователь также сможет его запускать. Через visudo добавьте строку в /etc/sudoers:

superadmin ALL=(ALL:ALL) ALL

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

Две учетные записи с UID=0 вдвое расширяют поверхность атаки. Контролируйте, кому и для чего выдаете такой доступ, и включайте аудит действий через auditd или аналоги.