Jak najlepiej administrować systemem Linux za pośrednictwem interfejsu internetowego


Napisałem kilka skryptów powłoki, które mogą wykonywać określone zadania.
Ale mój mangaer chce mieć jakiś interfejs sieciowy, w którym mógłby uruchamiać te skrypty i pracować z nimi.
Teraz nie wiem, jak bash bash do sieci.
Znam PHP.
Jeszcze jedno, jeśli używam Pythona, czy mogę stworzyć interfejs sieciowy, czy jest to łatwiejsze niż programowanie w bashu
Zaproszony:
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Jeśli Twój przełożony nalega, istnieje na przykład kilka rozwiązań

webmin
http://www.webmin.com
lub

Zentyal
http://www.zentyal.com
do zarządzania serwerami GNU/linux poprzez interfejs WWW.
Możesz łatwo dodać własne skrypty do tych interfejsów internetowych. Zaletą używania przetestowanych produktów nad własnymi, odtworzonymi usługami sieciowymi jest to, że te usługi internetowe są zaprojektowane z myślą o bezpieczeństwie.

tak czy siak

Jako administrator systemu polecam zarządzanie serwerami za pomocą samej powłoki (np. Bash z ekranem) przez ssh.
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

byłbym bardzo

NIE

Polecam pisać oprogramowanie PHP, które ma dostęp do/bin lub innych odpowiednich części systemu i obsługiwać je przez apache. Ponieważ: PHP nie jest wystarczająco ścisłe, niezawodne ani bezpieczne, aby implementować programy takie jak Webmin z.
Ale tak naprawdę zastanawiam się, dlaczego menedżer miałby wykonywać zadania administracyjne na serwerze? Czy to naprawdę zadania administracyjne? A może jest to coś, co można by napisać w PHP od zera? Chodzi mi o to, że jeśli chce tylko zmniejszyć obraz, nie potrzebujesz do tego skryptu bash.
Kiedyś napisałem zdalny instalator w Pythonie, który był dostępny tylko w intranecie firmy i uruchomiłem kilka skryptów przez połączenie SSH przy użyciu certyfikatów. Zadziałało, ale nie było dobrym rozwiązaniem. Ale poleciłbym taki sposób, aby mieć względnie bezpieczny sposób zhakowania tego razem.
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Webmin umożliwia korzystanie z poleceń za pośrednictwem zdalnego interfejsu.
http://www.webmin.com/
http://www.webmin.com/
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Jeśli nie wolisz, aby Twój menedżer współpracował z Webminem i chciałbyś mieć prosty interfejs użytkownika, z którego może korzystać bezpośrednio,
TAK, możesz połączyć PHP i BASH za pomocą

exec
http://php.net/manual/en/function.exec.php
:
  • Utwórz katalog z graficznym interfejsem użytkownika (np./Var/www/html/MyManagerGUI/).
                 # mkdir/var/www/html/MyManagerGUI/           
  • Umieść swoje skrypty Bash w tym samym katalogu (np./Var/www/MyManagerGUI/Scripts/) i pozwól im działać.
                 # chmod +x/var/www/MyManagerGUI/Scripts/*           
  • Utwórz plik index.php w/var/www/MyManagerGUI/
  • W pliku index.php wywołaj skrypty Bash z PHP:
                 <php exec("cd Scripts/;./MyBash arg1 arg2" , $output); >           

Gdzie
         $output
- tablica zawiera wszystkie wyniki twojego Bash,
         MyBash
to jest twoje imię bash, i
         arg1 arg2
opcjonalne argumenty
  • Zmień MyManagerGUI/Owner na Apache
                 # chown -R apache:apache/var/www/MyManagerGUI/           
  • Aby chronić swój GUI, możesz dodać .htaccess http://en.wikipedia.org/wiki/Htaccessplik w/var/www/MyManagerGUI/, na przykład dodanie nazwy użytkownika i hasła lub wymuszenie dostępu https.

Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się