Używam Ubuntu 11.04. Chcę uruchomić skrypt, który sprawdza działający proces i zamyka system po zakończeniu tego procesu. Aby to zrobić, użytkownik wymaga dostępu do zamykania, aby skrypt mógł zostać wykonany bez konieczności podawania hasła.
Odniosłem się do tej strony i dodałem tekst do mojego pliku sudoers. Jednak wciąż pyta mnie o hasło przy każdym uruchomieniu sudo shutdown -h now
. Ponadto pojawia się błąd informujący, że wymagane są uprawnienia roota, gdy uruchamiam zamknięcie bez sudo.
Mój plik sudoers wygląda mniej więcej tak.
# Cmnd alias specification
Cmnd_Alias SHUTDOWN = /sbin/shutdown
# User privilege specification
root ALL=(ALL:ALL) ALL
myusername ALL = NOPASSWD: SHUTDOWN
Jak mogę zezwolić użytkownikowi na wykonanie polecenia zamknięcia bez konieczności ręcznego wprowadzania hasła?
Dzięki.
sudoers
plik?Odpowiedzi:
Możesz zamknąć lub uruchomić ponownie za pomocą HAL lub ConsoleKit, który nie będzie wymagał podania nazwy użytkownika / hasła:
HAL (starsze wersje Ubuntu):
ConsoleKit (nowsze wersje Ubuntu, testowane na Ubuntu 11.04):
źródło
Zrobiłem to tak, jak w tej odpowiedzi, działa dla mnie bezbłędnie. Może twoje podejście pomija tę
visudo
część?Otwórz wiersz poleceń i wpisz:
W pliku, który zostanie otwarty, dodaj następujący wiersz na końcu:
Następnie zamknij edytor i zabezpiecz go (CTRL + x).
Teraz możesz wyłączyć komputer z wiersza poleceń, np. Po pobraniu czegoś:
źródło
Jakiś czas temu zrobiłem to, ustawiając suid (Ustaw identyfikator użytkownika). To powoduje, że program działa jako właściciel pliku, a nie użytkownik go uruchamiający. Ponieważ zamknięcie jest własnością root, powinno to umożliwić zamknięcie bez sudo.
Istnieją jednak konsekwencje dla bezpieczeństwa, ponieważ każdy może wtedy uruchomić zamknięcie systemu. http://en.wikipedia.org/wiki/Setuid
źródło
/etc
.sudo
jest moim zdaniem właściwy sposób, ale niestety użytkownik nie daje szansy zobaczyć jegosudoers
pliku i co jest z nim nie tak.Wygląda na to, że chcesz uruchomić sam skrypt jako root. Jeśli chcesz uruchomić skrypt, który czeka, aż coś się skończy, a następnie wyłącza komputer, wystarczy uruchomić skrypt za pomocą sudo. Spowoduje to podanie hasła podczas uruchamiania skryptu, ale sam skrypt może zamknąć system bez dalszej interwencji.
źródło