Как добавить пользователя c привилегиями sudo в ubuntu

su против sudo

root или суперпользователь — это специальный аккаунт и группа пользователей в Unix-подобных системах с идентификатором, владелец которого имеет право на выполнение всех без исключения операций.

su и sudo — это два разных способа получить привилегии суперпользователя (root), обладающего максимальными правами и возможностью делать с системой всё, что угодно. В Windows такая учетная запись носит название «Администратор». Обычные (непривилегированные) пользователи в Linux сильно ограничены в таких правах: у них нет возможности производить запись в системные каталоги, управлять системными процессами и т.п. Поэтому для выполнения чего-то, что требует повышенных привилегий, и применяются команды su и sudo.

Основное различие между ними заключается в том, что su требует пароль целевой учетной записи (например, пользователя root) и переключает вас на нее, в то время как sudo требует пароль текущего пользователя и запускает от его имени только лишь одну (или несколько) команд, на выполнение которых требуются права пользователя root. Поэтому гораздо безопаснее использовать sudo, поскольку применение данной команды не включает в себя обмен конфиденциальной информацией.

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

Команда sudo

Команда sudo (от англ. «Substitute User and do« — «подменить пользователя и выполнить») используется в качестве префикса к командам Linux, позволяя вошедшему в систему пользователю выполнять команды, требующие привилегий root. В отличие от su, команда sudo требует ввода пароля текущего пользователя (выполняющего эту команду).

Например, все исполняемые и административные задачи требуют наличия максимальных разрешений (root). В таких случаях рекомендуется использовать sudo:

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

Добавление пользователя в группу sudoers

Чтобы пользователь мог выполнить команду, для которой требуется sudo, ему необходимо быть частью группы sudoers. Для добавления пользователя в группу sudoers, выполните следующую команду (от имени root или учетной записи, которая может применять sudo):

Например, чтобы добавить в группу sudoers учетную запись ravesli, вы должны ввести:

Чтобы просмотреть список учетных записей, принадлежащих группе sudoers, выполните:

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

Еще один способ добавления пользователя в группу sudoers — это воспользоваться командой visudo, которая помогает отредактировать файл /etc/sudoers. Для этого выполните вход в учетную запись root (команда ), после чего вызовите и добавьте в файл следующую строку, заменив на нужное вам имя пользователя, которому вы хотите дать доступ к sudo:

Нажмите Ctrl+X, а затем Y, чтобы сохранить файл. Вы также можете добавить пользователя в группу, указанную в файле /etc/sudoers. Пользователи групп, указанных в данном файле, автоматически получат привилегии sudo.

Miscellaneous Information

There are a few more pieces of information that may be useful when dealing with .

If you specified a user or group to “run as” in the configuration file, you can execute commands as those users by using the and flags, respectively:

For convenience, by default, will save your authentication details for a certain amount of time in one terminal. This means you won’t have to type your password in again until that timer runs out.

For security purposes, if you wish to clear this timer when you are done running administrative commands, you can run:

If, on the other hand, you want to “prime” the command so that you won’t be prompted later, or to renew your lease, you can always type:

You will be prompted for your password, which will be cached for later uses until the time frame expires.

If you are simply wondering what kind of privileges are defined for your username, you can type:

This will list all of the rules in the file that apply to your user. This gives you a good idea of what you will or will not be allowed to do with as any user.

There are many times when you will execute a command and it will fail because you forgot to preface it with . To avoid having to re-type the command, you can take advantage of a bash functionality that means “repeat last command”:

The double exclamation point will repeat the last command. We preceded it with to quickly change the unprivileged command to a privileged command.

For some fun, you can add the following line to your file with :

/etc/sudoers

This will cause to return a silly insult when a user types in an incorrect password for . We can use to clear the previous cached password to try it out:

Присвоение пользователю привилегий Sudo

Чаще всего при управлении разрешениями используется операция предоставления новому пользователю общего доступа . Это полезно, если вы хотите предоставить учетной записи полный административный доступ к системе.

В системе с группой администрирования общего назначения, такой как система Ubuntu в этом учебном модуле, проще всего будет добавить данного пользователя в эту группу.

Например, в Ubuntu 20.04 группа имеет полные привилегии администратора. Добавляя пользователя в эту группу, мы предоставляем ему такие же привилегии:

Также можно использовать команду :

Обе команды выполняют одно и то же.

В CentOS эта группа обычно называется , а не :

Также можно использовать :

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

/etc/sudoers

В чем суть

