Настраиваем sudo в Fedora RFRemix 29

debianeach

Опубликован:  2019-10-24T06:33:14.097210Z

Продолжаем разбираться с рабочей станцией на базе Fedora RFRemix 29, в прошлом выпуске блога Дебианыч более-менее успешно справился с установкой операционной системы, при этом созданный в программе установки пользователь newbie не получил возможности выполнять программы с правами суперпользователя. Сейчас я буду этот порядок вещей исправлять.

Известно, что права суперпользователя в операционных системах на базе ядра Linux рядовой пользователь может получить двумя способами:

  • при помощи программы su с вводом пароля root;
  • при помощи программы sudo с вводом собственного пароля.

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

UXV3adjJA1.png

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

Мне понадобится терминал. Его можно запустить прямо из панели задач, разработчики Fedora RFRemix предусмотрительно поместили туда соответствующую кнопку запуска.

rRDryAcpfU.png

Левым одиночным кликом мыши жму по ней и получаю на экран окно эмулятора терминала.

FI2YCiHVJX.png

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

Первое, что следует проверить, установлена ли вообще программа sudo в системе, это можно сделать с помощью пакетного менеджера rpm.

rpm -qa | grep sudo

yHVAFUEApb.png

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

sudo ls -l

1eFvDOOxTq.png

Ладно... Мы пойдём другим путём. Захожу как суперпользователь с помощью su, эта возможность открыта.

su -

4zqHgIGKd2.png

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

Некоторые неграмотные пользователи на одиозных сайтах рунета, паразитирующие на теме Linux, для настройки sudo предлагают сразу приступить к правке файла /etc/sudoers, но я этого делать не буду. Для начала просто проанализирую текущее содержимое этого файла. Меня интересуют все строчки этого файла, содержащие строку ALL. Воспользуюсь grep.

grep ALL /etc/sudoers

1ONsj02fi2.png

Что мы видим? Во-первых root имеет все права на sudo, во-вторых, строчка подчёркнутая красным фломастером на снимке экрана выше говорит, что некто %wheel тоже имеет все права на sudo. Скорее всего wheel - это специальная группа. Посмотрим на содержимое файла /etc/group.

grep ^wheel /etc/group

y0trIkpNqI.png

Да, такая группа в системе имеется. Добавлю пользователя newbie в эту группу.

usermod -a -G wheel newbie

C1YsA8GgY6.png

Чтобы проверить, что трюк сработал попробую залогиниться пользователем newbie прямо в текущей сессии root-а. Это можно сделать с помощью всё той же su.

su -l newbie

MGZpG2NRY9.png

Как видно на снимке экрана, приглашение командной строки снова поменяло свой вид. Воспользуюсь sudo.

sudo date

X7W3EXcMLJ.png

Программа запросила пароль newbie, и после ввода пароля отдала на терминал выхлоп date - всё заработало. Поскольку на текущий момент я нахожусь в так называемой матрёшке, то есть залогинен сначала как root, а потом в сесси root залогинен как newbie, мне нужно дважды ввести команду exit, чтобы оказаться в сессии текущего пользователя LXDE.

1Gw7OZtnQh.png

И в этой текущей сессии я всё ещё не могу воспользоваться программой sudo.

FgW86T4by5.png

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

4rVwM4s5pU.png

y2hb550Ulr.png

А затем снова войти. С этого момента пользователь newbie имеет привилегию использовать sudo и получать таким образом права суперпользователя с вводом собственного пароля.

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

Комментарии: