Как выдать пользователю root права ubuntu

Как выдать пользователю root права ubuntu Техника

В Ubuntu-системе, да и в принципе, в любой другой Linux-системе, обязательно есть один привилегированный пользователь — root

sudo — утилита, которая дает привилегии root для выполнения административных операций.

Простым языком команда sudo позволяет пользователям Ubuntu выполнять команды от имени суперпользователя root, либо других пользователей.

sudo adduser *имя_пользователя*

При создании пользователя будет предложено ввести пароль и другие необязательные данные (Имя, Номер комнаты, Телефон и тд), указываем их по своему желанию.

Как выдать пользователю root права ubuntu

Политика дистрибутива Ubuntu нацелена на то, что все действия, требующих административных привилегий надо выполнять с помощью команды sudo. Использовать root пользователя как основного для новичков опасно, поскольку они ещё плохо ориентируются в системе и могут забыть, что они вошли как root и удалить что-то важное.

su - root

Как выдать пользователю root права ubuntu

sudo su - root

Как выдать пользователю root права ubuntu

Также можно использовать опцию -i команды sudo чтобы открыть консоль от имени суперпользователя:

Как выдать пользователю root права ubuntu

Однако, если вы хотите авторизоваться от имени этого пользователя в виртуальной консоли или по SSH, то вам надо сначала задать для него пароль. Для этого выполните:

sudo passwd root

Как выдать пользователю root права ubuntu

Но если вам всё же очень хочется, надо немного настроить правила PAM для GDM. Для этого откройте файл /etc/pam.d/gdm-password и закомментируйте там строчку:

sudo vi /etc/pam.d/gdm-password 

Как выдать пользователю root права ubuntu

Как выдать пользователю root права ubuntu

Перед вами откроется оболочка, запущенная от имени суперпользователя:

Как выдать пользователю root права ubuntu

Это очень небезопасно, потому что любая программа может делать с вашим компьютером всё, что захочет и никто её не остановит. Фактически, первые версии Windows тоже работали в таком режиме и поэтому они были очень уязвимы к вирусам.

Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.

Об авторе

Как выдать пользователю root права ubuntu

Основатель и администратор сайта losst.ru, увлекаюсь открытым программным обеспечением и операционной системой Linux. В качестве основной ОС сейчас использую Ubuntu. Кроме Linux, интересуюсь всем, что связано с информационными технологиями и современной наукой.

Как вы знаете, Linux очень серьезно относится к управлению пользователями и предоставлению им прав на работу с системой. Обычный пользователь может записывать файлы только в свой каталог и каталог /tmp/. Также есть возможность читать некоторые файлы в корневой файловой системе. Но вы не можете устанавливать программы, ведь для этого нужно право на запись, не можете изменять атрибуты файлов, не можете запускать сервисы, не можете читать некоторые файлы логов и еще много чего не можете.

Дополнительно:  Как на android проверить есть ли root права на android

В Linux управлять корневой файловой системой и создавать там файлы имеет право только пользователь root.

В этой статье мы рассмотрим какие программы нужны для того, чтобы получить права root пользователя linux, как они работают, как выполнять программу с правами root от обычного пользователя и как запускать графические программы с правами root. А также выясним что такое sudo в чем разница su или sudo.

Очень долго перечислять чего не может обычный пользователь Linux, проще сказать на что у него есть право, а именно при стандартной настройке полномочий для файлов в Linux, обычный пользователь может:

  • Читать, писать и изменять атрибуты файлов в своем каталоге
  • Читать, писать, изменять атрибуты файлов в каталоге /tmp
  • Выполнять программы там, где это не запрещено с помощью флага noexec
  • Читать файлы, для которых установлен флаг чтения для всех пользователей.

Если же нужно сделать что-то большее нам понадобятся права root пользователя linux. У root есть право делать все в вашей файловой системе независимо от того какие права установлены на файл.

В процессе работы у пользователя часто возникает задача выполнить команду с иными привилегиями. Например, когда он желает установить новую программу, обновить систему, настроить сетевой экран и др. В этом случае ему приходит на помощь команда su в Linux.

Данная команда заменяет пользователя оболочки shell на указанного. Фактически происходит запуск нового экземпляра оболочки с указанными параметрами. Благодаря этому возможно, не выходя из системы, совершенно безболезненно повышать возможности управления операционной системой или наоборот ограничивать их.

Команда имеет следующий синтаксис:

Если вызов команды происходит без аргументов, то происходит смена пользователя оболочки shell на суперпользователя root. Программа выдаст приглашение ввода пароля, если пароль будет верным, то текущим пользователем станет root.

  • options — некоторые дополнительные возможности команды. Мы их рассмотрим ниже:
  • [-] — смена контекста выполнения оболочки на контекст указанного пользователя. Переменные $PATH, $HOME, $SHELL, $USER, $LOGNAME содержат значения, характерные для указанного пользователя. Домашняя папка пользователя меняется на другую.
  • user — имя пользователя, под которым продолжит работать командная оболочка.

