Użytkownik w grupie sudo nie może używać polecenia sudo

14

Mam użytkownika, supersecretuserktóry jest w sudogrupie, ale nie ma sudodostępu. Czy jest coś jeszcze, co należy zrobić, aby dać temu użytkownikowi sudodostęp?

$ 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 to użytkownik, którego konfigurujemy podczas instalacji Ubuntu.

Jay Mitchell
źródło
4
Czy supersecretuserwylogowałeś się i wróciłeś (lub przynajmniej uruchomiłeś nową powłokę logowania np. su - supersecretuser) Od czasu dodania do sudogrupy?
steeldriver
Kiedy wpisuję jako supersecretuser, widzę, że jest w sudogrupie. Czy jest coś jeszcze, co muszę zrobić, aby się wylogować? Dodano pytanie ssh do serwera.
Jay Mitchell,
Jeśli masz innego superużytkownika, spróbuję ponownie dodać suspersecretuserdo sudogrupy. sudo adduser supersecretuser sudo. Może pojawić się błąd user is already in group sudo, ale warto spróbować.
Dan

Odpowiedzi:

8

Ponieważ komunikat o błędzie informuje użytkownika is not in the sudoers file, czy możesz sprawdzić /etc/sudoersplik, czy jest taka linia:

%sudo   ALL=(ALL:ALL) ALL

Jeśli brakuje tego wiersza, użytkownicy w sudogrupie nie będą sudoerami. Edytuj plik za pomocą visudopolecenia (sprawdza poprawność składni i blokuje plik).

Możesz także spróbować dodać niestandardową linię w następujący sposób:

root    ALL=(ALL:ALL) ALL

Zamień na rootswoją nazwę użytkownika, uruchom ponownie i spróbuj, jeśli to działa.

bfrgzju
źródło
Nie sudowidzę tego pliku, by stwierdzić, że jest to problem w 100%. Jednak w oparciu o nasz skrypt szefa kuchni, którego używamy na innych serwerach, widzę, że nie dodajemy supersecretuserużytkownika /etc/sudoers.
Jay Mitchell,
Wielkie dzięki za odpowiedź, miałem sudoi adminnagrałem, ale nie były poprzedzone literą %.
berezovskyi
6

Jeśli chodzi o rozmowę z @steeldriver w komentarzach, domyślam się, że użytkownik nie jest wylogowany.

Najprostszym sposobem, aby upewnić się, że supersecretuserzostał wylogowany jest wpisanie w terminalu, jako inny użytkownik who.

Gdy to robię, otrzymuję dane wyjściowe w następujący sposób:

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

Widzę tylko siebie. Podobnie, wpisanie ww terminalu pokazuje mi, kto jest zalogowany i co robi:

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

Możesz ZATRZYMAĆ drugiego użytkownika (nazywam to SSU) za pomocą następującego polecenia:

pkill -STOP -u SSU

Jednak zgodnie z prawdą najłatwiejszym rozwiązaniem byłoby ponowne uruchomienie systemu, jeśli to możliwe.

Mitch
źródło
Uruchomiłem ponownie serwer i nie mam sudodostępu.
Jay Mitchell,
Czyli utraciłeś możliwość ssh na serwerze?
Mitch
Przepraszamy, zaktualizowano komentarz. Nadal może ssh na serwerze, po prostu nie ma sudodostępu.
Jay Mitchell,
Czy możesz zaktualizować oryginalny post za pomocą metody użytej do przyznania użytkownikowi dostępu do sudo?
Mitch
supersecretuserto użytkownik, którego konfigurujemy podczas instalacji Ubuntu.
Jay Mitchell,
0

Najłatwiejszym sposobem dodania supersekretera do grupy sufo jest sudo gpasswd -a supersecretuser sudowylogowanie / ponowne zalogowanie się supersekretera. ale jeśli straciłeś możliwość sudo, obawiam się, że będziesz musiał ponownie zainstalować.

Tolga Ozses
źródło
-1

Po sprawdzeniu, czy uprawnienia do plików są prawidłowe:

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

Najprawdopodobniej straciłeś s-bit na pliku wykonywalnym, powinien on przeczytać:

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

jeśli nie: z uprawnieniami roota podaj `

chmod u+s /usr/bin/sudo

i powinieneś być w porządku ... chyba że wiesz, że sam zmieniłeś sudoersplik! :)

Zielona żaba
źródło
3
-1 Problemy z uprawnieniami do pliku sudobinarnego i sudoerskonfiguracji powodują, że komunikaty o błędach są inne niż w pytaniu. Odnoszą się dosłownie do niewłaściwych uprawnień do plików.
David Foerster