Autostartx après autologin

Attention, cette manipulation laisse un libre accès sur votre machine!

Il existe différentes méthode pour faire ça. Cependant, celle-ci a l’avantage de ne pas nécessiter de programmes annexes, ni de mingetty.
Voici la procédure :
Il faut éditer le fichier /etc/inittab (cela se fera avec les droits administrateur).
Dans ce fichier, on changera ou commentera la ligne :

1:2345:respawn:/sbin/getty 38400 tty1

Par celle-ci :

1:2345:respawn:/bin/login -f YOUR_USER_NAME tty1 </dev/tty1 >/dev/tty1 2>&1

Maintenant, dans votre dossier home, vous trouverez un fichier nommé .profile (s’il n’existe pas, il faut le créer).
Dans ce fichier, on ajoutera les lignes suivantes :

if [ `tty` = "/dev/tty1" ] ; then
startx
fi

Pour choisir la session qui démarrera, cela se gèrera dans le fichier .xinitrc. Ajoutez alors par exemple :

xmodmap
xbindeys &
...
autres programmes à démarrer &
exec gnome
#ou alors sous la forme
# exec votre_session
# par exemple : 
# exec openbox-session

Attention à ca: bugs.debian.org/cgi-bin/bugreport.cgi?bug=447026

Ca vient de m’arriver et c’est particulièrement ch… :smt005

gênant, en effet, surtout sur un paquet stable.
Il semblerait u’il faille lancer xmodmap avant xbindkeys?

[quote=“thuban”]gênant, en effet, surtout sur un paquet stable.
Il semblerait u’il faille lancer xmodmap avant xbindkeys?[/quote]

Oui, et ne pas lancer en parallèle surtout !

Un exemple:

xmodmap ~/.Xmodmap
xrdb -load ~/.Xdefaults     # pour plus de sureté...
numlockx
xbindkeys
xsetroot -solid black &
iceweasel &
x-terminal-emulator -g "102x38+1+1" -e screen -x -p 2 & 
sylpheed &
exec evilwm

Salut,

Question de néophyte ?

Tout ceci ayant pour but dès la mise sous tension de se retrouver sous X dans sa session ?

Salut,

[quote=“ggoodluck47”]
Tout ceci ayant pour but dès la mise sous tension de se retrouver sous X dans sa session ?[/quote]
Oui.

(Il y avait un autre texte à la place, mais c’était à coté de la plaque :laughing: )

Salut
Veillez à mettre un avertissement en début de ce post car il nuit gravement à la sécurité.
Ce système est ouvert à tout vent.

Le but ici serait de faire une borne automatique d’accès par exemple. La sécurité n’est pas compromise suivant les droits qu’a l’utilisateur connecté. Il convient donc de vérifier ces droits attentivement si la machine est destiné au public.

Cependant il y a un souci, avec ce système, si on lance une console, ça va gueuler, une méthode serait de changer le startx en

if [ `tty` = "/dev/tty1" ] ; then startx fi

En effet, il ne faut pas lancer xmodmap en parallèle, merci de la précison.
Oui, c’est vraiment mieux comme ça fran.b, je change tout de suite le post, et je rajoute l’avertissement!

En fait d’ailleurs, le fichier .bashrc est plus judicieux pour ça mais bon ça n’est qu’un détail. Pour compléter, il faudrait vraiment indiquer comment vérifier qu’un utilisateur a des droits très limité, la remarque de ggoodluck est quand même pertinente, ça compléterait bien l’astuce dans ce cas.

… Je crois que je ne comprends pas ce que vous voulez dire… :blush:

Voilà une machine qui dès qu’on l’allume se retrouve immédiatement sur un compte. C’est précieux pour des stations publics par exemple. Mais pour cela il faudrait indiquer ce qu’on doit vérifier pour minimiser les risques qu’un individu prenne tous les droits sur cette machine:

  • Le noyau doit être à jour
  • Droits ou non de mettre des périphériques amovibles, si oui il est impératifs que les périphériques soient montés en noexec.
  • Droits restreints de lecture des logs
  • mot de passe sur shadow
    etc.