Итак, пользователям Ubuntu хорошо известна такая утилита как sudo, без которой вы не сможете ни установить, ни удалить программу, ни внести какие нибудь весомые изменения в работу системы. В Debian же, пользователи вместо sudo, в основном пользуются учётной записью root. Стоит только посмотреть на инструкции или HOWTO для Debian в интернете – всегда строка начинается сразу из aptitude, что подразумевает то, что  команду нужно выполнять из-под root. Но как по мне – это не есть совсем правильно, плюс годы использования Ubuntu тоже оставляют свой след. К тому же, до сих пор помню свою первую установку Debian, когда после установки KDE из под рута, в обычном сеансе пользователя у меня не работала звуковая подсистема. Сколько тогда для неопытного было мучений!

Как удалять пользователей

Если вам больше не нужен один из созданных пользователей, лучшим решением будет удалить его.

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

# deluser newuser

При этом вы должны быть авторизованы под суперпользователем.

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

$ sudo deluser newuser

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

# deluser --remove-home newuser

Для пользователей с sudo-правами:

$ sudo deluser --remove-home newuser

А если вы хотите лишить удаленного пользователя sudo-прав, вам нужно открыть конфигурационный файл:

# visudo

(если от суперпользователя)
или

$ sudo visudo

(если от пользователя с sudo-правами)

root ALL=(ALL:ALL) ALL
newuser ALL=(ALL:ALL) ALL # Удалите эту строчку.

Это нужно для того, чтобы в дальнейшем созданный пользователь с таким же именем не получил случайно sudo-права.

su и sudo в разных дистрибутивах Linux

su — это традиционный (более старый) способ переключения на учетную запись root (и получение повышенных прав) в Linux.

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

При установке, например, дистрибутива , вы автоматически создаете пользователя, помеченного как член группы sudoers. При этом настройки учетной записи root не предполагается. Чтобы включить пользователя root, вам необходимо активировать его вручную.

С другой стороны, другие дистрибутивы Linux, такие как , при установке создают обе учетные записи: обычного пользователя и суперпользователя (root).

Что такое Visudo?

Команда настраивается с помощью файла, расположенного в каталоге .

Предупреждение. Никогда не редактируйте этот файл в обычном текстовом редакторе! Всегда используйте для этой цели только команду !

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

Это не даст ошибкам конфигурации возможности блокировать операции , что может быть единственным способом получить привилегии root

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

Обычно открывает файл в текстовом редакторе . Однако в Ubuntu команда настроена на использование текстового редактора .

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

Выберите число, соответствующее желаемому варианту выбора.

В CentOS для изменения этого значения можно добавить следующую строку в :

Исходный файл для внесения изменений:

После настройки выполните эту команду для доступа к файлу :

Полезное

Увидеть список привилегий можно, запустив sudo –l (будет отображен список для текущего пользователя), либо sudo –l –U user (будет отображен список привилегий пользователя user):


Скриншот №4. Список привилегий пользователя

В состав sudo входит команда sudoedit, которая запускает текстовый редактор с указанным файлом сразу с повышенными привилегиями, то есть вместо команды:

можно запустить:

Если требуется длительная работа в режиме повышенных привилегий и вводить sudo для каждой команды неудобно, можно запустить через sudo экземпляр командного интерпретатора:

и продолжить работу в нем — все команды будут запускаться с повышенными правами. По завершении работы выходим из интерпретатора командой exit.

191028
Санкт-Петербург
Литейный пр., д. 26, Лит. А

+7 (812) 403-06-99

700
300

ООО «ИТГЛОБАЛКОМ ЛАБС»

700
300

Хотите скачать рут права 19 лучших способов и инструкций это сделать

Для того, чтобы расширить свои возможности в качестве пользователя устройства, необходимо получить исключительные права, имеющие название «root». Прежде всего рут-права дают возможность стать администратором своего мобильного устройства. Само понятие таких возможностей произошло из операционной системы Lunix.

ОС (операционка) Linux предоставляет пользователю частичный доступ ко всем стандартным папкам, в некоторых случаях и полный, но при этом модификация и удаление системных процессов полностью запрещены. Root-права позволят осуществлять самостоятельную настройку всей системы, а учётная запись лишается всех ограничений.

