Как дать права root пользователю Linux Ubuntu
В операционной системе Ubuntu пользователи, которые состоят в группе «sudo», могут выполнять задачи администратора, используя одноименную группе команду — sudo. Сегодня мы рассмотрим, как дать пользователю данную привелегию или же ее отозвать.
Как создать суперпользователя в Ubuntu
Создаем нового пользователя
Для того, чтобы создать нового пользователя воспользуемся командой adduser:
После ввода команды начнется процесс создания пользователя testuser и будет предложено задать для него пароль:
Создание нового пользователя ubuntu
Как мы помним — в консоли Linux пароли не отображаются при печати, даже в виде звездочек. Заполняем пароль и повторным его вводом подтверждаем корректность:
Подтверждаем правильность ввода пароля
После вышеописанных действий система предложит указать дополнительную информацию о пользователе. Данный пункт является необязательным и можно просто оставить все поля пустыми? после чего подтвердить операцию ввода, вписав y в поле ввода:
Заполняем дополнительную информацию о пользователе
Добавляем пользователя в группу sudo
Теперь, когда пользователь создан присоеденим его к группе суперпользователя — sudo:
Присоединяем пользователя Ubuntu к групе sudo
Осталось только проверить, что все прошло успешно. Переключим пользователя на testuser и попробуем выполнить команду whoami от имени суперпользователя:
Смена пользователя и проверка root
Чтобы переключить текущего пользователя обратно на своего — используем команду su имя_пользователя.
Как дать существующему пользователю привелегии суперюзера
Если необходимо добавить уже существующего пользователя в группу sudo нужно выполнить команду:
Как отзвать привелегии суперпользователя
Для того, чтобы сделать пользователя обычным — без прав выполнения команд от имени суперпользователя нужно удалить его из группы sudo. Сделать это можно с помощью следующей команды:
Удаление пользователя из группы sudo
Теперь можно убедиться, что пользователь более не может выполнять команды от имени root:
Проверяем отсутствие прав суперпользователя
Как мы можем видеть — система не позволяет пользователю использовать команду sudo.
При удалении пользователя из группы sudo следует быть внимательным, чтобы не удалить единственного администратора из системы.
Как : Создать ПОЛЬЗОВАТЕЛЯ с Правами ROOT в Linux
Из этой статьи, Вы узнаете как создать пользователя с правами root-а и как назначить привилегии root существующему пользователю, задав ID пользователя и группы.
Я также расскажу как удалить пользователя с привилегиями root-а (в частности с UID 0).
Должен предупредить, что крайне не рекомендуется давать обыкновенному пользователю полномочия root-а, и на production серверах, когда возникает необходимость в выполнении действий от имени супер-пользователя, лучше использовать команду sudo, вместо применения методов описанных ниже.
Внимание : Очень опасно давать все полномочия root-а обыкновенному пользователю, так-как этот пользователь получит право совершать абсолютно любые действия, что приведет к большим проблемам в случае кражи его учетной записи.
Создать USER Аккаунт с Правами ROOT
Допустим нам необходимо добавить нового пользователя и назначить ему привилегии root-а.
Используйте следующие команды для того, чтобы создать нового пользователя john, дать ему права root-а и задать пароль :
Мы только что создали пользователя john с UID 0 и GID 0, т.е. он входит в ту-же группу и имеет те-же права что и root.
Назначить Привилегии ROOT Существующему ПОЛЬЗОВАТЕЛЮ
Возможно у Вас уже есть какой-то пользователь john и Вы хотите дать права root-а обыкновенному пользователю.
Откройте файл /etc/passwd и назначьте привилегии root-а пользователю john, изменив ID пользователя и группы на UID 0 и GID 0 :
Удалить ПОЛЬЗОВАТЕЛЯ с UID 0
У Вас не получится просто взять и удалить второй root аккаунт с еще одним UID 0 с помощью команды userdel :
Теперь Вы сможете удалить пользователя john командой userdel :
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 .
Warning: Ознакомьтесь с комментариями под этой статьей и НЕ ВЫПОНЯЙТЕ ПРИВЕДЕННЫЕ НИЖЕ КОМАНДЫ без понимания того, что вы делаете и к каким последствиям это может привести!
Дать Root Права Новому Пользователю
Чтобы создать пользователя с абсолютно теми же правами что и пользователь root, мы должны назначить ему тот же ID пользователя, что у root ( UID 0 ) и тот же ID группы ( GID 0 ).
Используйте следующие команды, чтобы создать нового пользователя john , дать ему root права и установить пароль:
Дать Root Права Существующему Пользователю
Дельный Совет: Расставьте все точки над «i» в вопросах о правах доступа к файлам и папкам в Linux! Читать далее →
Допустим у вас уже есть какой-то пользователь john , которому вы хотите дать root права:
Для этого необходимо открыть файл /etc/passwd , найти этого пользователя и изменить его UID и GID на 0 :
Добавить Пользователя в Группу Root
Если вы только хотите добавить пользователя john в группу root, без предоставления ему всех привилегий пользователя root, выполните следующую команду:
Удалить Пользователя С Root Правами
Дельный Совет: Подключайтесь на удаленный Linux сервер без ввода пароля! Читать далее →
У вас не получится просто взять и удалить второй root аккаунт с еще одним UID 0 с помощью команды userdel :
Перед тем как удалять такого пользователя, необходимо в файле /etc/passwd изменить его UID 0 .
Теперь вы сможете удалить пользователя john командой userdel :
36 Replies to “Root Права — Как Дать Пользователю Права Root — Linux”
«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.
$ 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?)
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.
Права суперпользователя Linux
Как вы знаете, Linux очень серьезно относится к управлению пользователями и предоставлению им прав на работу с системой. Обычный пользователь может записывать файлы только в свой каталог и каталог /tmp/. Также есть возможность читать некоторые файлы в корневой файловой системе. Но вы не можете устанавливать программы, ведь для этого нужно право на запись, не можете изменять атрибуты файлов, не можете запускать сервисы, не можете читать некоторые файлы логов и еще много чего не можете.
В Linux управлять корневой файловой системой и создавать там файлы имеет право только пользователь root.
В этой статье мы рассмотрим какие программы нужны для того, чтобы получить права root пользователя linux, как они работают, как выполнять программу с правами root от обычного пользователя и как запускать графические программы с правами root. А также выясним что такое sudo в чем разница su или sudo.
Права суперпользователя в Linux
Очень долго перечислять чего не может обычный пользователь Linux, проще сказать на что у него есть право, а именно при стандартной настройке полномочий для файлов в Linux, обычный пользователь может:
- Читать, писать и изменять атрибуты файлов в своем каталоге
- Читать, писать, изменять атрибуты файлов в каталоге /tmp
- Выполнять программы там, где это не запрещено с помощью флага noexec
- Читать файлы, для которых установлен флаг чтения для всех пользователей.
Если же нужно сделать что-то большее нам понадобятся права root пользователя linux. У root есть право делать все в вашей файловой системе независимо от того какие права установлены на файл.
Вход под суперпользователем
Чтобы войти под пользователем root можно переключиться в одну из виртуальных консолей, например, с помощью сочетания клавиш Ctrl+Alt+F1 и затем ввести логин root и пароль root пользователя.
Вы получите полноценное окружение root с возможностью выполнять все действия, но такой способ очень непрактичный, так как вы теряете все преимущества использования графического интерфейса.
Можно поступить полностью противоположным путем, ввести логин root и его пароль в графическом менеджере входа, чтобы окружение рабочего стола работало от имени root, и мы получаем все права root linux, но такой вариант крайне не рекомендованный, и очень опасный, вы можете случайно повредить всю систему. Поэтому этот способ был отключен во многих менеджерах входа.
Переключение на суперпользователя в терминале
Теперь мы подошли к более интересному и практичному. С помощью специальных утилит вы можете переключить текущий эмулятор терминала в окружения суперпользователя и выполнять все следующие команды не от своего имени, а от его, таким образом, дав программе права root linux. Для этого существует утилита su. Вообще говоря, эта утилита позволяет не только переключаться на пользователя root но и на любого другого пользователя, но по умолчанию используется именно root. Рассмотрим ее подробнее. Команда su linux имеет следующий синтаксис:
$ su опции пользователь
Вот ее основные опции:
- -c, —command — выполнить команду
- -g, —group — установить основную группу пользователя (только для root)
- -G —supp-group — дополнительные группы пользователя (только для root)
- -, -l, —login — режим входа, будут очищены и инициализированы с учетом нового пользователя все переменные окружения, а также изменен домашний каталог
- -p, —preserve-environment — сохранить переменные окружения
- -s, —shell — задать оболочку для входа
- —version — отобразить версию программы.
Теперь немного поэкспериментируем, чтобы понять как работает команда su linux.
Сначала выполним su без параметров, но для начала создадим переменную окружения, чтобы проверить как с ними обходится эта команда:
Теперь смотрим что получилось:
whoami
$ pwd
$ echo $VAR
$ echo $PATH
$ exit
Из этих команд мы видим, что теперь мы пользователь root, но домашней директорией считается директория нашего предыдущего пользователя и наша переменная не сохранилась также изменилась переменная PATH, теперь там добавлен путь /sbin.
Теперь используем вход в режиме логина:
И повторим ту же комбинацию:
whoami
$ pwd
$ echo $VAR
$ echo $PATH
$ exit
Та же ситуация, только на этот раз изменена ко всему еще и домашняя директория на директорию root. Но мы можем сохранить наши переменные окружения, если это нужно, для этого есть опция -p:
Как видите, наша переменная осталась. Вы также можете переключится на любого другого пользователя. Например:
Получение прав суперпользователя таким способом используется во многих дистрибутивах, например, Debian, OpenSUSE, ArchLInux, Gentoo и т д. Но в Ubuntu, как дистрибутиве для начинающих вход под пользователем root отключен. Это сделано потому, что это тоже не очень безопасно, вы можете забыть что выполняете команду от root и что-то натворить в системе. Поэтому переходим к следующей программе.
Получение прав root без переключения
Чтобы реализовать максимально безопасный интерфейс для работы с правами суперпользователя в Linux была разработана команда sudo. Давайте рассмотрим что такое sudo. Эта команда пишется перед каждой командой, которую нужно выполнить от имени суперпользователя, и для ее выполнения нужно ввести пароль уже не root, а всего лишь вашего пользователя. Так же, как и в предыдущей, в этой утилиты есть свои опции. Сначала рассмотрим синтаксис:
$ sudo опции команда
- -b — выполнять запускаемую утилиту в фоне
- -E — сохранить переменные окружения
- -g — запустить команду от группы
- -H — использовать домашний каталог
- -l — показать список полномочий в sudo для текущего пользователя
- -r — использовать для команды роль SELinux
- -s — использовать оболочку
- -u — запустить команду от имени пользователя, если не задано используется root
- -i — не выполнять команду, а войти в оболочку, эквивалентно su —
Вы можете выполнить те же эксперименты, только для этой команды, чтобы понять как использовать команду sudo. Например:
Использование sudo — это рекомендованный способ выполнять команды от имени суперпользователя в Linux. Так вы не забудете с чем имеете дело и меньше всего рискуете повредить систему. Но остался еще один нерешенный вопрос — как быть с графическими утилитами? Ведь команда sudo их не запускает, а запускать графическую оболочку от имени root небезопасно. Это мы и рассмотрим далее.
Графически приложения от имени суперпользователя
Для запуска графических приложений от имени суперпользователя существуют специальные утилиты. Они сохраняют все необходимые переменные окружения и полномочия. В KDE это команда kdesu, а в Gnome команда gksu.
Просто наберите gksu или kdesu, а затем нужную команду:
Эта команда запустит файловый менеджер KDE с правами суперпользователя. В Gnome это будет выглядеть вот так:
Программа запросит пароль, уже в графическом окне, а потом откроется файловый менеджер.
Выводы
Вот и все. Теперь вы знаете как получить права суперпользователя в Linux, знаете как использовать команду sudo и в чем разница sudo или su. Теперь программы, требующие дополнительных привилегий в системе, не вызовут у вас проблем. Если остались вопросы, пишите в комментариях!













