Shell Script Coden für anfänger?

...komplette Frage anzeigen

3 Antworten

als Anfänger fängt man nicht mit php oder python an. Die Linux-Standard-Shell bash bietet so viele Möglichkeiten (und auch Hürden), um viele Dinge damit zu machen.

Im einfachsten Falle schreibt man Kommandozeilenbefehle in eine Datei und lasst die ablaufen ( bei Windows heißt das "öffnen").

Danach kann man sich mit Übergabe-Parametern an andere Script-Dateien beschäftigen. Im nächsten Schritt kann man den Rückgabewert eines Programms/Scripts in "lesbaren" Text umwandeln, später auch auswerten und mit den Ergebnissen andere (unterschiedliche) Programme starten.

Ohne ein geeignetes Buch wird das aber kompliziert.

Linux bietet zwar umfangreiche man-Pages, man muss aber wissen, was man wissen will.

Hallo

ich würd gerne nen user anlegen und den Command kann ich in php nicht absetzen

Was hat php denn mit dem anlegen von Benutzern zu tun?

adduser

  • Das Programm dafür ist useradd
  • adduser ist lediglich ein Script (afaik Perl)
useradd --help

oder auch

man useradd

sind die Hilfen die Du verwenden solltest.

Linuxhase

#!/usr/bin/php

<?php
  $username = "foo";
  $password = crypt("bar", "salt");

  exec("sudo useradd -m -p " . $password . " " . $username);
?>

Funktioniert nicht :/

0
@flo34771

Funktioniert im Terminal; über Webserver geht's wegen dem nötigen sudo Passwort nicht ohne Weiteres.

0
@acdxx

Hab ich auch bemerkt Danke :)

Das Script funktioniert im Terminal :) hast du recht aber

Wie gebe ich www-data / sudo rechte um das Script mit php Variablen zu füllen?

Ich habe das gleiche problem mit dem command

passthru("/etc/init.d/apache2 reload");

Im Terminal als Root user kommen keine Fehler :)

aber www-data hat keine rechte um Apache zu reloaden :) ^^

ist klar aber ich versteh nicht in welcher config ich das umstellen kann

0
@flo34771

ok :) ehm PHP kann das Script jz als Root ausführen.. 

leider nur in einer .sh datei ich kann die sh aber fia index.php starten

kann ich via post einen username in die sh einfügen das dann der user erstellt wird?

0

Was möchtest Du wissen?