После перехода на платформу Android эти права дают преимущество по сравнению с обычным пользователем устройства, а именно:

  • С рут правами можно самостоятельно настроить всю систему Android полностью «под себя».
  • Учётная запись лишается всех ограничений.
  • Появляется возможность установки на смартфон или планшет приложений с расширенными функциями, требующими рут права.
  • Возможность очистки памяти устройства, например, с помощью деинсталляции базовых, системных приложений, которые вам не нужны.
  • Можно записать видео с экрана андроида.
  • Появится возможность отправить (переместить) установленное во внутренней памяти приложение на карту памяти. Согласно статистике таких приложений, примерно 80 процентов, а места в памяти телефона зачастую очень ограничено.
  • Возможность сохранять фото рабочего стола или любых объектов на экране, то есть делать скриншоты, если не получается сделать скриншот на андроид комбинацией определенных клавиш.

Какие бывают виды рут (root) прав?

Существует несколько видов рут прав:

  1. Temporary Root — такие рут права имеют временный характер, иными словами — это временный рут доступ, который исчезает (удаляется), как только устройство перезагрузится.
  2. Shell Root — такие права имеют постоянный характер, но в этом случае запрещен доступ для изменения системного каталога «system»
  3. Full Root — такие рут права носят не только постоянный характер, они лишены каких-либо ограничений. Даже название говорит само за себя — full-root.

19 реальных способов получения root на Android

В сети описано множество способов получения полного доступа к устройствам для любой версии Android 2.2, 2.3, андроид 4.4, android 5.0 lollipop и даже андроид 6.0 marshmallow. Для установки рут на Андроид 7 и 8 советуем почитать эту статью! Мы опишем самые простые, реальные, самые доступные для обычного пользователя способы рутирования.

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

1. Установка рут прав с помощью компьютера:

Выполнение этого способа подразумевает установку на компьютер программы для рутирования устройств. Для применения этих программ на ПК для начала необходимо выполнить несколько простых условий:

  1. Скачать драйвера для Вашей модели и установить их на компьютер. Все версии драйверов тут.
  2. На смартфоне или планшете включить режим отладка по USB.
  3. Приготовить usb кабель от планшета или смартфона.

Итак, всё приготовили?

Тогда вот список программ и инструкций к ним для установки рут прав на компьютере:

  1. Eroot — инструкция + программа, самые последние версии eroot

  2. SuperOneClick — инструкция + программа

2. Получение рут-прав без компьютера:

У Вас нет компьютера? Тогда попробуйте получить рут права специальными приложениями, которые устанавливаются в сам смартфон/планшет и девайс «рутуется» без компьютера:

  1. Baidu Super Root — программа + инструкция

  2. Towelroot — инструкция + приложение

Как проверить наличие root прав?

Для проверки успешного получения прав рут существует простенькая программа на андроид — Root Checker, скачать её можно с официального магазина приложений PlayMarket, однако у меня маркет пишет, что это приложение невозможно скачать в вашей стране.

  1. Запускаете Root Checker.
  2. Жмете кнопку «Verify Root Access»

После этого увидим одну из двух картинок:

А. Root права получены

В. Рут права не получены

Root Checker скачать

Страница в PlayMarket

Вот и все дела! Надеюсь помог Вам и эти инструкции будут полезны!

Срочно рассказать друзьям:

Интересное на эту же тему:
     

Последняя версия Kingroot 5 на Андроид

Magisk manager на Андроид

Рут права на Android 7 и Android 8

Исправление ошибки с помощью режима восстановления

Если на вашем компьютере нет другого пользователя, от имени которого вы могли бы получить доступ к sudo, осталась возможность использовать режим восстановления. Для этого перезагрузите компьютер и в меню Grub нажмите E.

Откроется редактор меню загрузки. В нем найдите строку:

И в конец добавьте init=/bin/bash. Должно получиться вот так:

Дальше вы загрузитесь в оболочку /bin/bash с правами суперпользователя и от туда уже сможете выполнить все выше приведенные команды, например, добавить пользователя sudoers, добавлением его в группу wheel:

После выполнения команды можно перезагрузить компьютер с помощью команды reboot. Следующая загрузка пройдет в нормальном режиме и вы сможете использовать sudo.

How To Modify the Sudoers File

You will be presented with the file in your selected text editor.

I have copied and pasted the file from Ubuntu 20.04, with comments removed. The CentOS file has many more lines, some of which we will not discuss in this guide.

/etc/sudoers

Let’s take a look at what these lines do.

Default Lines

The first line, , resets the terminal environment to remove any user variables. This is a safety measure used to clear potentially harmful environmental variables from the session.

The second line, , tells the system to mail notices of bad password attempts to the configured user. By default, this is the root account.

The third line, which begins with , specifies the (the places in the filesystem the operating system will look for applications) that will be used for operations. This prevents using user paths which may be harmful.

