Shell -Script Usermod

H

haugi1

Jungspund
Hallo,
mache gerade eine Umschulung zum Supportfachmann und bin voll begeistert von den vielen neuen möglichkeiten die mir da geboten werden.
Unser Thema ist gerade shellscripts und ich sitze nun seit Freitag Nachmittag ununterbrochen vor dem Pc um eine Aufgabe zu lösen.
Bekomm es aber nicht gebacken.

Aufgabenstellung : Shellscript um neue Benutzer anzulegen (useradd) dass gleichzeitig alle Einstellungen schon angelegten Benutzer ändern kann also (usermod ) sowie ändern der Passworteinstellungen (chage).

Hat jemand so was in der Art ?
Oder kann mir jemand sagen wie ich das realisieren kann ?

Mit allerbestem Dank
haugi1
 
Hallo,

erstmal Herzlich Willkommen ;)

Hast du dir denn schonmal die dazugehörigen Man-Pages angesehen?

man useradd
man usermod
man chage
 
hast du schon überhaupt damit angefangen oder wo hängst du ganz genau?

das ganze geht in etwa folgendermaßen (ein script zum erstellen neuer benutzer):
Code:
#!/bin/bash
echo -n "Username:"
read name #Variable name einlesen
echo "Homeverzeichnis:"
read home #variable home einlesen
...
...
...
useradd -m -d $home -g $gruppe -c '$kommentar' $name
 
Vielen Dank erst mal für diese schnelle Reaktionen.Wir haben wie schon gesagt
in unserem Linuxunterrichtsblock gerade Thema Shellscripts.

Ich habe die" man"
von useradd
ussermod
und chage
durchgearbeitet mir alle Schalter notiert und jetzt eigentlich keine Ahnung wie ich alles zusammen setzen muss.Bisher bin ich ganz gut mitgekommen und mehr und mehr von Windows abgekommen. Aber mit shellscripts muss ich mich noch viel damit beschäftigen.


Vielen Dank
 
Benötigst du ein Shellscript mit Benutzerinteraktion oder ohne?
 
Die Aufgabenstellung des Profilehrers lautet:

Shellscript das die Einstellungen aller erstellten neuer Benutzer mit UID,GID,HOME ,Shell .Gleichzeitig sollen die Daten aller schon erstellter Benutzer nach Eingabe vom entsprechenden Usernamen angezeigt werden und die Daten dieser nach Eingabe von einem Schalter geändert werden z.B UID,GUID,Shell. Desweiteren sollen die Chage Einstellungen geändert werden können.

Ist für mich ziemlich heftig da wir bisher immer shellscripts gemacht haben die ein paar Zeilen oder Uhrzeit und angemeldete Benutzer ausgeben.

Ich interessiere mich sehr für die vielen Möglichkeiten die Unix bietet und möchte mich wirklich voll darauf einlernen was in 10 Tagen pro Block zumindest beim Thema Shellscripts aber definitiv nicht möglich ist. Bei anderen Dingen was das System betrifft kann man ja wirklich viel lesen und üben.
Habe mich auch schon nach Hilfe in der Umgebung umgeschaut werde aber nicht fündig.

Wäre sehr dankbar hier jemand zur Unterstützung zu finden die auch nicht umsonst sein muss. Meine berufliche Zukunft hängt nach Krankheit von dieser Umschulung ab.

Mit bestem Dank
 
Nur mit shell built-in Befehlen, oder darf es auch dialog sein ;)?

Es handelt sich hier ja um eine etwas größere Aufgabe, daher wäre mein Vorschlag dich nach dem Top-Down Prinzip durchzuarbeiten. Alles schön strukuriert mit Funktionen etc. Fang am besten erstmal an, und schaue dann mal bei uns im IRC vorbei, wenn du an einer Stelle hängst.
Denn es ist nicht im Sinne des Erfinders, wenn dir hier jemand einfach das Ergebnis geben würde, sollst ja was lernen. :)
 
Es sollte mit Dialog sein.

und ich habe bisher keine Vorstellung nach #!/bin/bash

wie und wo ich anfangen soll, welche Variablen und welche Befehle ich verwenden soll.

woher ich Benutzerdaten brauche /etc/passwd ????

also bisher absolut keinen Schimmer und das schlimme ist der Lehrer will uns wohl noch tollere Aufgaben stellen.
 
Komme gerne in den IRC wie muss ich mich dort registrieren ?
 
haugi1 schrieb:
Es sollte mit Dialog sein.

und ich habe bisher keine Vorstellung nach #!/bin/bash

wie und wo ich anfangen soll, welche Variablen und welche Befehle ich verwenden soll.

woher ich Benutzerdaten brauche /etc/passwd ????

also bisher absolut keinen Schimmer und das schlimme ist der Lehrer will uns wohl noch tollere Aufgaben stellen.

Auch wenn hier anderes gesagt wurde - das ist eher trivial das Script. Benutzerdaten kann man tatsächlich mit cut aus der /etc/passwd parsen.

Wenn du in einer Schulung bist dann sollten ja wohl schon ein paar Grundlagen da sein. Shellscripting ist eigendlich nicht so schwer als das man es nicht an einem Wochenende lernen kann wenn man ein paar Linuxgrundlagen hat. Also kauf dir ein Buch und lerne. Meine Empfehlung ist Linux in a Nutshell von O'Reilly für die Optionen und Shellprogrammierung von Wolfgang Bock. Vor allem wenn deine berufliche Zukunft auf dem Spiel steht solltest du ein wenig Eigeninitiative zeigen. Ach ja http://www.tldp.org/LDP/abs/html/ ist auch einen Blick wert.

