Zdalne zamknięcie systemu po SSH (skryptem)

Tylko tematy nie mieszczące się powyżej.
szopler
Sędziwy Jeż
Sędziwy Jeż
Posty: 49
Rejestracja: 13 lis 2007, 17:32
Płeć: Mężczyzna
Wersja Ubuntu: 8.10
Środowisko graficzne: Brak
Architektura: x86

Zdalne zamknięcie systemu po SSH (skryptem)

Post 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.
Użytkownik linuksów od 11.11.2007 - początkujący / linuks coraz bardziej mi się podoba :P
Awatar użytkownika
dk75
Przebojowy Jelonek
Przebojowy Jelonek
Posty: 1142
Rejestracja: 07 mar 2007, 22:59
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: GNOME
Architektura: x86_64

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

Post 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.
Linux Mint Debian Edition x86_64/2.6.39, Conky 1.8.0, Xorg 7.6/1.10.4 - GNOME 2.30.2, nVidia 285.03
Lenovo T61p, HITACHI HTS722010K9SA00 100GB, ST9250827AS 250GB
http://linuxcounter.net/user/483055.html
Ubek308
Zakręcona Traszka
Zakręcona Traszka
Posty: 574
Rejestracja: 25 maja 2011, 10:17
Płeć: Mężczyzna
Wersja Ubuntu: 11.04
Środowisko graficzne: GNOME
Architektura: x86_64

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

Post 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.
ODPOWIEDZ

Wróć do „Inne”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 20 gości