Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

Mit diesen vier Zeilen Shell Code kann man unter Unix automatsich Benutzer anlegen.


grep -v '#' $1 | while read benutzer passwort gruppe;

do

useradd -g $gruppe -m -p $passwort $benutzer;

done

@Grueti

Warum hast du das gepostet?

@bigred2010:

Wir sollten das vor kurzem in der Berufsschule machen und einige haben versucht einen schon fertigen Code für das automatische anlegen von unix usern in shell im internet zu finden. Die haben aber nichts gefunden. Unser Lehrer meinte das sowas niemand ins Internet stellen würde weil das zu einfach ist oder wie er sich ausdrückte: "zu effe".

Ich hatte dann die Idee das ich die Ehre übernehme der erste zu sein der sowas ins Internet stellt.

@flashpixx

Was ist BSD?

@flashpixx

Was ist BSD?

Ich bin zwar nicht flashpixx, aber siehe hier.

Grüße,

bytebrain

@flashpixx

Was ist BSD?

Berkeley Software Distribution ? Wikipedia

The FreeBSD Project

Zur Info: Dein Script ist für eine bestimmte Shell geschrieben, da bei BSD eine andere Standard-Shell aktiv ist, kann es mitunter nicht lauffähig sein. Du musst wenn Du es passend machen möchtest, das Shell Script so schreiben, dass aus ihm hervorgeht, unter welcher Shell es läuft und vor allem würde ich das OS, das Du benutzt angeben.

z.B. benutze ich Mac OS, was aus einem BSD hervorgeht. mein System hat nicht das Kommando "useradd"

Phil

Das Betriebssystem unter dem das Ausgeführt wurde ist Open SUSE Linux.

Vorgehen:

Man erstellt ein einfaches Dokument wo man zeilenweise die User reinschreibt mit ihren Passwärtern und Gruppen. Getrennt wird das ganze von leerzeichen.

Hier ein Beispiel:

user1 passwort1 gruppe1

user2 passwort2 gruppe2

usw.

Dann schreibt man in eine andere Datei oben den Code und wenn man dann das ShellSkript ausführt muss man noch die Textdatei mit den Benutzern angeben und dann werden die Benutzer angelegt.

Und dann hat man ein File auf der Maschine liegen, das Angreifern, die auf das System schauen, eine schöne Übersicht über die Passwörter der User gibt, wenn man vergisst es dort zu löschen. ;)

Mal im Ernst. In der Zeit in der man die Userliste geschrieben (und evtl noch hochgeladen) hat, hat man genauso auch die User angelegt.

Einzig sinnvoll wäre, wenn man das per cronjob aufrufen würde, dass in einem Ordner ständig gecheckt wird, ob ein User angelegt werden soll oder nicht. Anderseits - wenn dann sollte doch der Serveradmin die Herrschaft über das System behalten und nicht jemand anders einfach User "automatisch anlegen" können.

Bearbeitet von Crash2001

Außerdem würde ich keine 20 User per Hand pflegen wollen. Wofür gibt es LDAP, in dem ich zusätzlich einstelle (das geht auch bei der Konsole), dass der User beim ersten Login sein PW ändern muss

Das Betriebssystem unter dem das Ausgeführt wurde ist Open SUSE Linux.

Und welche Shell?

Phil

#!bin/bash

Ich denke nächstes mal solltest du dein Post etwas ausführlicher schreiben ;)

z.B. benutze ich Mac OS, was aus einem BSD hervorgeht. mein System hat nicht das Kommando "useradd"

Weil es ja Sinn macht unter Mac OS einen Benutzer via CLI zu erstellen... Ich hab hier auch zwei Macs stehen und musste noch nie einen Benutzer per Konsole hinzufuegen.

Uebrigens: Wenn man schon mit BSD prahlt, dann sollte man wissen was man schreibt.

Das Script wuerde (rein von der Syntax) einwandfrei unter der tcsh von FreeBSD funktionieren, nur gibt es da ebenfalls kein useradd, dafuer aber adduser und vipw.

So lange read kein builtin ist und die Shell bournekompatibel ist, wird es fuer denjenigen, der ein Script fuer sowas braucht, funktionieren.

Aber ich finde das solche Scripte eigentlich unsinnig. Einen User hinzuzufuegen ist nicht schwer und ne Manpage ist auch schnell aufgerufen, falls man sich nicht sicher sein sollte. Wozu also der Umweg?

Das Script wuerde (rein von der Syntax) einwandfrei unter der tcsh von FreeBSD funktionieren, nur gibt es da ebenfalls kein useradd, dafuer aber adduser und vipw.

Voraussetzung ist, dass man die tcsh auch verwendet. Es ginge ja hier um den Hinweis, dass es nicht generell unter "Unix" läuft. Aus den Code Zeilen im OP geht nicht hervor welche Shell bzw OS eingesetzt wird, somit kann es kein "generelles Unix Script" sein, denn Suse Linux ist nicht Unix

Phil

Aus den Code Zeilen im OP geht nicht hervor welche Shell bzw OS eingesetzt wird, somit kann es kein "generelles Unix Script" sein, denn Suse Linux ist nicht Unix

Wieso nicht? Man guckt das Ding an und weiss, dass eine beliebige bourne Shell und ein GNU System gemeint sind.

Und zum Thema Unix: Ich denke nicht, dass UNIX noch existiert, ausser bei Asbachuraltsystemen wie bei manchen Kasernen. Da laeuft manchmal noch der AT&T-Krams. Linux wuerde ich mittlerweile schon zu den unixoiden Betriebssystemen zaehlen.

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.