Problem z wykonywaniem polecenia jako inny użytkownik z sudo -u

12

Gdy próbuję wykonać lsjako użytkownik abcza pomocą następującego polecenia, pojawia się błąd:

xyz@host:~/temp$ sudo -u abc ls
[sudo] password for xyz:
Sorry, user xyz is not allowed to execute '/bin/ls' as abc on host.

Ale jeśli to zrobię, su abca potem wykonam, lsnie mam problemu

użytkownik1678312
źródło

Odpowiedzi:

17

Powinieneś skonfigurować politykę bezpieczeństwa sudo, aby umożliwić użytkownikowi xyz wykonanie czegoś jako użytkownik abc. Przeczytaj „man sudoers” i użyj polecenia visudo, aby skonfigurować / etc / sudoers.

Na przykład zezwólmy użytkownikowi xyz exec / usr / bin / whoami jako abc użytkownika bez hasła. Dodaj ten ciąg do / etc / sudoers (z visudo, nie edytuj bezpośrednio / etc / sudoers):

xyz ALL = (abc) NOPASSWD: /usr/bin/whoami

A teraz przetestuj:

xyz@host:~$ sudo -u abc /usr/bin/whoami
abc
svq
źródło
czy mógłbyś wyjaśnić, dlaczego należy unikać edycji / etc / sudoers bezpośrednio?
Adi Prasetyo,
Ponieważ podczas bezpośredniej edycji / etc / sudoers możesz popełnić błąd, zepsuć plik sudoers i (w najgorszym przypadku) zablokować się przy użyciu sudo. „Visudo” to nie tylko edytor, ale także sprawdza składnię pliku sudoers i pomaga unikać błędów, literówek itp.
svq
4

Jest tak, ponieważ sudoróżni się od su. Gdy stajesz su abcsię użytkownikiem systemu, abcjeśli chodzi o system. Możesz wtedy zrobić wszystko, co abcmożesz.

Z drugiej strony sudosłuży do umożliwienia innym użytkownikom wykonywania niektórych poleceń przez proxy. Innymi słowy, twoja sudokonfiguracja pozwala na wykonywanie niektórych poleceń w imieniu abc. Jeśli polecenie, które próbujesz wykonać, nie jest jednym z nich, pojawi się zgłoszony błąd.

Joseph R.
źródło
0

Na wypadek, gdyby wszystko wyglądało dobrze, ale nadal pojawia się Sorry user xxx cannot execute...komunikat i za sudokażdym razem prosi o podanie hasła.

Możesz to zrobić:

  1. W /etc/sudoerskasowania zgodnie z ustawieniami użytkownika
  2. Zapisz plik
  3. Otwórz plik, wpisz (BEZ KOPIOWANIA) opcje dla tego użytkownika
  4. Zapisz plik
  5. Spróbuj.

To zadziałało dla mnie. Okazało się, że koniec tej linii był zły, ponieważ skopiowałem polecenia wymagające wykonania z wiadomości e-mail.

borbar
źródło
Z pewnością gdybyś go kiedyś visudoedytował, powiedziano by ci to?
Auspex
Nie, nie zrobiłbyś tego.
borbar
Ach tak. Naprawdę pomyślałbym ... W każdym razie myślę, że znacznie częściej masz błędy podczas ręcznego pisania niż z kopiowania i wklejania. Pamiętaj tylko, że linie są różne.
Auspex