Основные опции команды su:

  • -c, —command=command — запускает приложение под указанным аккаунтом;
  • -s, —shell=shell — происходит запуск для заданного пользователя указанной оболочки;
  • -, -l, —login — смена контекста выполнения на контекст заданного пользователя, аналогична смене пользователя системы для shell;
  • -g, —group=group — вызов пользователя, состоящего в заданной группе. Используется только для пользователя root;
  • -h, —help — вызов справки для команды.
Дополнительно:  Установка twrp без компьютера и без root

Далее давайте рассмотрим примеры работы с утилитой su.

Примеры использования su

Смена пользователя на суперпользователя root, без смены окружения оболочки:

Как выдать пользователю root права ubuntu

Обратите внимание, что здесь вам нужно набрать пароль не своего пользователя, а именно того, от имени которого вы хотите авторизоваться. В данном случае, пользователя root. Если вы получаете ошибку сбой при проверке подлинности su linux, то это может означать, что либо вы ввели пароль неверно, либо пароль для этого пользователя не задан. Такое можно встретить у пользователя root в Ubuntu и Linux Mint. Информацию о том как установить пароль вы можете найти в этой статье. Смена пользователя на суперпользователя root со сменой параметров окружения оболочки:

Как выдать пользователю root права ubuntu

Как выдать пользователю root права ubuntu

Как выдать пользователю root права ubuntu

Как выдать пользователю root права ubuntu

Как выдать пользователю root права ubuntu

Как выдать пользователю root права ubuntu

Как выдать пользователю root права ubuntu

Как выдать пользователю root права ubuntu

Просмотр содержимого директории boot суперпользователем root:

su -c ‘ls /boot’

Как выдать пользователю root права ubuntu

Чтобы выйти из оболочки, открытой командой su можно использовать встроенную команду exit или сочетание клавиш Ctrl+d.

Как выдать пользователю root права ubuntu

Выводы

Сегодня вы узнали что из себя представляет команда su linux, которая позволяет запустить оболочку от имени другого пользователя, как со сменой окружения, так и без. Узнали как выйти из этой оболочки.

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

Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.

Об авторе

Как выдать пользователю root права ubuntu

Имею высшее образование в сфере компьютеров. Немного разбираюсь в свободном ПО. Занимаюсь в свободное время ремонтом техники. Являюсь счастливым обладателем 3D принтера. Считаю самообразование очень важным для сегодняшнего времени.

Переключение на суперпользователя в терминале

Теперь мы подошли к более интересному и практичному. С помощью специальных утилит вы можете переключить текущий эмулятор терминала в окружения суперпользователя и выполнять все следующие команды не от своего имени, а от его, таким образом, дав программе права root linux. Для этого существует утилита su. Вообще говоря, эта утилита позволяет не только переключаться на пользователя root но и на любого другого пользователя, но по умолчанию используется именно root. Рассмотрим ее подробнее. Команда su linux имеет следующий синтаксис:

Дополнительно:  Samsung Galaxy A30 SM-A305F

Вот ее основные опции:

  • -c, —command — выполнить команду
  • -g, —group — установить основную группу пользователя (только для root)
  • -G —supp-group — дополнительные группы пользователя (только для root)
  • -, -l, —login — режим входа, будут очищены и инициализированы с учетом нового пользователя все переменные окружения, а также изменен домашний каталог
  • -p, —preserve-environment — сохранить переменные окружения
  • -s, —shell — задать оболочку для входа
  • —version — отобразить версию программы.

Теперь немного поэкспериментируем, чтобы понять как работает команда su linux.

Сначала выполним su без параметров, но для начала создадим переменную окружения, чтобы проверить как с ними обходится эта команда:

Теперь смотрим что получилось:

sudo

Из этих команд мы видим, что теперь мы пользователь root, но домашней директорией считается директория нашего предыдущего пользователя и наша переменная не сохранилась также изменилась переменная PATH, теперь там добавлен путь /sbin.

И повторим ту же комбинацию:

sudo1

Та же ситуация, только на этот раз изменена ко всему еще и домашняя директория на директорию root. Но мы можем сохранить наши переменные окружения, если это нужно, для этого есть опция -p:

sudo2

Как видите, наша переменная осталась. Вы также можете переключится на любого другого пользователя. Например:

su - test

sudo3

Более подробно о команде su вы можете почитать в отдельной статье. Получение прав суперпользователя таким способом используется во многих дистрибутивах, например, Debian, OpenSUSE, ArchLInux, Gentoo и т д. Но в Ubuntu, как дистрибутиве для начинающих вход под пользователем root отключен. Это сделано потому, что это тоже не очень безопасно, вы можете забыть что выполняете команду от root и что-то натворить в системе. Поэтому переходим к следующей программе.

Графически приложения от имени суперпользователя

Для запуска графических приложений от имени суперпользователя существуют специальные утилиты. Они сохраняют все необходимые переменные окружения и полномочия. В KDE это команда kdesu, а в Gnome команда gksu.

Просто наберите gksu или kdesu, а затем нужную команду:

Эта команда запустит файловый менеджер KDE с правами суперпользователя. В Gnome это будет выглядеть вот так:

