Sie sind nicht angemeldet.

Fedora Login Script

Lieber Besucher, herzlich willkommen bei: Linux Forum Linux-Web.de. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

1

21.02.2006, 09:45

Login Script

Hallo zusammen!!

Beim Anmelden eines Benutzers soll ein Script ausgeführt werden. In welcher Datei muss ich was eintragen. Im homeverzeichnis des Useres ist eine Versteckte .bashprofile in dieser habe ich schon änderungen vorgenommen (Script soll aufgerufen werden) nur werden die Änderungen nicht gemacht.

Kann mir jemand sagen wo ich es eintragen kann damit das Script beim anmelden als User (nicht als root) ausgeführt wird.

linuxerr

Prof. Dr. Schlaumeier

  • »linuxerr« ist männlich

Beiträge: 8 557

Wohnort: Mecklenburg, zur Entwicklungshilfe in Chemnitz/Sachsen ;-)

  • Nachricht senden

2

21.02.2006, 10:17

RE: Login Script

die änderungen werden schon gemacht, aber erst bei der nächsten anmeldung. also konsole schliessen (<strg><D>) und noch einmal anmelden.
Die Rechtschreibfehler in diesem Beitrag sind nicht urheberrechtlich geschützt.
Jeder der einen findet darf ihn behalten und in eigenen Werken weiterverwenden.

3

21.02.2006, 13:10

RE: Login Script

die .bash_profile sieht so aus.
Habe jeweils echos eingabut (Test).
Keins der Echo Befehle wird ausgeführt.
Irgendwie wird die bash_profile nicht nach den login ausgeführt (beende immer mit strg + d oder mit neustrat).
# .bash_profile
echo 111111
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
echo 222222
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin
echo 333333
export PATH
unset USERNAME

kann man selber ein Script erstellen das nach Anmeldung eines bestimmten Useres ausgeführt wird wenn ja wie???

strcat

Unix Gladiator

  • »strcat« ist männlich

Beiträge: 2 331

Wohnort: /Earth/Germany/Bavaria/Regensburg

  • Nachricht senden

4

21.02.2006, 13:40

RE: Login Script

Zitat

Original von Newbie85
kann man selber ein Script erstellen das nach Anmeldung eines bestimmten Useres ausgeführt wird wenn ja wie???

Lies die Manpage der Shell.
| $ man bash | less -p '^INVOCATION'
Christian 'strcat' Schneider <http://www.strcat.de/>
/* When all else fails, read the instructions. */

saciel

Fortgeschrittener

  • »saciel« ist männlich

Beiträge: 202

Wohnort: Nähe Nürnberg

Beruf: Student (Dipl.Phys.)

  • Nachricht senden

5

21.02.2006, 13:55

Bist du sicher, dass die echo's nicht ausgeführt werden? Das Problem hatte ich auch mal bei einem Script, dass beim Herunterfahren ausgeführt werden sollte. Da wurde die Standardausgabe nach /dev/null umgeleitet und erschien somit nicht auf dem Bildschirm. Probier doch einfach mal

Quellcode

1
echo Texttext > /dev/console

Damit leitest du die Standardausgabe auf jeden Fall auf die Konsole und dann guck mal ob was da steht...

strcat

Unix Gladiator

  • »strcat« ist männlich

Beiträge: 2 331

Wohnort: /Earth/Germany/Bavaria/Regensburg

  • Nachricht senden

6

21.02.2006, 14:14

echo(1) gibt *immer* auf STDOUT aus; es sei denn, es wird eine Redirection angegeben. ``>/dev/console'' braucht er nicht. Er soll die Manpage lesen, dann weiss er auch was sein Problem ist.
Christian 'strcat' Schneider <http://www.strcat.de/>
/* When all else fails, read the instructions. */

7

21.02.2006, 14:21

Habe die echos alle mit
> /dev/console umgeleitet aber das Ergebnis ist das selbe.
Welche manpage soll ich lesen ('Verstehe nicht wie du das meinst)???

Frage: Bei einen Anderen Fedora PC ist in /home/username ein .profile Script drin. In diesem kann ich sämtliche befehle eintragen die nach den login ausgeführt werden. Wieso besitzt mein der andere PC nicht dieses Script obwohl gleiche fedora Version bei der installation verwendet wurde. (habe ich was vergessen zu installieren??)
Was muss man installieren das ich die .profile Script habe???

strcat

Unix Gladiator

  • »strcat« ist männlich

Beiträge: 2 331

Wohnort: /Earth/Germany/Bavaria/Regensburg

  • Nachricht senden

8

21.02.2006, 14:31

Gib in einem Xterm

Quellcode

1
man bash | less -p '^INVOCATION'

und lies was da steht.
Christian 'strcat' Schneider <http://www.strcat.de/>
/* When all else fails, read the instructions. */

linuxerr

Prof. Dr. Schlaumeier

  • »linuxerr« ist männlich

Beiträge: 8 557

Wohnort: Mecklenburg, zur Entwicklungshilfe in Chemnitz/Sachsen ;-)

  • Nachricht senden

