[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [Debian]:Gesucht: Skript "foreachuser"



Am Samstag, den 15. April 2000, um 12:39h schrieb Heiko Schlittermann:

> : Sinn/Hintergrund: ich möchte z.B. in jedes $HOME eine bestimmte Datei
> : kopieren, in der allerdings u.a. der jeweilige Username stehen muß. Das
> : ganze sollte etwa so aussehen (das wäre das, wenn ichs machen würde):
> : 
> : 	foreachuser <-g grouplist|-u userlist> <cmdline> [parameters]
> : 
> Das sieht nach Arbeit aus ...
die andere sich schon gemacht haben ;-(

> Ich wuerd's mit perl versuchen, die /etc/passwd zerpfluecken, oder
> sicherer mit getpwent() traversieren.
:-)            """"""""""
imho auch besser als der Perl-Kram...

===cut===
#!/bin/bash

UCMD="$1"
USERLIST=$(perl -e 'open(P,"</etc/passwd");while(<P>){chomp;if(/.*\:\/home\/(.*)\:\/.*$/){print"$1 ";}}')

for i in $USERLIST; do
	su - $i --command="$UCMD"
done
===cut===

als "foreachuser" abspeichern. Aufruf etwa so: ./foreachuser "whoami;ls -l"
Wenn Du kein Login-Shell willst, mach' das '-' hinter su weg. Das
Script bearbeitet nur User mit einem Homedir in /home und Shell.
-- 
   Michael                  LDKnet / LDK/LUG / Unix-AG
     *Weitzel* /LinuX --- email: weitzel@ldknet.org
------------------------------------------------
Um sich aus der Liste auszutragen schicken Sie
bitte eine E-Mail an majordomo@jfl.de die im Body
"unsubscribe debian-user-de <deine emailadresse>"
enthaelt.
Bei Problemen bitte eine Mail an: Jan.Otto@jfl.de
------------------------------------------------
Anzahl der eingetragenen Mitglieder:     721


Reply to: