Root Права — Как Дать Пользователю Права Root — Linux

Из этой статьи вы узнаете, как создать пользователя в 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 правами.

Чтобы создать пользователя с абсолютно теми же правами что и пользователь root, мы должны назначить ему тот же ID пользователя, что у root (UID 0) и тот же ID группы ( GID 0).

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

$ sudo useradd -ou 0 -g 0 john
$ sudo passwd john

Дать Root Права Существующему Пользователю

Дельный Совет: Расставьте все точки над «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

Добавить Пользователя в Группу Root

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

$ sudo usermod -a -G root john

Удалить Пользователя С Root Правами

Дельный Совет: Подключайтесь на удаленный 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

26 Replies to “Root Права — Как Дать Пользователю Права Root — Linux”

  1. «For this, it is required to edit the file /etc/passwd and just change UID and GID to 0»
    WRONG.
    Baaaad idea. Much regret. Undo, undo?!!

      1. ntfs@brix:~$ ssh 192.168.88.16 -l pi
        pi@192.168.88.16‘s password:
        Permission denied, please try again.
        pi@192.168.88.16‘s password:
        Permission denied, please try again.
        — — —
        Nice explanation?)

        1. Since noone elaborate how to undo this broken way of adding users, I will. The only way is to successful login to the linux machine, if you login via ssh or tty.
          If you add a user with uid 0 to group uid 0, and you set in sshd_config AllowRootLogin NO, you`re access will be denied. So you will have to login to the linux machine via tty (this is the only way if you don`t have a correctly added backup user on the linux machine). Via tty you can login with any of the users, even root.
          The correct way to add a user with root privileges is adding the user the normal way, useradd -m user, and then add privileges with visudo to the user.
          So if you have a backup user that haves root privileges in visudo. you will be able to login to the linux machine via ssh, and you will be able to change the uid and group to the «broken» user.
          I think this article explains more likely how to add a user with root privileges «the hacker way (which is a broken way)», and repair the broken way after.
          Also if you don`t have access to a tty console, and you want to test the commands of this article and be sure you did not broke something, STAY LOGGED in current session and open another one and test if all things are OK. If you can`t login in the new session, you still have opened the previous session and you can repair what have you broken.
          Hope it helps to repair further mistakes.

    1. Can I do with my Mi 8 SE

  2. It is prohibited to have to users with ID 0 in passwd file. Strange things then happens since linux messes users with the same ID.

  3. After lots of searching finally found what i was looking for. Thankyou for sharing the post.

  4. That is awesome article! you mentioned all required points not only how to create user. don’t stop blogging man!

  5. Do not use that F*ING decision, after i do that, my server did not accept any accesses

    1. I know this is old, but for other’s coming across this comment and have the same issue or to avoid having this issue..

      In the servers ssh_config, switch AllowRootLogin to Yes. However, do so with caution. Do everything involved with sudo and root access with caution. Do your research. Figure out what you want and need.

  6. Спасибо. Приятный сайт

  7. if using ssh authentication not working

    1. I know this is old blog, but for other’s coming across this comment and have the same issue or to avoid having this issue..

      In the servers ssh_config, switch AllowRootLogin to Yes. However, do so with caution. Do everything involved with sudo and root access with caution. Do your research. Figure out what you want and need.

      I posted this also as a reply to an older comment.

  8. «For this, it is required to edit the file /etc/passwd and just change UID and GID to 0»
    It’s a bad idea because after restart linux system you will not see user with UID 0 and GID 0 in log-in menu of linux. In this case you can log-in into linux just through the command-line. To get there from a log-in menu of linux is to push buttom combination Ctrl + Alt + F1.

    1. you are saying the correct but can u please share the way by using that i can delete the root user by using the second root that i had created as root.

  9. Just changed uid and guid to 0 in passwd, now i’m fucked up, thkx u… :\

  10. For those having issues with this make sure you have root login enabled prior to editing anything so your root accounts can log in and try running this when done so changes you made take affect.
    sudo service ssh restart

  11. it is very bad idea. Linux confused with two user with same Uid and will remove user permission also. very bad idea. don’t try this.

  12. The information here is incorrect and dangerous. Changing the user’s UID and GID in /etc/passwd has the potential to lock out the user from accessing anymore console commands and at worst may brick the computer. This information preys on developers looking for honest help from the CS community. It is not ok to leave misleading advice on a public forum like this. I advise that the blog admin take this down immediately.

  13. DO NOT DO THIS, you will lock yourself out of the machine. I was on an AWS EC2 instance and followed this. I had to terminate and spin up a new machine.

    1. I agree the article is bad way!!! Right now i am sitting and have error — sudo: unknown uid 1000: who are you?

      And what should i do?

      Thx so much, if you do not know exactly, do not write a post!

  14. You need to install linux first

  15. Guys, if you read that article and your machine was broken, do not worry, you can use safe mode in start machine, and just edit that file, and after rebooting everything will be nice 🙂

Добавить комментарий

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.