Und schau dir mal die Bedeutung der Variablen $[1-9] an denn die brauchst du mit guter Wahrscheinlichkeit.

Wäre sehr dankbar hier jemand zur Unterstützung zu finden die auch nicht umsonst sein muss.
Btw: hier würde ich nicht den Preis unterschätzen. Du wirst sicher schnell jemanden hier finden der dir so ein Script für vllt 100 Euro schreibt und ich muss sagen wäre leicht verdientes Geld wenn die böse Steuer nicht wäre. Aber davon kannst du es nicht und würdest auch kein ähnliches Script schreiben können. Nur so als kleinen Tip von jemandem der lange in der Lehre tätig war.
 
Zuletzt bearbeitet:
Danke erstmal ,
das Buch werde ich sicher kaufen und auch viel darin lernen.
Mein Problem im Moment liegt aber an der Zeit da der Block 10 Tage volluntericht sind und dann gleich 10 Tage Apache und Mailserver.

Brauche dieses Script bis Morgen da es benotet wird und ich wie gesagt nicht durchblicke im Moment.

Kann mir vielleicht jemand Schritt für Schritt helfen ?

Mit bestem Dank
 
haugi1 schrieb:
das Buch werde ich sicher kaufen und auch viel darin lernen.
Mein Problem im Moment liegt aber an der Zeit da der Block 10 Tage volluntericht sind und dann gleich 10 Tage Apache und Mailserver.
Dann hau rein. Das Script ist eher simpel
Brauche dieses Script bis Morgen da es benotet wird und ich wie gesagt nicht durchblicke im Moment.
Wie mein Ex-Chef immer zu sagen pflegte: "der Tag hat 24 Stunden und zur Not nimmt man noch die Nacht dazu ....." Also hau rein und lerne was - hier wird dir keiner dein Script schreiben denke ich und es wäre wirklich für jemanden der ein wenig shell-scripting kann eine Sache von einer halben Stunde.
Kann mir vielleicht jemand Schritt für Schritt helfen ?
Nein glaube nicht. Musst du dir wohl selber erarbeiten oder du hast im Lotto gewonnen und ein paar Euro zu viel auf dem Konto ;).
 
Zuletzt bearbeitet:
niemand der mir helfen kann ?
Brauche das scriot bis Morgen und komme nicht rum.


Aber gut
bedanke mich herzlich bei allen die mir hier Tips gegegben haben . Werde versuchen SIe umzusetzen.

mfg
 
Tipp für die Anzeige der bereits angelegten Nutzer:

Code:
cut -d : -f 1 /etc/passwd | grep -v "#"

Gruss, Phorus
 
Danke jetzt habe ich zumindest mal :

#!/bin/bash

echo "Bereits angelegte Benutzer `cut -d : -f 1 /etc/passwd | grep -v "#"`"
echo -n "Username:"
read name



stehen

Und nicht mal das funktioniert.

Ich gebe es auf.
 
haugi1 schrieb:
#!/bin/bash

echo "Bereits angelegte Benutzer `cut -d : -f 1 /etc/passwd | grep -v "#"`"
echo -n "Username:"
read name

Und nicht mal das funktioniert.
.

So sollte es funktionieren.

Code:
#!/bin/sh

echo "Bereits angelegte Benutzer `cut -d : -f 1 /etc/passwd | grep -v ^#`"
 
Nein fuktioniert auch nicht und selbst wenn dann weiss ich danach zur vollständigen Lösung nicht weiter.
 
kanns sein dass du bei deiner Schulung gepennt hast? Bei mir funktioniert das Teil was ookami gepostet hat hervorragend.

Vielleicht mal ein 'chmod 700 <scriptname>' auf das script machen ....

Btw reichlich früh am Sonntag abend zu posten und erwarten Dienstag steht das Teil ohne Ahnung zu haben. Lag nicht ein Wochenende dazwischen oder?
 
sorry wenn ich hier irgend jemand beleidigt habe.
Ja es lag ein Wochenende dazwischen in dem ich von Freitag Mittag 13 Uhr bist Gestern Abend 23 wirklich durchgehend (2 Stunden schlafen) alles an Unterlagen von der Schule sowie alle "man" der entsprechenden funktionen durchgelesen habe.

Ich habe hier nur höflich nach etwas unterstützung gefragt und auch sehr nette Tips erhalten.
Wil auch nicht betteln weil ich zu Faul war übers Wochenende meine Übungen zu machen sondern will eigentlich lernen. Mir fehlen im Moment einfach nur die passenden Hilfebücher die ich erst besorgen muss was aber bis Morgen nicht mehr reicht.

mfg
 
achso noch was . Es kann nich sein dass ich im Unterricht geschlafen habe denn dazu ist mir meine Berufliche und auch die meiner Familie viel zu wichtig. Aber ich denke es kann durchaus sein wenn mann sämtliche Befehle wie cut ,sort,tr usw. mit allen Schaltern und Variationen und dazu noch den Hammer von Shellscripts in 3 Tagen ins Hirn geprügelt bekommt ohne jegliche brauchbare Bücher. Dass man da nicht wirklich alles auf anhieb versteht.

Soviel zu meiner Verteidigung.
 
Zurück
Oben