User Privilege Lines

The fourth line, which dictates the root user’s privileges, is different from the preceding lines. Let’s take a look at what the different fields mean:

  • The first field indicates the username that the rule will apply to (root).

  • The first “ALL” indicates that this rule applies to all hosts.

  • This “ALL” indicates that the root user can run commands as all users.

  • This “ALL” indicates that the root user can run commands as all groups.

  • The last “ALL” indicates these rules apply to all commands.

This means that our root user can run any command using , as long as they provide their password.

Group Privilege Lines

The next two lines are similar to the user privilege lines, but they specify rules for groups.

Names beginning with a indicate group names.

Here, we see the admin group can execute any command as any user on any host. Similarly, the sudo group has the same privileges, but can execute as any group as well.

Included /etc/sudoers.d Line

The last line might look like a comment at first glance:

/etc/sudoers

It does begin with a , which usually indicates a comment. However, this line actually indicates that files within the directory will be sourced and applied as well.

Files within that directory follow the same rules as the file itself. Any file that does not end in and that does not have a in it will be read and appended to the configuration.

This is mainly meant for applications to alter privileges upon installation. Putting all of the associated rules within a single file in the directory can make it easy to see which privileges are associated with which accounts and to reverse credentials easily without having to try to manipulate the file directly.

As with the file itself, you should always edit files within the directory with . The syntax for editing these files would be:

Как работает sudo?

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

Имя команды означает substitute user do или super user do. Утилита позволяет запускать программы от имени другого пользователя, но чаще всего от имени корневого. Утилита была разработана еще в 1980 году Бобом Когшелом и Клиффом Спенсером. За это время сменилось много разработчиков и было добавлено много функций.

Работает sudo благодаря флагу доступа SUID. Если этот флаг установлен для программы, то она выполняется не от имени того пользователя который ее запустил, а от имени владельца, учитывая что файл sudo принадлежит, то утилита выполняется от имени root. Затем она читает свои настройки, запрашивает пароль пользователя и решает можно ли ему разрешать выполнение команд от имени администратора. Если да, то выполняется переданная в параметре команда.

Теперь, когда вы знаете теорию, давайте рассмотрим как настроить sudo в Linux.

Исправляем “User is not in the sudoers file” (способ №1)

Для начала, если sudo у вас не установлен, такое может быть, например, если вы устанавливали лишь базовую систему без графической оболочки – установите его:

aptitude install sudo

Как можно догадаться, это делается из под рута. В других случаях sudo должен установиться с системой. Но на этом ещё не конец. Хоть sudo уже установлен, при попытке что нибудь сделать с его использованием, например проверить обновления, терминал выдаст сообщение что user is not in the sudoers file. Чтобы исправить это, существует несколько вариантов действий.

До недавнего времени я соглашался с терминалом и добавлял пользователя, то есть себя, в файл sudoers. Для изменения sudoers файла есть специальная утилита visudo, запускается она командой:

visudo

В открывшимся файле нужно найти строчку:

root ALL=(ALL) ALL

И под ней необходимо добавить такую же, только вместо root пишем свое имя пользователя (username замените на свое):

username ALL=(ALL) ALL

После этого сохранением файл, выходим из visudo, перелогиниваемся и можем пользоваться sudo – ошибка “User is not in the sudoers file” тревожить нас больше не будет. Но так как, по моему мнению, всегда нужно стремится к универсальности, я поступил по другому.

What is Visudo?

The command is configured through a file located at .

Warning: Never edit this file with a normal text editor! Always use the command instead!

Because improper syntax in the file can leave you with a broken system where it is impossible to obtain elevated privileges, it is important to use the command to edit the file.

The command opens a text editor like normal, but it validates the syntax of the file upon saving. This prevents configuration errors from blocking operations, which may be your only way of obtaining root privileges.

Traditionally, opens the file with the text editor. Ubuntu, however, has configured to use the text editor instead.

If you would like to change it back to , issue the following command:

Select the number that corresponds with the choice you would like to make.

On CentOS, you can change this value by adding the following line to your :

Source the file to implement the changes:

After you have configured , execute the command to access the file:

Команда su

Команда su (от англ. «substitute user» — «заменить пользователя») применяется в основном для переключения с одного пользователя на другого. При этом она может, как запустить оболочку входа в условиях текущего каталога и окружения (), так и полностью изменить настройки, заменив их окружением целевого пользователя ().

Синтаксис команды:

или

Если использовать данную команду без , то она переключит вас на учетную запись суперпользователя (root).

