Befehl xy nach Login ausfuehren

Post Reply
Message
Author
Julius

Befehl xy nach Login ausfuehren

#1 Post by Julius »

heya,
gibt es die möglichkeit, in abhängigkeit vom eingeloggten benutzer,
nach seinem erfolgreichem login, einen bestimmten befehl auszufuehren ?

schonma danke,
julius

PS: bitte keine antworten zu, 'kannste doch mit init level x machen...'

Andre

Re: Befehl xy nach Login ausfuehren

#2 Post by Andre »

hi,
trag einfach den befehl in die "~/.bashrc" ein <img src="http://www.pl-forum.de/UltraBoard/Images/Wilk.gif" border="0" align="middle">

Andre

Lexua

Re: Befehl xy nach Login ausfuehren

#3 Post by Lexua »

Wenn du willst, daß der Befehl allg. gültig sein soll, also für jede Anmeldung, dann schreib den Befehl in /etc/profile rein.

Julius

Re: Befehl xy nach Login ausfuehren

#4 Post by Julius »

huh, sorry koennt ihr mir den code nennen ala

wenn username = "Karl" dann fuehre programm xy aus

?

merci
julius

trinity
Posts: 821
Joined: 12. Oct 2001 10:04

Re: Befehl xy nach Login ausfuehren

#5 Post by trinity »

du kannst ja den namen des home Directory überprüfen $home. oder die Ausgabe von who...
"Korrekt, Freundlich, Kostenfrei", wähle genau zwei. (Lutz Donnerhacke in dcsf)

Andre

Re: Befehl xy nach Login ausfuehren

#6 Post by Andre »

~ = HOME-Verzeichnis (entsprechend des Users)
~/.bashrc = HOME-Verzeichnis/.bashrc

"echo $HOME"
angenommen da kommt "/home/Karl" raus, fuegst du den Befehl in die Datei "/home/Karl/.bashrc" ein.

Andre

Rosssi

Re: Befehl xy nach Login ausfuehren

#7 Post by Rosssi »

Oder in der etc/profile

if [ $UID = "1001" ]; then
mach mir den Befehl
fi

Wobei 1001 die UID für karl wäre. Nicht sicher ob $UID oder $uid, aber das läßt sich rausfinden. Kanst Du auch it $GID machen, wenn es ganze Gruppen betreffen soll.

Willst Du nur bestimme Benutzer, die nicht einer Gruppe angehören (oder nich alle Benuzter der Gruppe sollen das Programm ausführen) so kannst Du eine Datei anlegen (z.B. /etc/startlogin) und da alle BenutzerIDs (die Nummerischen, nicht die Namen. Obwohl, irgendwie geht das sicher auch mit den Namen) einfügen und dann per "for" Schleife die akutelle ID nach dem obigen Schema überprüfen

# /etc/startlogin
1001 # Karl
1002 # Egon
1010 # Marianne
# End of /etc/startlogin

#/etc/profile
...
BENUTZER=`cat /etc/startlogin`
for N in $BENUTZER; do
if [ $UID = $N ]; then
mache befehle
break
fi
done
...
Hoffe, die Syntax stimmt so. Bin nicht so fit on shell. Macht u.U mehr Sinn als 200 mal die .bashrc zu editieren. Solltest Du soviele Benutzer haben.

P.S.: Wo ist der Unterschied zwischen .bashrc und .bash-login ?

Julius(Jetz Stufe:2)

Re: Befehl xy nach Login ausfuehren

#8 Post by Julius(Jetz Stufe:2) »

danke an alle, im moment mach ich das ueber die .bashrc,
aber das mit der $UID is auch interessant...kann man die irgendwie selbst festlegen oder
muss ich die so nehmen wie'se kommen ?

nochma danke,
julius

Roosi

Re: Befehl xy nach Login ausfuehren

#9 Post by Roosi »

Die UID werden vom System (oder von Dir) vergeben, wenn Du einen neuen Benutzer anlegst. Es ist quasi die numerische Represäntation von dem login Namen. cat /etc/passwd; da stehen alle uids mit den zugehörigen Namen drin.

Ein echo $UID (oder echo $uid) auf der Kommandozeile sollte Dir deine aktuelle UID verraten.

Post Reply