9

21.02.2006, 14:31

höre auf strcats rat!! gib auf der konsole
man bash ein und lies, dann wird auch deine frage zu .profile beantwortet.

mit /begriff_den_du_suchst kannst du in der man-page suchen.
Die Rechtschreibfehler in diesem Beitrag sind nicht urheberrechtlich geschützt.
Jeder der einen findet darf ihn behalten und in eigenen Werken weiterverwenden.

saciel

Fortgeschrittener

  • »saciel« ist männlich

Beiträge: 202

Wohnort: Nähe Nürnberg

Beruf: Student (Dipl.Phys.)

  • Nachricht senden

10

21.02.2006, 16:58

Zitat

Original von strcat
echo(1) gibt *immer* auf STDOUT aus; es sei denn, es wird eine Redirection angegeben. ``>/dev/console'' braucht er nicht. Er soll die Manpage lesen, dann weiss er auch was sein Problem ist.


Ja, aber STDOUT ist doch nicht zwangsweise die Konsole, sondern eben das was man mit ">" zuweist bzw. was durch eine übergeordnete Instanz schon zugewiesen wurde. Echo kann auch nach /dev/null oder in eine Datei ausgeben!

strcat

Unix Gladiator

  • »strcat« ist männlich

Beiträge: 2 331

Wohnort: /Earth/Germany/Bavaria/Regensburg

  • Nachricht senden

11

21.02.2006, 17:01

Zitat

Original von saciel
Ja, aber STDOUT ist doch nicht zwangsweise die Konsole, sondern eben das was man mit ">" zuweist bzw. was durch eine übergeordnete Instanz schon zugewiesen wurde. Echo kann auch nach /dev/null oder in eine Datei ausgeben!


Kann es, ja. Wird aber nicht gemacht, weil die Konfigurationsdateien der Shell von der Shell Zeilenweise interpretiert und abgearbeitet werden. Wenn da "echo foobar" drin steht, dann wird es auf STDOUT ausgegeben. Hoer auf die Tatsachen zu verdrehen.
Christian 'strcat' Schneider <http://www.strcat.de/>
/* When all else fails, read the instructions. */

12

22.02.2006, 09:20

Gibt es einen Unterschied zu ksh und bash. Habe beim anlegen des Users den die ksh shell mitgeteilt.

linuxerr

Prof. Dr. Schlaumeier

  • »linuxerr« ist männlich

Beiträge: 8 557

Wohnort: Mecklenburg, zur Entwicklungshilfe in Chemnitz/Sachsen ;-)

  • Nachricht senden

13

22.02.2006, 09:34

ja, natürlich gibt es da unterschiede!!!!!! lies die man-page
man ksh
da steht alles wichtige drin!
die ksh nutzt die datei .profile , die bash übrigens auch.
Die Rechtschreibfehler in diesem Beitrag sind nicht urheberrechtlich geschützt.
Jeder der einen findet darf ihn behalten und in eigenen Werken weiterverwenden.

14

22.02.2006, 09:39

wenn die ksh die .profile nutzt. Wieso besitz ich dann nur ein .bash_profile.l

linuxerr

Prof. Dr. Schlaumeier

  • »linuxerr« ist männlich

Beiträge: 8 557

Wohnort: Mecklenburg, zur Entwicklungshilfe in Chemnitz/Sachsen ;-)

  • Nachricht senden

15

22.02.2006, 09:59

Zitat

Original von Newbie85
wenn die ksh die .profile nutzt. Wieso besitz ich dann nur ein .bash_profile.l

keine ahnung WIESO DU nur die .bash_profile.1???? bestitzt. in der man-page von ksh steht davon nichts drin. es bringt wohl auch nichts, darüber zu philosophieren, woher die kommen könnte. schau in die man-pages da steht drin, welche dateien entscheident sind. sollte die benötigte datei nicht da sein, dann musst du sie anlegen, fertig. die shells nutzen die dateien nur, wenn sie auch da sind und wenn bestimmte andere bedingungen erfüllt sind (siehe man page).
Die Rechtschreibfehler in diesem Beitrag sind nicht urheberrechtlich geschützt.
Jeder der einen findet darf ihn behalten und in eigenen Werken weiterverwenden.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »linuxerr« (22.02.2006, 10:00)