Примечание: В большинстве случаев, команда su (с дефисом и без) используется только для переключения на суперпользователя (root), хотя она может переключить вас и на другого () пользователя.

Как работает команда su?

Чтобы вызвать оболочку другого пользователя с окружением и рабочим каталогом текущего пользователя, используйте команду (без дефиса). Например, если вы хотите работать от имени пользователя ravesli, выполните:

Затем введите пароль для учетной записи ravesli и нажмите Enter.

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

Как работает команда su –?

Чтобы перейти к другому пользователю и при этом изменить и пользовательское окружение, используйте команду :

Примечание: Еще один способ, позволяющий получить доступ к аккаунту другого пользователя вместе с полным объемом переменных его пользовательского окружения, это задействовать команду (или ) .

Настройка sudo в Linux

Все настройки sudo находятся в файле /etc/sudoers. Здесь можно настроить очень много параметров, начиная от кому будет позволено выполнять команды от имени суперпользователя и заканчивая ограничением набора доступных команд.

Чтобы открыть файл для редактирования наберите такую команду от имени суперпользователя:

Вы также можете указать текстовый редактор, в котором вы хотите редактировать файл настройки:

Дальше мы рассмотрим самые интересные настройки, которые вы можете задать в этом файле. Но сначала давайте рассмотрим основной синтаксис файла. Он состоит из двух типов строк, это псевдонимы, которые позволяют создавать списки пользователей и флагов, а также сами правила, которые задают как будет вести себя команда sudo. Синтаксис алиасов выглядит вот так:

тип имя_алиаса = элемент1, элемент2, элемент3

Тип указывает какого типа нужно создать алис, имя — имя, которое будет использовано, а список элементов — те элементы, которые будут подразумеваться при обращении к этому имени.

Описание разрешений для пользователей имеет немного другой синтаксис:

пользователь хост  = (другой_пользователь:группа) команды

Пользователь указывает пользователя или группу, для которых мы создаем правило, хост — компьютер, для которого будет действовать это правило. Другой пользователь — под видом какого пользователя первый может выполнять команды, и последнее — разрешенные команды. Вместо любого из параметров может использоваться алиас. А теперь настройка sudo в Debian и других дистрибутивах.

How To Give a User Sudo Privileges

The most common operation that users want to accomplish when managing permissions is to grant a new user general access. This is useful if you want to give an account full administrative access to the system.

The easiest way of doing this on a system set up with a general purpose administration group, like the Ubuntu system in this guide, is actually to add the user in question to that group.

For example, on Ubuntu 20.04, the group has full admin privileges. We can grant a user these same privileges by adding them to the group like this:

The command can also be used:

These will both accomplish the same thing.

On CentOS, this is usually the group instead of the group:

Or, using :

On CentOS, if adding the user to the group does not work immediately, you may have to edit the file to uncomment the group name:

/etc/sudoers

Когда использовать sudo

Подозреваю, что сюда могут заглянуть какие-то продвинутые товарищи, чтобы сказать о том, что работа в консоли признак непрофессионализма. Все должно настраиваться с помощью ansible, chef, puppet и т.д. Прошу это не писать, статья не об этом, а такое мнение в определенных ситуациях может быть оправдано. Но я не претендую ни на какие лавры. Пишу о том, чем занимаюсь и что меня интересует.

Если подытожить сказанное, то sudo нужно в следующих случаях:

  1. К серверу подключаются разные администраторы. Нужно логировать их действия и разграничивать права доступа.
  2. Linux ваша рабочая системы, с помощью sudo вы запускаете редкие команды с полными правами.
  3. Sudo используется в скриптах для ограничения доступа. Абсолютно оправданное использование, сам так поступаю.

Если я единолично управляю сервером, подключаюсь для совершения административных действий, sudo считаю лишней сущностью и не использую его. Возможно я ошибаюсь и чего-то не понимаю. Жду ваших комментариев на эту тему. Как и когда вы используете sudo?

Онлайн курс «DevOps практики и инструменты»

Если у вас есть желание научиться строить и поддерживать высокодоступные и надежные системы, научиться непрерывной поставке ПО, мониторингу и логированию web приложений, рекомендую познакомиться с онлайн-курсом «DevOps практики и инструменты» в OTUS. Курс не для новичков, для поступления нужны базовые знания по сетям и установке Linux на виртуалку. Обучение длится 5 месяцев, после чего успешные выпускники курса смогут пройти собеседования у партнеров.

Проверьте себя на вступительном тесте и смотрите программу детальнее по .

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Ваша ОС
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: