forum dyskusyjne użytkowników wyjątkowej polskiej dystrybucji linuksa
amarok / incarnatus / Mr.Raggahashish
ROZWIĄZANIE 1 - (autor Tadziu)
1) Dodajemy grupę shutdown do której należeć będą użytkownicy mający prawo wyłączania systemu
# groupadd shutdown
2) Zmieniamy właściciela grupowego programów służących do wyłączania systemu na utworzoną grupę:
# chgrp shutdown /sbin/shutdown /sbin/halt /sbin/poweroff /sbin/reboot
3) Ustawiamy pewną właściwość która pozwoli użytkownikom z naszej grupy wywoływać te polecenia z odpowiednimi uprawnieniami:
# chmod u+s /sbin/shutdown # chmod u+s /sbin/halt
I takie prawa, by nikt poza rootem i grupą shutdown nie mógł tych poleceń wykonywać:
chmod o-rx /sbin/shutdown chmod o-rx /sbin/halt
4) Tworzymy takie dowiązania, by potrzebne polecenia znajdowały się w zmiennej $PATH dla użytkowników:
# ln -s /sbin/shutdown /bin/ # ln -s /sbin/halt /bin/ # ln -s /sbin/reboot /bin/ # ln -s /sbin/poweroff /bin/
5) Dodajemy do grupy shutdown wybranych użytkowników. W tym celu otwieramy plik /etc/group w ulubionym edytorze tekstowym, znajdujemy linię zaczynającą się od "shutdown" i na jej końcu dodajemy nazwy uprzywilejowanych użytkowników. Przykładowo:
(...) shutdown:x:102:uzytkownik1,uzytkownik2 (...)
(pamiętaj, że numer może się różnić od tego podanego wyżej )
Dla konsoli to powinno wystarczyć.
Jeśli chciałbyś jeszcze by twój komputer automatycznie wyłączał jednostkę centralną po zatrzymaniu systemu, odkomentuj linię pliku /etc/rc.d/rc.modules zawierającą wpis (usuń znak '#' z jej początku):
/sbin/modprobe apm
Metoda najbardziej pracochłonna, ale zapewniająca najlepsze efekty. Możemy dopisać dowolnego użytkownika do grupy shutdown, przez co zyskuje on (i tylko on) uprawnienia do wyłączenia komputera.
ROZWIĄZANIE 2 - (autorka gaia)
1) Propozycja pierwsza
W pliku: /etc/inittab zamieniamy:
# What to do at the "Three Finger Salute". ca::ctrlaltdel:/sbin/shutdown -t5 -r now
na:
# What to do at the "Three Finger Salute". ca::ctrlaltdel:/sbin/halt
2) Propozycja druga
Pliku: /etc/inittab zamieniamy na:
# What to do at the "Three Finger Salute". ca::ctrlaltdel:/usr/local/bin/wylaczmnie
a następnie wykonujemy:
# cat > /usr/local/bin/wylaczmnie /sbin/modprobe apm /sbin/halt (i tu wcisnąć Ctrl+D) # chmod 755 /usr/local/bin/wylaczmnie
ROZWIĄZANIE 3 - (autor Skyscraper)
Poleceniem:
# chmod +s /sbin/reboot /sbin/halt /sbin/poweroff
Zmieniamy uprawnienia do plików /sbin/halt, /sbin/reboot, /sbin/poweroff tak aby mogli je wykonywać zwykli użytkownicy. Dodatkowo można zrobić dowiązania symboliczne w katalogu /bin. Każdy zalogowany user jest w stanie wyłączyć i zresetować komputer. Metoda nie powinna być stosowana na komputerach innych niż workstation.
ROZWIĄZANIE 4 - (autor tmi)
Polecam zastosowanie do tego celu pakietu sudo, zapewne przez wszystkich bardzo dobrze znany.
Odpowiedni wpis do /etc/sudoers i mamy pełną kontrolę nad tym kto, a co ważniejsze skąd może wyłączać/restartować naszą maszynę. Przykładowy wpis może wyglądać tak:
nazwaużytkownika localhost = NOPASSWD: /sbin/halt
Poprawnym poleceniem do zamknięcia systemu przez użytkownika jest:
# /usr/bin/sudo /sbin/halt
Offline