Afin qu’une personne loguée n’ait pas de moyens simples de devenir root.

D’accord, je vois mieux. Cependant, il me faudrait un coup de main pour bien expliquer cela. Tout ce que je sais, c’est que cela peut notamment se gérer via le fichier /etc/group , mais pas beaucoup plus. J’édite le permier post à la demande :slightly_smiling:

Re,

Après tout cela je souhaite pour toi que tmp & var soit séparé du / car il suffit de lancer une impression “récurrente” ou des espaces tmp pour planter par déni de service :slightly_smiling: :slightly_smiling: :slightly_smiling: :slightly_smiling: :smt006

Effectivement. Un parefeu soigné peut être aussi utilisé pour que la machine fasse des choses très précises. Un quota éventuel aussi, mais l’idée de partitions dédiées est la meilleure (/tmp , /var/log (remplissage de logs), /var/tmp (accessible en écriture) sont sur le même plan). Amusant comme pbm, je suis sur qu’on oublie des trucs.

Là, il en retourne de la sécurité de la machine. La méthode proposée ci-dessus est avant tout pour ceux désirant se passer de gdm,kdm,slim et accélérer le boot, ou libérer de la mémoire.

Cependant, toutes vos remarques semblent plus qu’édifiantes!

Salut,

Et c’est pourquoi j’ai connu des distributions où ces options amenait l’ecran en rouge vif (insoutenable) :slightly_smiling:

Il existe des gens biens (même des gens très biens) qui n’utilisent pas bash (si si ça existe). À fin de rendre l’astuce plus portable il me semble dond mieux de placer le startx dans $HOME/.profile (il me semble que c’est bien lui), ça auras deux avantages :
[ul][li]ce n’est fait que dans un login shell[/li]
[li]ça marche avec des truc comme tcsh (si je me suis pas trompé dans le nom du fichier)[/li][/ul]

Sinon l’option noexec, pas sur /home, ni sur /tmp, etc… Ne pas monter /boot et monter les autres en lecture seule. Désactiver les tty en plus et empêcher de tuer le serveur X. Utiliser rbash peut être comme login shell (s’il limite pas trop).

[quote=“MisterFreez”]
[*]ça marche avec des truc comme tcsh (si je me suis pas trompé dans le nom du fichier)[/list][/quote]
.profile ne fonctionnera pas non plus avec tcsh - .profile est typique des système GNU, on utilise ~/.login avec (t)csh, typique des systèmes BSD, bien que sous FreeBSD, tcsh lit ~/.profile. Bref c’est compliqué, vaut mieux RTFM selon la version de tcsh.

(T)csh ne respecte rien de toute manière, mais ayant été créé par Bill Joy (créateur de vi), c’est le pied quand t’as l’habitude de vi(m), je suis d’ailleurs en train de migrer depuis quelques jours… :smiling_imp:

Mon ~/.login par exemple:

# pas besoin de shebang, seul tcsh "connait" ce fichier.
# un simple exemple de ~/.login pour tcsh

# ajout de ~/shell à $PATH (souvent c'est ~/bin chez vous)
setenv PATH "${PATH}:/home/francois/shell"
# lance screen en mode master si aucun screen n'est lancé
[ -e /var/run/screen/S-francois/*`hostname`* ] || screen -d -m
# si on est dans le tty1, on démarre X au login
if ( `tty` == "/dev/tty1" ) then
        setenv OOO_FORCE_DESKTOP "gnome" 
        # remplacement du shell de login par xinit
        exec xinit
end

EDIT: compatible à la norme ggoodluck47. Toute personne utilisant uniquement GNU/Linux n’est pas censé utiliser tcsh de toute manière - à part s’il a vendu son âme à Beastie :wink:

Salut,

Attention, si vos scripts doivent être repris par le wiki en construction, ils doivent fonctionner pour Debian.

J’ai l’habitude d’écrire les premières lignes de cette manière:

#!/usr/bin/env bash

A quoi sert ce script

synopsis si besoin :slightly_smiling: