Из этой статьи вы узнаете, как создать пользователя в Linux с правами root и как дать привилегии root уже существующему пользователю.
Это можно легко сделать, изменив UID
(id пользователя) и GID
(id группы) в файле /etc/passwd
.
Также вы узнаете, как добавить пользователя в группу root и как удалить пользователя с root правами.
Должен предупредить, что это плохая идея давать обычному пользователю root полномочия и иметь несколько суперпользователей вне тестового окружения крайне не рекомендуется.
Внимание: Давать root права другому пользователю очень опасно, так как этот пользователь получает возможность делать абсолютно все, что в свою очередь может доставить немало неприятностей, если его аккаунт будет взломан.
Проверьте Настройки SSH Сервера: Если вы запретили пользователю root подключаться по SSH, установив PermitRootLogin no
в /etc/ssh/sshd_config
— вы не сможете зайти на сервер, если у вашего пользователя будет UID 0
.
Допустим вам необходимо создать нового пользователя и дать ему доступ на сервер с root правами.
Чтобы создать пользователя с абсолютно теми же правами что и пользователь root, мы должны назначить ему тот же ID пользователя, что у root (UID 0
) и тот же ID группы ( GID 0
).
Используйте следующие команды, чтобы создать нового пользователя john
, дать ему root права и установить пароль:
$ sudo useradd -ou 0 -g 0 john
$ sudo passwd john
Дельный Совет: Расставьте все точки над «i» в вопросах о правах доступа к файлам и папкам в Linux! Читать далее →
Допустим у вас уже есть какой-то пользователь john
, которому вы хотите дать root права:
$ grep john /etc/passwd
john:x:1001:1001::/home/alice:/bin/sh
Для этого необходимо открыть файл /etc/passwd
, найти этого пользователя и изменить его UID
и GID
на 0
:
$ grep john /etc/passwd
john:x:0:0::/home/john:/bin/sh
Если вы только хотите добавить пользователя john
в группу root, без предоставления ему всех привилегий пользователя root, выполните следующую команду:
$ sudo usermod -a -G root john
Дельный Совет: Подключайтесь на удаленный Linux сервер без ввода пароля! Читать далее →
У вас не получится просто взять и удалить второй root аккаунт с еще одним UID 0
с помощью команды userdel
:
$ sudo userdel john
userdel: user john is currently used by process 1
Перед тем как удалять такого пользователя, необходимо в файле /etc/passwd
изменить его UID 0
.
Например, измените:
john:x:0:0::/home/john:/bin/sh
на что-то вроде:
john:x:1111:0::/home/john:/bin/sh
Теперь вы сможете удалить пользователя john
командой userdel
:
$ sudo userdel john