Из этой статьи вы узнаете, как создать пользователя в 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/passwdjohn:x:1001:1001::/home/alice:/bin/shДля этого необходимо открыть файл /etc/passwd, найти этого пользователя и изменить его UID и GID на 0:
$ grep john /etc/passwdjohn:x:0:0::/home/john:/bin/shЕсли вы только хотите добавить пользователя john в группу root, без предоставления ему всех привилегий пользователя root, выполните следующую команду:
$ sudo usermod -a -G root johnДельный Совет: Подключайтесь на удаленный Linux сервер без ввода пароля! Читать далее →
У вас не получится просто взять и удалить второй root аккаунт с еще одним UID 0 с помощью команды userdel:
$ sudo userdel johnuserdel: 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