prog automatisch starten bij inloggen

Pagina: 1
Acties:

  • AtlonXP1800
  • Registratie: Augustus 2001
  • Laatst online: 29-01-2025
Ik wil op mijn linux bak het zo maken zodat als er een user inlogt hij automatisch een menu krijgt(pdmenu, net zoals bij shell.dds.nl)

Ik heb dit al geprobeerd door het commando in de passwd file te zetten ipv de shell, maar dat wil niet helemaal werken, iemand nog een ander idee?

het moet trowuen ook werken als je er via ssh in gaat.

Verwijderd

Bij elke gebruiker die inlogd, wordt eerst /etc/profile gerunned. Hier kun je je menutje starten. Je moet je tooltje wel beschermen tegen ^C als je niet wilt dat gebruikers het kunnen omzeilen.

Verwijderd

e.e.a. is ook afhankelijk van de distro die je draait, dus, welke distro draai je?

[ Voor 3% gewijzigd door Verwijderd op 27-01-2003 20:44 ]


  • AtlonXP1800
  • Registratie: Augustus 2001
  • Laatst online: 29-01-2025
ik draai debian linux(woody)

Verwijderd

Even zoeken bij deja doet wonderen:
antwoord

Ik kan het hier wel over gaan typen, maar beetje overbodig, niet? :)

Verwijderd

Het veiligst lijkt mij wel dat je het menu als shell gebruikt, moet ook gewoon kunnen. Als dit niet lukt kun je eerst een scriptje maken dat het menu goed aanroept, en dat sciptje als shell gebruiken.

Dit geld natuurlijk alleen als je niet wilt dat gebruikers shell-access krijgen.

  • kenneth
  • Registratie: September 2001
  • Niet online

kenneth

achter de duinen

Het kan wel via de /etc/passwd, maar de shell moet wel in /etc/shells staan aangegeven als toegestane login-shell ...

Look, runners deal in discomfort. After you get past a certain point, that’s all there really is. There is no finesse here.


  • AtlonXP1800
  • Registratie: Augustus 2001
  • Laatst online: 29-01-2025
bedank voor je antwoord hezik, voor wie het nog weten wil, dit is de oplossing:
Exactly how it works depends a lot on what your setup is.

1) Not using xdm
a) Shell is sh, bash, ash, ksh or other Bourne-shell derivative:
Every login (except, perhaps, root?) first runs /etc/profile.
Next a file in your home directory is run; which one it is depends on
which shell you are running. Default for Bourne shell is .profile;
for bash it is .bash_profile; other shells may have different
behaviour - read the man page.
b) Shell is csh, tcsh:
.login in your home directory is run

2) Using xdm (log-in in a graphical screen)
If you have a .xsession file in your home directory, it is run; if you
don't, /etc/X11/Xsession is run.


Any of these scripts can run other scripts, without limit.


Different scripts get run if you start a new shell when you are already
logged in.

sh - [nothing]
bash - $HOME/.bash_rc
ksh - [contents of $ENV variable]
csh - $HOME/.cshrc
startx - $HOME/.xinitrc; /usr/X11R6/lib/X11/xinit/xinitrc if $HOME/.xinitrc
does not exist
others may be different again - check the man pages

Some Unix systems require these scripts to be executable.
door exit als 2e commando achter het menu te geven wordt de gebruiker automatisch uitgelogd als hij het menu sluit.

  • kenneth
  • Registratie: September 2001
  • Niet online

kenneth

achter de duinen

Het menu als shell is IMO een mooiere oplossing.

Look, runners deal in discomfort. After you get past a certain point, that’s all there really is. There is no finesse here.


  • AtlonXP1800
  • Registratie: Augustus 2001
  • Laatst online: 29-01-2025
ja, dat wel, is moeilijker om om heen te gaan.
Maar nadat ik een aanpassing had gemaakt in de /etc/passwd file kon ik met de gebruikersnaam waarbij ik het had gewijzigd niet meer inloggen...

Voorlopig probeer ik het even zo, als ik binnenkort wat tijd heb ga ik het als shell proberen door het ook op te nemen in de /etc/shells file

  • deadinspace
  • Registratie: Juni 2001
  • Laatst online: 20:30

deadinspace

The what goes where now?

mithalph schreef op 27 januari 2003 @ 21:59:
Het menu als shell is IMO een mooiere oplossing.
Mee eens.
AtlonXP1800 schreef op 27 januari 2003 @ 22:06:
ja, dat wel, is moeilijker om om heen te gaan.
Maar nadat ik een aanpassing had gemaakt in de /etc/passwd file kon ik met de gebruikersnaam waarbij ik het had gewijzigd niet meer inloggen...
Merk wel op dat de shell in /etc/passwd het volledige path moet bevatten en alleen een filename mag zijn. Je kunt er dus geen opties achter zetten.
Als je toch opties mee wilt geven, dan kun je als shell /usr/local/bin/bleh opgeven, en dan van bleh een shell scriptje maken met daarin de commando's die uitgevoerd moeten worden. Dit levert overigens wel hetzelfde potentiele probleem op als de /etc/profile manier. Als je van /usr/local/bin/bleh een C progje maakt, dan heb je dat probleem niet.

Overigens is het veiliger om bij dat /etc/profile geintje (of in /usr/local/bin/bleh, als je die als shell script gebruikt) niet dit te doen:
code:
1
2
/usr/bin/menu
exit

Maar dit:
code:
1
exec /usr/bin/menu

Bij de eerste manier kun je misschien een shell krijgen als je de shell tussen het eerste en het tweede commando in zou onderbreken.

Ik heb het hier even geprobeerd (met de /usr/local/bin/bleh manier), en dat werkte, en het toevoegen van dat script aan /etc/shells was hier niet nodig (maar misschien kun je voor ssh instellen dat een valid shell nodig is - YMMV dus).
Pagina: 1