Strona 1 z 1

Zdalne zamknięcie systemu po SSH (skryptem)

: 09 gru 2010, 21:00
autor: szopler
Witam ponownie...
Zadanie na dziś - zamknąć zdalnie (przez ssh) debiana z windowsa(sic!).

dokładniej - host1 z windowsem podpięty jest do ups'a za pomocą kabelka USB. UPS inicjuje zamknięcie systemu gdy poziom naładowania akumulatora spadnie do 20%. przed zamknięciem wykonywany jest skrypt w stylu:

Kod: Zaznacz cały

ssh user@host2 "sudo poweroff"
Teraz co by tu zrobić, aby sudo nie wymagało hasła (niebezpieczne wiem)?
Może stworzyć użytkownika który będzie miał prawo jedynie zamknąć system i nawet prostego dir nie wykona? Jak to zrobić? Ew. jak inaczej to zrobić na tym sprzęcie?

ODPOWIEDŹ (częściowa):
Korzystając z tego - http://jakilinux.org/aplikacje/sztuczki-z-ssh/
a dokładnie z "SSH bez hasła – generujemy klucze".

1) Wygenerowałem na host1 kluczyki DSA.
2) Następnie klucz publiczny przekopiowałem na host2 do pliku /etc/ssh/authorized_keys
3) w /etc/ssh/sshd_config odkomentowałem linię

Kod: Zaznacz cały

AuthorizedKeysFile
i zmieniłem tamten wpis na odpowiadający rzeczywistości czyli /etc/ssh itd.
4) na host2 odpaliłem z poziomu root'a visudo i dodałem wpis

Kod: Zaznacz cały

NazwaUzytkownika ALL=NOPASSWD: /sbin/poweroff
Teraz z host1 wchodzi mi ssh bez hasełka i wykonuje sudo poweroff.


Sudo nadal jest bez hasła z użytkownikiem który może sporo więcej niż tylko zamknąć...
NADAL potrzebuję utworzyć usera o nazwie "wylacznik" ;) który będzie miał bardzo ograniczone uprawnienia.
Oraz dodatkowo w sudoers ograniczyć jego działanie - jedynie z kompa host1.

Odp: Zdalne zamknięcie systemu po SSH (skryptem)

: 09 gru 2010, 22:33
autor: dk75
zamiast robić takie kombinacje wystarczy zrobić

Kod: Zaznacz cały

ssh user@host2 "sudo chmod +s $(which poweroff)"
potem zainstalować setuid - dla Ubuntu to będzie pakiet super

Kod: Zaznacz cały

ssh user@host2 "sudo apt-get install super"
i od tej pory

Kod: Zaznacz cały

ssh user@host2 "setuid user poweroff"
nie będzie wymagało hasła

Kolejne programy można tak przerabiać - wystarczy im ustawić flagę +s przy pomocy chmod a potem można uruchamiać przy pomocy setuid na dowolnym użytkowniku bez hasła i bez sudo.

Re: Zdalne zamknięcie systemu po SSH (skryptem)

: 05 paź 2012, 16:10
autor: Ubek308
Zrob usera zamknijsystem i daj mu poweroff jako shell.
zamknijsystem:x:10012:10012::/tmp:/sbin/poweroff

Samo jego pojawienie sie powinno spowodowac wylaczenie komputera.
Owszem - suid na pliku poweroff wciaz powininen byc.