Пользователь в группе sudo не может использовать команду sudo


14

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

$ ssh supersecretuser@myserver
supersecretuser@myserver:~$ groups
supersecretuser adm cdrom sudo dip plugdev lpadmin sambashare
supersecretuser@myserver:~$ sudo vim install.sh 
[sudo] password for supersecretuser: 
supersecretuser is not in the sudoers file.  This incident will be reported.

supersecretuser пользователь, которого мы настраиваем при установке Ubuntu.


4
Возможно , supersecretuserвыйти из системы и обратно (или , по крайней мере , начать новый логин оболочки , например su - supersecretuser) , поскольку добавляется к sudoгруппе?
— стальная отвертка

Когда я ssh в as supersecretuser, я вижу, что это в sudoгруппе. Есть ли что-то еще, что мне нужно сделать, чтобы выйти? Добавлен SSH в сервер на вопрос.
— Джей Митчелл

Если у вас есть другой суперпользователь, я бы попытался снова добавить suspersecretuserв sudoгруппу. sudo adduser supersecretuser sudo, Вы можете получить ошибку как user is already in group sudo, но это стоит попробовать.
— Дэн

Ответы:


8

Так как в вашем сообщении об ошибке говорится, что ваш пользователь is not in the sudoers file, пожалуйста, проверьте ваш /etc/sudoersфайл, посмотрите, есть ли такая строка:

%sudo   ALL=(ALL:ALL) ALL

Если эта строка отсутствует, пользователи в sudoгруппе не будут sudoers. Отредактируйте файл с помощью visudoкоманды (проверяет правильность синтаксиса и блокирует файл).

Вы также можете попробовать добавить настраиваемую строку, например:

root    ALL=(ALL:ALL) ALL

Замените rootсвое имя пользователя, перезагрузите компьютер и попробуйте, если он работает.


Я не могу sudoувидеть этот файл, чтобы сказать, что это 100% проблема. Однако, основываясь на нашем сценарии chef, который мы используем на других серверах, я вижу, что мы не добавляем supersecretuserпользователя /etc/sudoers.
— Джей Митчелл

Большое спасибо за ответ, у меня был sudoи adminзаписи, но они не были с префиксом %.
— Березовский

6

Что касается вашего разговора с @steeldriver в комментариях, я предполагаю, что ваш пользователь не вышел из системы.

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

При этом я получаю вывод, как это:

mitch@quartz:~$ who
mitch    :0           2014-09-08 09:49 (:0)
mitch    pts/0        2014-09-08 13:18 (:0.0)

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

USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
mitch    :0       :0               09:49   ?xdm?  29:08   0.11s init --user
mitch    pts/0    :0.0             13:18    5.00s  0.06s  0.01s w

Вы можете ОСТАНОВИТЬ другого пользователя (я его назову SSU) с помощью следующей команды:

pkill -STOP -u SSU

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


Перезагрузил сервер, и у меня нет sudoдоступа.
— Джей Митчелл

Таким образом, вы потеряли возможность для вашего пользователя SSH на сервер?
— Митч

Извините, обновленный комментарий. Может все равно по ssh на сервер, просто нет sudoдоступа.
— Джей Митчелл

Можете ли вы обновить исходную запись с помощью метода, который вы использовали для предоставления пользователю доступа sudo?
— Митч

supersecretuserпользователь, которого мы настраиваем при установке Ubuntu.
— Джей Митчелл

0

Самый простой способ добавить supersecretuser в группу sufo - это sudo gpasswd -a supersecretuser sudoсделать так, чтобы supersecretuser вышел из системы / снова вошел в нее ; но если вы потеряли способность sudo, боюсь, вам придется переустанавливать.


-1

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

-r--r----- 1 root root x x x x:x /etc/sudoers

Скорее всего, вы потеряли s-bit в исполняемом файле, он должен выглядеть так:

-rwsr-xr-x 2 root root x x x  x /usr/bin/sudo

если нет: с правами root

chmod u+s /usr/bin/sudo

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


3
-1 Проблемы с правами доступа к файлу sudoдвоичного файла и sudoersконфигурации приводят к сообщениям об ошибках, отличным от тех, которые указаны в вопросе. Они буквально ссылаются на несоответствующие права доступа к файлу.
— Дэвид Фёрстер
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.