Udzieliłem grupie uprawnień do uruchamiania niektórych poleceń bez hasła za pośrednictwem sudo. Gdy jeden z użytkowników popełni literówkę lub wykona nieprawidłowe polecenie, system wyświetli monit o podanie hasła, a następnie pojawi się błąd. Jest to mylące dla użytkownika, dlatego chciałbym po prostu wyświetlić błąd zamiast monitować go o hasło. czy to możliwe?
Oto przykład mojego pliku sudoers:
%mygroup ALL=(ALL) NOPASSWD:/usr/local/bin/myscript.sh *
Przykład, gdy uruchomią zły skrypt:
# sudo /usr/local/bin/otherscript.sh
[sudo] password for user:
Sorry, user user is not allowed to execute '/usr/local/bin/otherscript.sh' as root on <hostname>.
Pożądane wyjście:
Sorry, user user is not allowed to execute '/usr/local/bin/otherscript.sh' as root on <hostname>. Please check the command and try again.
Zwróć uwagę na brak monitu o hasło.
Moje google-fu nie powiodło się mnie i zwraca tylko wyniki nie pyta o hasło, gdy użytkownik jest dozwolone, aby uruchomić polecenie.
sudo
jest równie dużym problemem, jeśli użytkownicy mają dostęp do zapisu tych plików.
sudo
pozwolą ci wykonać bez podania hasła. Dzięki funkcji, którą chcesz, mogę uzyskać te informacje dla określonych poleceń.