Diese Website existiert nur weil wir Werbung mit AdSense ausliefern.
Bitte den AdBlocker daher auf dieser Website ausschalten! Danke.

Viele Benutzer auf einmal anlegen

Alles rund um die verschiedenen Konsolen und shells sowie die Programmierung unter Linux

Moderator: Moderatoren

Antworten
dshks

Viele Benutzer auf einmal anlegen

Beitrag von dshks »

Hi,
ich habe in unserem Karriereinstitut die Aufgabe ca 700 Benutzer für Linux und für Samba anzulegen.
Die Eingaben:

Code: Alles auswählen

useradd user_x 
smbpasswd -a user_x
useradd user_y 
smbpasswd -a user_y
.....
kann ich zwar im Prinzip in ein Skript legen, aber in dem Skript möchte ich auch für jeden neuen User ein individuelles Passwort haben.
Ich kann das zwar mit

Code: Alles auswählen

passwd user_x
smbpasswd user_x
passwd user_y 
smbpasswd user_y
hinterher ändern, aber für 700 User ist das doch sehr mühselig.
Kann ich das eleganter in einem Rutsch mir einem Script o.ä. lösen?

cu
rolle
Guru
Guru
Beiträge: 3724
Registriert: 4. Mai 2004, 21:50
Kontaktdaten:

Beitrag von rolle »

hallo ernst!

gibt es die nutzer schon? oder anders gefragt, steigt ihr von einem nt-server um?
wenn ja, dann können per vampire-befehl einfach alle nutzer uebernommen werden.
(im samba-forum waere deine frage auch gut aufgehoben)

roland
dshks

Beitrag von dshks »

Nein, die Benutzer existieren noch nicht. Wir steigen auch nicht von einem NT oder sonstigem Server um.
Es ist eine Neuinstallation für 2 Computerräume, einem mit Win-XP und einem mit einem LTSP (Linux Terminal Server Netz).
Auf der Linuxseite fungiert der Server als PDC für die Win-Rechner. Alle User sollen unabhängig vom System immer über ihre individuellen Daten verfügen können.

cu
stka
Moderator
Moderator
Beiträge: 3313
Registriert: 1. Jun 2004, 13:56
Wohnort: 51°58'34.91"N 7°38'37.47"E
Kontaktdaten:

Beitrag von stka »

Willst du 700 Benutzer auf einem SAMBA Server ohne eine BDC verwalten? Was wenn der Server ausfällt? Du solltest dir Überlegen, einen zweiten Server als BDC einzurichten. Das ganze dann mit LDAP koppeln.
Zusammen mit den smbldap-tools kannst du dann über Skripte ein Menge erledigen. Dann hast du auch eine Backuplösung ;-)

Gruß

Stefan
Benutzeravatar
TeXpert
Guru
Guru
Beiträge: 2166
Registriert: 17. Jan 2005, 11:22

Beitrag von TeXpert »

ich habe an der Uni mir mal so ein kleines Script gebastelt, dass mir das Anlegen von ganzen Usergruppen mit individuellen Passwörtern ermöglicht hat. Das war um Übungsgruppen mit individuellen Shell-Logins zu versorgen (achtung so nur für max 99 User)

run as root :) and read before you do!

Code: Alles auswählen

#!/bin/bash

if [ $# -lt 4 ]
then
  echo "usage addclass comment prefix count gid"
  exit 1
fi

# mktempdir 
TEMPDIR=`mktemp -d`
USERLIST=

# anlegen
for i in $(seq 1 $3)
do
  NAME="$2`printf "%2.2d" $i`"
  PWD=`mktemp ${TEMPDIR}/XXXXXXXX`
  PWD=`basename $PWD`
  useradd -c "$1" -g $4 -m $NAME
  ./changepwd $NAME $PWD
  USERLIST=`echo -e "$USERLIST\n $NAME / $PWD"`
done

clear
echo "USERLISTE: $1"
echo "---------------"
echo "$USERLIST"
echo "---------------"

# remove tempdir
rm -rf $TMPDIR
das entscheidende ist changepwd, das lag im gleichen Ordner und sieht so aus:

Code: Alles auswählen

#!/usr/bin/expect -f

set USER [lindex $argv 0]
set PASSWD [lindex $argv 1]

stty -echo
spawn -noecho passwd $USER

expect {
    "New password: " {
        sleep 0.5
        send "$PASSWD\r"
        exp_continue
    }
    "Re-enter new password: " {
        sleep 0.5
        send "$PASSWD\r"
        exp_continue
    }
    "Das Passwort wurde geändert." {
        exit 0
    }
}
dshks

Das habe ich gesucht

Beitrag von dshks »

Hi ,
Danke an TeXpert :D .
Das war im Prinzip genau das, was ich gesucht habe.
Eine kleine Anpassung an changepwd gemacht:

Code: Alles auswählen

expect {
     "New SMB password:" {
         sleep 0.5
         send "$PASSWD\r"
         exp_continue
     }
     "Retype new SMB password:" {
         sleep 0.5
         send "$PASSWD\r"
         exp_continue
     }
Und schon läuft es auch für Samba.

cu ernst
Benutzeravatar
TeXpert
Guru
Guru
Beiträge: 2166
Registriert: 17. Jan 2005, 11:22

Beitrag von TeXpert »

einen kleinen Sicherheitshinweis, mktemp legt die Daten im /tmp an! hier sollte für root normalerweise die Umask passend sein, aber sicherstellen, dass nur root das zuerst angelegte temp-Dir lesen kann, sonst kannst Du die Passwörter auslesen.
Antworten