У меня есть пользователь 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.
В соответствии с вашим разговором с @steeldriver в комментариях, я предполагаю, что ваш пользователь не вышел из системы.
Самый простой способ убедиться, что supersecretuser вышел из системы, - это ввести
При этом я получаю вывод следующим образом:
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 - sudo gpasswd -a supersecretuser sudo и вывести / отключить пользователя supersecret; но если вы потеряли способность sudo, я боюсь, вам придется переустановить.
После того, как вы проверили правильность прав на файлы:
-r--r----- 1 root root x x x x:x /etc/sudoers
Вы, скорее всего, потеряли s -бит на исполняемом файле, он должен прочитать:
-rwsr-xr-x 2 root root x x x x /usr/bin/sudo
, если это не так: с привилегиями root дайте `
chmod u+s /usr/bin/sudo
, и вы должны быть в порядке .. если не знаете, что вы сами изменили файл sudoers! :
)