16

22.02.2006, 11:16

Bin Gerade am duchlesen
muss wohl selber ein .profile ins homverzeichnis stellen und der erste befehl muss wohl $0 sein.

Mir ist noch eine andere Idee eingefallen
wenn ich in der etc/profile eine Abfrage ein bau
if $USERNAME=User
Befehl
fi

bonsai

Prof.Dr. Klugschiss

  • »bonsai« ist männlich

Beiträge: 1 486

Wohnort: N.de

Beruf: Informatiker

  • Nachricht senden

17

22.02.2006, 11:32

Login-Vorgang (BASH)

1. /etc/profile wird ausgeführt (FÜR ALLE USER!)
2. /etc/motd (Begruessungtext)
3. Hoffe ich bringe es zusammen!
FOLGENDE DATEIEN werden gesucht und ausgefuehrt. Sobald EINE gefunden wurde,
wird keine mehr gesucht und ausgefuehrt - AUSSER, der Start dieser Datei steht in
einer der vorangegangenen.

a.) ~/.bash_profile
b.) ~/.bash_login
c.) ~/.profile

(Hoffe, das war jetzt richtig - denke aber schon.

Kind regards,

Bernd
Die erste programmgesteuerte Rechenmaschine (Z1) wurde Mitte der 30er Jahre als "nicht patentwürdig" eingestuft. Warum versaut mir das Ding 50 Jahre später immer noch den Tag?

linuxerr

Prof. Dr. Schlaumeier

  • »linuxerr« ist männlich

Beiträge: 8 557

Wohnort: Mecklenburg, zur Entwicklungshilfe in Chemnitz/Sachsen ;-)

  • Nachricht senden

18

22.02.2006, 11:37

Zitat

Original von Newbie85
Bin Gerade am duchlesen
muss wohl selber ein .profile ins homverzeichnis stellen und der erste befehl muss wohl $0 sein.

und wozu soll $0 gut sein?

Zitat


Mir ist noch eine andere Idee eingefallen
wenn ich in der etc/profile eine Abfrage ein bau
if $USERNAME=User
Befehl
fi

probier es aus und sieh was passiert :)
wenn du vor hast, dich mit der shell programmierung eingender zu beschäftigen, würde ich dir zu einem guten buch raten, zb das hier oder etwas preiswerter, aber auch nicht so umfassend das hier

@bonsai
es geht hier nicht um die bash, sondern um die ksh
Die Rechtschreibfehler in diesem Beitrag sind nicht urheberrechtlich geschützt.
Jeder der einen findet darf ihn behalten und in eigenen Werken weiterverwenden.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »linuxerr« (22.02.2006, 11:38)


bonsai

Prof.Dr. Klugschiss

  • »bonsai« ist männlich

Beiträge: 1 486

Wohnort: N.de

Beruf: Informatiker

  • Nachricht senden

19

22.02.2006, 11:50

ksh...

naja, dann halt einige Shells:

Bash, wie ich geschrieben habe.


KSH: /etc/profile + ~/.profile

CSH:
1. /etc/csh.cshrc
2. /etc/csh.login
3. ~/cshrc ODER ~/tcshrc
4. ~/.history
5. ~/.login
6. ~/.cshdirs

Unterscheidung zwischen Usern würde ich auf dem Weg machen, dass ich die Userbezogenen Skripten ändere - alles andere ist "Murks". (Obwohl es Spass macht und bei wenigen Usern auch administrierbar ist!) ;)

Kind regards, Bernd
Die erste programmgesteuerte Rechenmaschine (Z1) wurde Mitte der 30er Jahre als "nicht patentwürdig" eingestuft. Warum versaut mir das Ding 50 Jahre später immer noch den Tag?

strcat

Unix Gladiator

  • »strcat« ist männlich

Beiträge: 2 331

Wohnort: /Earth/Germany/Bavaria/Regensburg

  • Nachricht senden

20

22.02.2006, 12:06

Zitat

Original von Newbie85
Bin Gerade am duchlesen
muss wohl selber ein .profile ins homverzeichnis stellen und der erste befehl muss wohl $0 sein.

Mir ist noch eine andere Idee eingefallen
wenn ich in der etc/profile eine Abfrage ein bau
if $USERNAME=User
Befehl
fi

Lies endlich die verschissene Manpage oder geh weg.
Christian 'strcat' Schneider <http://www.strcat.de/>
/* When all else fails, read the instructions. */

Thema bewerten