Hallo Liste !! Ich habe folgende Vorstellungen / Fragen: - NACH dem erfolgreichen Login soll sofort ein ausführbares Programm bzw. Shellskript gestartet werden. Ist das möglich - und wenn ja, WIE ??? Kann man dies ggf. so realisieren, daß bei verschiedenen Anwendern nach dem Login auch verschiedene Progr. gestartet werden ?? Und besteht eine Möglichkeit, daß ein Anwender dann nur das gestartete Programm zu Gesicht bekommt und nach Abbruch des Programms / Skripts direkt wieder aus dem System rausfliegt und sich erneut einloggen muß ??? Und hier noch etwas OT: - Wie kann ich Tasten(-kombinationen) wie ctrl-c oder den Affengriff per Skript oder in einem C-Programm abstellen ?? - Kennt jemand eine (brauchbare) Liste für C-Coding ??? Nach Möglichkeit in deutscher Sprache, ist aber nicht zwingend. ( Solange es nicht Serbokroatisch o.ä. ist ;-) ) OK, vielen Dank schonmal im Voraus !! CU :-) Claudia --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
Hallo Claudia, * Claudia Arnold schrieb am 23.Dez.2000:
- NACH dem erfolgreichen Login soll sofort ein ausführbares Programm bzw. Shellskript gestartet werden. Ist das möglich - und wenn ja, WIE ???
Klar ist das möglich. Wird ja auch gemacht. Ich gehe mal davon aus, daß Du als Standardshell die bash hast. Nach dem Login auf der Konsole, hast Du eine sogenannte Loginshell. Die führt als erstes /etc/profile und dann ~/.profile aus. /etc/profile ist für alle User gleich, während ~ für das Homeverzeichnis des jeweiligen Users steht. Somit hat jeder User sein eigenes ~/.profile. Nun ist es aber so, daß eine andere interaktive shell, die keine Loginshell ist, sich anders verhält. Eine interaktive shell, die keine Loginshell ist, erhälst Du, wenn Du einen xterm oder ähnliches aufmachst, oder an der Konsole sh bzw. bash eingibst. So eine Shell ruft nur ~/.bashrc auf. Da das Verhalten möglichst gleich sein soll, sehen die ~/.profile Dateien bei SuSE so aus, daß sie die ~/.bashrc aufrufen und die ~/.bashrc ruft als erstes die /etc/profile auf, wenn das noch nicht geschehen ist. Dafür wird in der /etc/profile eine Variable gesetzt. Natürlich kann jeder User seine ~/.profile und seine ~/.bashrc verändern wie er will, sollte dabei aber vorsichtig sein. Weiterhin wird durch SuSEconfig, daß z.B von yast aufgerufen wird, wenn man neue Pakete einspielt, die /etc/profile wieder im Urzustand versetzt. Will man da was eigenes haben, so gibt es die Datei /etc/profile.local die von der SuSE /etc/profile aufgerufen wird, wenn sie existiert. Man sollte somit nur die /etc/profile.local und die ~/.bashrc editieren.
Kann man dies ggf. so realisieren, daß bei verschiedenen Anwendern nach dem Login auch verschiedene Progr. gestartet werden ??
Da kann jeder User was anderes in seiner ~/.bashrc stehen haben.
Und besteht eine Möglichkeit, daß ein Anwender dann nur das gestartete Programm zu Gesicht bekommt und nach Abbruch des Programms / Skripts direkt wieder aus dem System rausfliegt und sich erneut einloggen muß ???
Da braucht nur am Ende ein exit zu stehen und er ist wieder draußen. Nicht aber beim /etc/profile.local, sonst fliegst Du auch sofort raus, da dies für alle gilt. Oder aber Du fragst vorher nach der UID. Hast Du denn bösartige oder dumme User? Offensichtlich willst Du die User nicht alles zugestehen. Wenn ein User bösartig ist, dann kann er wahrscheinlich trotzdem den Mechanismus umgehen. Kommt drauf an, was da alles ausgeführt wird. Alles Sicher zu machen wird nicht leicht sein. Wenn aber der User nicht bösartig ist, dann reicht das aus. Eine andere Möglichkeit wäre es, wenn man als shell in der /etc/passwd nicht die bash, sondern das Programm, das nach dem Einloggen ausgeführt werden soll angibt. Bedenke, das der User sein Paßwort ändern können muß und soll.
Und hier noch etwas OT:
- Wie kann ich Tasten(-kombinationen) wie ctrl-c oder den Affengriff per Skript oder in einem C-Programm abstellen ??
Du kannst mit loadkeys die Tasten anders belegen. Den Affengriff kannst Du in der /etc/inittab abstellen. Ich sehe schon, Du willst die User vor sich selber oder Dein System vor den User schützen. Hm, worum geht es da genau? Wenn Du hier eine Frage nach dem profile stellst, gehe ich mal davon aus, daß Du noch nicht allzuviel Ahnung von Linux hast. Wenn das so ist, bezweifle ich, daß Du es schafst. Du kannst natürlich Glück haben, daß Deine User auch nicht mehr wissen als Du. Wenn da aber mal ein UNIX-Profie bei sein sollte, der macht auf Deinem System was er will. Wenn Du dann auch nicht konsequent mit Deinen Sicherheitsmaßnahmen bist, kann er alles machen. Einem User alles zu verbieten verleitet auch dazu einbruchversuche zu starten. Manchmal ist Vertrauen der bessere Weg. Kann ich natürlich von hier aus nicht sagen, wie es bei Dir ist. Bernd --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
Hallo, On Sat, 23 Dec 2000 at 11:05 +0100, Claudia Arnold wrote:
Ich habe folgende Vorstellungen / Fragen:
- NACH dem erfolgreichen Login soll sofort ein ausführbares Programm bzw. Shellskript gestartet werden. Ist das möglich - und wenn ja, WIE ??? Kann man dies ggf. so realisieren, daß bei verschiedenen Anwendern nach dem Login auch verschiedene Progr. gestartet werden ?? Und besteht eine Möglichkeit, daß ein Anwender dann nur das gestartete Programm zu Gesicht bekommt und nach Abbruch des Programms / Skripts direkt wieder aus dem System rausfliegt und sich erneut einloggen muß ???
Alles, was in der ~/.profile steht, wird nach dem Login des jeweiligen Benutzers ausgeführt.
Und hier noch etwas OT:
- Wie kann ich Tasten(-kombinationen) wie ctrl-c oder den Affengriff per Skript oder in einem C-Programm abstellen ??
Ctrl-C kann in jedem Programm abgefangen werden. Wie, weiß ich jetzt nicht. Der Affengriff kann global in der /etc/rc.config abgestellt / umgestellt werden # # # CONSOLE_SHUTDOWN determines how ctrl-alt-del is handled. # Attention: CHECK_INITTAB has to be set to yes, to activate this feature. # (ignore/reboot/halt) # CONSOLE_SHUTDOWN="halt" Hier einfach ein "ignore" eintragen. Gruß, Bernhard -- -*-*-* Frohe Weihnachten und ein glückliches neues Jahr! *-*-*- *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* HP: http://www.linuxinfopage.de * Tux# 171705 * ICQ# 98361051 --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
Am Samstag, 23. Dezember 2000 11:05 schrieben Sie:
Hallo Liste !! Hallo Claudia,
Erstmal, bitte für jede Frage eine extra Mail
Ich habe folgende Vorstellungen / Fragen:
- NACH dem erfolgreichen Login soll sofort ein ausführbares Programm bzw. Shellskript gestartet werden. Ist das möglich - und wenn ja, WIE ??? Kann man dies ggf. so realisieren, daß bei verschiedenen Anwendern nach dem Login auch verschiedene Progr. gestartet werden ?? Und besteht eine Möglichkeit, daß ein Anwender dann nur das gestartete Programm zu Gesicht bekommt und nach Abbruch des Programms / Skripts direkt wieder aus dem System rausfliegt und sich erneut einloggen muß ???
Wenn Du das ganze im Textmodus machst, musst Du nur das Programm in die .profile Datei im home-Verzeichniss des Users eintragen. Ein exit danach lässt den Benutzer nach beendigung des Programms auch wieder rausfliegen. CIAO Michael
Und hier noch etwas OT:
- Wie kann ich Tasten(-kombinationen) wie ctrl-c oder den Affengriff per Skript oder in einem C-Programm abstellen ??
- Kennt jemand eine (brauchbare) Liste für C-Coding ??? Nach Möglichkeit in deutscher Sprache, ist aber nicht zwingend. ( Solange es nicht Serbokroatisch o.ä. ist ;-) )
OK, vielen Dank schonmal im Voraus !!
CU :-) Claudia
--------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
--------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
Claudia Arnold wrote:
Hallo Liste !!
Ich habe folgende Vorstellungen / Fragen:
- NACH dem erfolgreichen Login soll sofort ein ausführbares Programm bzw. Shellskript gestartet werden. Ist das möglich - und wenn ja, WIE ??? Kann man dies ggf. so realisieren, daß bei verschiedenen Anwendern nach dem Login auch verschiedene Progr. gestartet werden ?? Und besteht eine Möglichkeit, daß ein Anwender dann nur das gestartete Programm zu Gesicht bekommt und nach Abbruch des Programms / Skripts direkt wieder aus dem System rausfliegt und sich erneut einloggen muß ???
Du kannst in /etc/passwd dieses Programm für diesen User eintragen. Normalerweise steht da /bin/bash drin. Wenn du das durch dieses Programm ersetzt, kann der User nur dieses Programm starten. Natürlich kannst du für jeden User ein andres Programm eintragen.
Und hier noch etwas OT:
- Wie kann ich Tasten(-kombinationen) wie ctrl-c oder den Affengriff per Skript oder in einem C-Programm abstellen ??
AFAIR ist der Affengriff keine normale Tastatureingabe. Soll heissen es wird kein Key-Code generiert. Wenn ich mich recht erinnere, wird da auch sofort ein Interrupt ausgelöst, der erst mal vom Betriebssystem behandelt wird. Du kannst deinem Linux aber sagen, dass der Affengriff ignoriert wird. Die Einstellung kannst du in /etc/rc.config Variable CONSOLE_SHUTDOWN einstellen, mögliche Werte sind halt/reboot/ignore. ^C Abfangen geht AFAIR auch nicht, der Kernel muss die Möglichkeit haben ein Programm zu killen. ^C landet soweit ich weiss, gar nicht in der Applikation sondern wird vom Kernel "weggefangen".
- Kennt jemand eine (brauchbare) Liste für C-Coding ??? Nach Möglichkeit in deutscher Sprache, ist aber nicht zwingend. ( Solange es nicht Serbokroatisch o.ä. ist ;-) )
Sorry, muss ich passen. Frohes Fest und Guten Rutsch Andreas -- ------------------------------------------------------------------- Andreas Bock registered Linux User #136542 mailto:a_bock@gmx.de ICQ #59734306 ------------------------------------------------------------------- --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
Andreas Bock schrieb am Samstag, 23. Dezember 2000 13:52:
Claudia Arnold wrote:
- Wie kann ich Tasten(-kombinationen) wie ctrl-c oder den Affengriff per Skript oder in einem C-Programm abstellen ??
AFAIR ist der Affengriff keine normale Tastatureingabe. Soll heissen es wird kein Key-Code generiert. Wenn ich mich recht erinnere, wird da auch sofort ein Interrupt ausgelöst, der erst mal vom Betriebssystem behandelt wird. Du kannst deinem Linux aber sagen, dass der Affengriff ignoriert wird. Die Einstellung kannst du in /etc/rc.config Variable CONSOLE_SHUTDOWN einstellen, mögliche Werte sind halt/reboot/ignore.
^C Abfangen geht AFAIR auch nicht, der Kernel muss die Möglichkeit haben ein Programm zu killen. ^C landet soweit ich weiss, gar nicht in der Applikation sondern wird vom Kernel "weggefangen". Nein! Ein CTRL-c wird sehrwohl an das Programm weitergeleitet, als entsprechendes Signal. Wenn man nun im Programm einen passenden Signalhander erzeugt, und dem passenden Signal auch noch eine Funktion zuweist, wird diese ausgeführt, wenn das Signal kommt. Hab' gerade keinen Beispielcode zur Hand, kann ihn aber bei Bedarf schicken.
Der Kernel hat damit immer noch die Möglichkeit einen Prozess zu killen. Mit CTRL-c wird aber IMHO kein "SIGKILL" geschickt, sondern nur ein "SIGTERM", will heissen, dem Programm wird mitgeteilt, dass es sich terminieren soll. "Echtes" Killen streicht das Programm gnadenlos und ohne Vorwarnung aus der Prozesstabelle. Heiner -- Heiner Lamprecht Philosophenweg 79 D - 72076 Tuebingen email: heiner@kijumfo.de http://www.kijumfo.de GnuKontor: http://agenda21.ggi.uni-tuebingen.de/heiner/gk/ KFLog: http://agenda21.ggi.uni-tuebingen.de/heiner/kflog/ --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
Hi Heiner, * Heiner Lamprecht wrote on 28 Dec 2000:
Der Kernel hat damit immer noch die Möglichkeit einen Prozess zu killen.
Stimmt, hat aber mit Ctrl-C herzlich wenig zu tun.
Mit CTRL-c wird aber IMHO kein "SIGKILL" geschickt, sondern nur ein "SIGTERM",
SIGINT
will heissen, dem Programm wird mitgeteilt, dass es sich terminieren soll. "Echtes" Killen streicht das Programm gnadenlos und ohne Vorwarnung aus der Prozesstabelle.
Stimmt, auch in Bezug auf SIGTERM, aber SIGTERM gibts über "kill pid" oder "kill -15 pid", SIGKILL über "kill -9 pid" SIGINT ist der Keyboard-Interrupt (meist Ctrl-C) und wird über einen Interrupthandler verarbeitet. Kann ignoriert werden, wenn man den Handler auf "ignore" setzt. Siehe auch signal(2) und signal(7) Gruß, Sebastian -- "No worries." - Rincewind Sebastian Helms - mailto:sebastian@helms.sh (PGP available) SuSE-Linux-Mailinglisten-FAQ: http://www.ndh.net/home/s.helms/faq/ --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
Heiner Lamprecht wrote:
Nein! Ein CTRL-c wird sehrwohl an das Programm weitergeleitet, als entsprechendes Signal. Wenn man nun im Programm einen passenden Signalhander erzeugt, und dem passenden Signal auch noch eine Funktion zuweist, wird diese ausgeführt, wenn das Signal kommt. Hab' gerade keinen Beispielcode zur Hand, kann ihn aber bei Bedarf schicken.
Der Kernel hat damit immer noch die Möglichkeit einen Prozess zu killen. Mit CTRL-c wird aber IMHO kein "SIGKILL" geschickt, sondern nur ein "SIGTERM", will heissen, dem Programm wird mitgeteilt, dass es sich terminieren soll. "Echtes" Killen streicht das Programm gnadenlos und ohne Vorwarnung aus der Prozesstabelle.
Ja, da hab ich wohl etwas durcheinander gebracht. Hatte meinen Fehler schon aus den Postings der andren erkannt. Danke für die Berichtigung. Andreas -- ------------------------------------------------------------------- Andreas Bock registered Linux User #136542 mailto:a_bock@gmx.de ICQ #59734306 ------------------------------------------------------------------- --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
From: "Claudia Arnold"
Hallo Liste !!
Ich habe folgende Vorstellungen / Fragen:
- NACH dem erfolgreichen Login soll sofort ein ausführbares Programm bzw. Shellskript gestartet werden. Ist das möglich - und wenn ja, WIE ??? Kann man dies ggf. so realisieren, daß bei verschiedenen Anwendern nach dem Login auch verschiedene Progr. gestartet werden ?? Und besteht eine Möglichkeit, daß ein Anwender dann nur das gestartete Programm zu Gesicht bekommt und nach Abbruch des Programms / Skripts direkt wieder aus dem System rausfliegt und sich erneut einloggen muß ???
editier doch das .profile des entsprechenden USERS z.B.: # .profile is read for all login shells # all other interactive shells will read .bashrc # So read .bashrc also from .profile and make all changes to .bashrc. # Then you should always have your correct setup. test -z "$PROFILEREAD" && . /etc/profile if test -f ~/.bashrc; then . ~/.bashrc fi # Benutzer-Startprogramm /pfad/zum/programm/irgendwas.ksh # das gewünschte Programm exit # und tschüss riglEDV http://www.rigl.richard.org Richard Gliebe mailto:rigl@richard.org --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
participants (8)
-
a_bock@gmx.de
-
AClaudia@gmx.net
-
B.Brodesser@online-club.de
-
Bernhard.Walle@gmx.de
-
heiner@kijumfo.de
-
liste@michaelz.de
-
rigl@richard.org
-
sebastian@helms.sh