"adduser" skript

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
supamicha
Beiträge: 17
Registriert: 30.12.2003 01:09:29
Wohnort: Berlin

"adduser" skript

Beitrag von supamicha » 13.01.2004 20:55:53

Ich muss ein Skript schreiben, dass einen neuen User ins System einfügt. Dazu muss u.a. der neue User in die /etc/passwd eingetragen werden.
Dem User muss eine ID gegeben werden, die >=1000 ist.
Könnt ihr mir sagen, wie ich an die erste passende UserID rankomme?

Ich hatte die Idee ein

Code: Alles auswählen

ls /home |wc -l
zu machen, um rauszufinden wieviel user bereits am System angemeldet sind und dann diese Anzahl zu 1000 zu addieren. diese Lösung gefällt mir aber nicht, da ja das home verzeichnis nicht in /home liegen muss.

Benutzeravatar
Stefan.K
Beiträge: 148
Registriert: 06.03.2003 10:49:06
Wohnort: Schweiz
Kontaktdaten:

/etc/passwd

Beitrag von Stefan.K » 13.01.2004 21:02:32

Schau doch in die /etc/passwd nach den Userids >= 1000, die fehlenden kannst du dann zum anlegen verwenden.

Aber werden nicht allen "normalen" Usern automatisch IDs >= 1000 zugewiesen :?:
Ubuntu Gutsy Gibbon, 2.6.20

Benutzeravatar
spiffi
Beiträge: 1128
Registriert: 09.08.2003 19:02:27

Beitrag von spiffi » 13.01.2004 21:06:08

Öhm, sowas gibts schon und heißt....
adduser :mrgreen:
Wenn Du Dir sowas aber unbedingt selber schreiben möchtest, dann schau doch einfach in das bereits vorhandene adduser-Skript, um zu sehen, wie die die erste frei uid ermitteln.

Torsten
Beiträge: 384
Registriert: 24.09.2002 22:51:07
Kontaktdaten:

Beitrag von Torsten » 13.01.2004 23:29:28

Moinsen,

adduser ist wirklich sahne.

In der /etc/adduser.conf kannst Du noch allerhand Einstellungen vornehmen. Sehr edel.
Zum eventuellen Löschen empfehlt Debian das hauseigene deluser. Dazu gibt es auch ein skript, welches beispielsweise einstellt, ob beim Löschen auch $HOME gelöscht werden soll.

Torsten

supamicha
Beiträge: 17
Registriert: 30.12.2003 01:09:29
Wohnort: Berlin

Beitrag von supamicha » 14.01.2004 15:16:51

spiffi hat geschrieben:
Wenn Du Dir sowas aber unbedingt selber schreiben möchtest, dann schau doch einfach in das bereits vorhandene adduser-Skript, um zu sehen, wie die die erste frei uid ermitteln.
Das war wohl wieder zu einfach.

Ich muss das Skript für die Schule schreiben.

Benutzeravatar
Joghurt
Beiträge: 5244
Registriert: 30.01.2003 15:27:31
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Joghurt » 14.01.2004 19:15:30

Wenn man davon ausgeht, das alle "normalen" UsedID's im Bereich
[1000..9999] liegen müssen (sshd hat bei mir z.B. 65534) bekommst du die größte Benutze ID z.B. hiermit:

Code: Alles auswählen

cut -d: -f3 /etc/passwd|grep "^....$"|sort -n|tail -n1

supamicha
Beiträge: 17
Registriert: 30.12.2003 01:09:29
Wohnort: Berlin

Beitrag von supamicha » 15.01.2004 18:33:06

Danke @Joghurt. Nach sowas hab ich gesucht.

Antworten