Extinction impossible avec root si shutdown.allow présent

Bonjour,

Voilà j’ai besoin d’empêcher que les utilisateurs standards puissent éteindre mon serveur avec une combinaison de touches .

J’ai donc ajouté l’option “-a” à la ligne correspondant au ctraltdel du fichier /etc/inittab.

J’ai également créé un fichier /etc/shutdown.allow vide, étant donné que selon le man, root doit quand même pouvoir éteindre.

Mon objectif a été atteint pour les user standards, seulement rien à faire quand je suis loggué sur la console en root, je me prendre aussi le message de refus comme un utilisateur standard.

J’ai essayé d’insérer l’utilisateur “root” dans le fichier shutdown.allow
Le résultat est le même. Toujours impossible d’éteindre en root à l’aide des touches .

D’où vient le problème ?
Qqun a t il une idée ?

Merci de votre aide

Salut,

Je n’ai jamais eu à faire cela mais la solution qui me vient à l’esprit serait de mettre en commentaire la ligne “shutdown” de /etc/inittab, les autres méthodes d’arrêt ne pouvant être exécutées que par root ? :slightly_smiling:

Bonjour,

Merci de votre réponse.
Oui en effet c’est aussi une option, bien que j’aurais préféré conserver le confort de ctrl-alt-del.

En fait après de nouveau tests, j’ai pu mettre en évidence le problème.

Si je me loggue sur la console en tant que user standard et que je fais un su root pour me connecter en tant que root, impossible de faire un ctrl-alt-del.

Si je me loggue sur la console directement en tant que root, je peux faire une ctrl-alt-del.

Je dois dire que je suis pour le moins surpris par ce comportement.
De plus, dans chacun de ces deux cas, le Shell ne s’initialise pas de la même manière.
Dans le premier cas je bénéficie des options (couleur et autre alias) définies dans /root/.bashrc
Alors que dans le second cas, nada, rien, j’ai juste le shell avec ses options par défaut.

Je ne maîtrise pas encore les méandres de la configuration du Shell, il me semble. Je pensais que le shell se configurait en fonction de l’utilisateur loggué.
Quelqu’un peut il m’éclairer ?

Re,

Dans le cas “SU” AMHA on ne ré-exécute pas /etc/bash.bashrc où un if a déterminé le comportement entre user et root :slightly_smiling:

Bonjour,

La réponse est quelques lignes plus bas dans le man :
It then compares the login names in that file <shutdown.allow> with the list of people that are logged in on a virtual console (from /var/run/utmp). Only if one of those authorized users or root is logged in, it will proceed.

Quand vous vous identifiez en tant qu’utilisateur sans pouvoir et que vous appelez su, l’utilisateur enregistré dans /var/run/utmp reste l’utilisateur sans pouvoir bien que vous ayez acquis les privilèges de root dans le shell.

Et c’est ce qu’il fait. Mais comme dit plus haut, c’est l’utilisateur sans pouvoir qui est loggué.

Pour modifier ce comportement et obtenir l’environnement complet, utilisez plutôt “su -” (cf man su ) :
-, -l, --login
Fournir à l´utilisateur un environnement similaire à celui qu´il aurait obtenu s´il s´était connecté directement.