Программа запросит пароль, уже в графическом окне, а потом откроется файловый менеджер.

Adding a sudo Account in CentOS

Considering CentOS’s popularity, it would be a shame to miss out on the process of adding a sudo account in this distro. The process for adding a sudo account in CentOS is quite similar to the process specified above for Arch Linux, but with a few basic changes.

 su 
 useradd -G wheel username 
 passwd username 
 su username
sudo whoami
Verify sudo access - CentOS

Adding a Superuser on Ubuntu and Debian

1. The Command-Line Approach

 sudo adduser username 
Sudo-adduser-Ubuntu
 sudo usermod -aG sudo username 
 groups username 
 sudo adduser username sudo 

The verification process remains the same as before.

2. Using the Graphical Interface

  1. Go to the Applications menu and click on the Users option. You will see a list of users including the newly created user(s).
    GUI user add

  2. Click on the Unlock option, followed by the root password. You can switch to another user account by simply clicking it.
    Add-user-via-GUI

  3. As soon as you select it, you will see an option to convert the newly created user account into an administrator account. Toggle the button next to the Administrator label, and the account will get added as a sudo account.

Вход под суперпользователем

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

Тестирование пользователя Sudo

su - *имя_пользователя*

Как выдать пользователю root права ubuntu

Данное уведомление в терминале будет означает, что пользователь находится в группе sudo.

Теперь можно запустить команду с sudo для нового пользователя и проверить, сработает ли она. Давайте создадим каталог «papka» внутри папки «/etc» (только root-пользователь имеет право вносить изменения в данной папке, поэтому потребуется sudo доступ). Итак, вводим команду на создание нового каталога:

sudo mkdir /etc/papka

При запросе пароля, вводим его. Проверяем созданную папку командой «ls».

Как выдать пользователю root права ubuntu

Либо переходим в «etc» через проводник Ubuntu.

Как выдать пользователю root права ubuntu

Отлично! Как мы видим через «ls» или проводник, каталог «papka» успешно создан в «etc».

Creating a New Superuser on Arch Linux

 su 
 pacman -Sy sudo 
 useradd --create-home username 
 passwd username 
 usermod --append --groups wheel username 
 visudo  
 #%wheel ALL=(ALL) ALL 
Edit wheel group - Arch linux

Remove the # symbol preceding the %wheel line and save the changes. Press Ctrl + O on the keyboard to save the file.

 su username 
 whoami 
 sudo whoami 

Получение прав root без переключения

Чтобы реализовать максимально безопасный интерфейс для работы с правами суперпользователя в Linux была разработана команда sudo. Давайте рассмотрим что такое sudo. Эта команда пишется перед каждой командой, которую нужно выполнить от имени суперпользователя, и для ее выполнения нужно ввести пароль уже не root, а всего лишь вашего пользователя. Так же, как и в предыдущей, в этой утилиты есть свои опции. Сначала рассмотрим синтаксис:

  • -b — выполнять запускаемую утилиту в фоне
  • -E — сохранить переменные окружения
  • -g — запустить команду от группы
  • -H — использовать домашний каталог
  • -l — показать список полномочий в sudo для текущего пользователя
  • -r — использовать для команды роль SELinux
  • -s — использовать оболочку
  • -u — запустить команду от имени пользователя, если не задано используется root
  • -i — не выполнять команду, а войти в оболочку, эквивалентно su —

Вы можете выполнить те же эксперименты, только для этой команды, чтобы понять как использовать команду sudo. Например:

sudo -u test ls

Использование sudo — это рекомендованный способ выполнять команды от имени суперпользователя в Linux. Так вы не забудете с чем имеете дело и меньше всего рискуете повредить систему. Более подробно о команде sudo читайте здесь. Но остался еще один нерешенный вопрос — как быть с графическими утилитами? Ведь команда sudo их не запускает, а запускать графическую оболочку от имени root небезопасно. Это мы и рассмотрим далее.

Добавляем пользователя в группу Sudo

Следующим шагом является добавление созданного пользователя в группу sudo, которая выдаст пользователю все привилегии sudo:

sudo adduser *имя_пользователя* sudo 

При успешном добавлении в группу Sudo получим уведомление в терминале Ubuntu: «Добавление пользователя *имя* в группу sudo. Готово.».

Как выдать пользователю root права ubuntu

Отлично! Пользователь добавлен в группу sudo, теперь проверим, есть ли у него привилегии sudo.

How to Add a Superuser in Fedora

 adduser username 
 passwd username 
 usermod -aG wheel username 
usermod command in fedora
 visudo 
 ## Uncomment to allow members of group wheel to execute any command
%wheel ALL=(ALL) ALL
Visudo command - Fedora

Выводы

Вот и все. Теперь вы знаете как получить права суперпользователя в Linux, знаете как использовать команду sudo и в чем разница sudo или su. Теперь программы, требующие дополнительных привилегий в системе, не вызовут у вас проблем. Если остались вопросы, пишите в комментариях!

Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.

Оцените статью
Master Hi-technology
Добавить комментарий