Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[TIP] Ne pas éteindre la mauvaise machine
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index French
View previous topic :: View next topic  
Author Message
scout
Veteran
Veteran


Joined: 08 Mar 2003
Posts: 1991
Location: France, Paris en Semaine / Metz le W-E

PostPosted: Wed May 25, 2005 11:41 pm    Post subject: [TIP] Ne pas éteindre la mauvaise machine Reply with quote

Voilà un tip à deux francs ... mais c'est quand même un tip.

La plupart d'entre vous savent déja qu'avec sudo on peux faire un "halt" ou un "reboot" en utilisateur normal.
Alors, chez moi avant le tip:

/etc/sudoers
Code:
Cmnd_Alias      SHUTDOWN = /sbin/shutdown
geoffrey        ALL = (root) NOPASSWD: SHUTDOWN

et dans mon .zshrc (même syntaxe pour le .bashrc)
Code:
alias halt="sudo /sbin/shutdown -h now"
alias reboot="sudo /sbin/shutdown -r now"

ce qui me permet de taper "halt" pour éteindre l'ordinateur dans une console normale.

Le problème est le suivant: vous êtes fatigué, vous décidez de faire halt dans la première console venue pour éteindre l'ordinateur. Or vous génrez plein d'ordinateurs, vous vous connectez en ssh partout et là boulette ! vous n'avez pas fait attention, avez tapé halt dans une mauvaise console et vous avez éteint cet ordinateur qui est à 300Km de chez vous (car oui, vous avez mis vos sudoers et alias partout, c'est trop pratique). Là normalement vous vous arrachez les cheveux ...

Solution:
remplacer les deux alias par:
Code:
function halt() {
    if [[ -z `ps -p $PPID | grep ssh` ]]; then
        sudo /sbin/shutdown -h now
    else
        echo "Pas de ca directement en ssh !"
    fi
}

function reboot() {
    if [[ -z `ps -p $PPID | grep ssh` ]]; then
        sudo /sbin/shutdown -r now
    else
        echo "Pas de ca directement en ssh !"
    fi
}

en effet le test "[[ -z `ps -p $PPID | grep ssh` ]]" permet de savoir si le shell est issu directement d'un ssh ou pas ...

Vous remarquerez qu'avec ce principe on peux faire des personalisations dans sont .zshrc/.bashrc entre les consoles aterm, les logins ssh, les login "login", etc ...
_________________
http://petition.eurolinux.org/ - Petition against ePatents
L'essence de la finesse
Back to top
View user's profile Send private message
Enlight
Advocate
Advocate


Joined: 28 Oct 2004
Posts: 3514
Location: Alsace (France)

PostPosted: Thu May 26, 2005 6:39 am    Post subject: Reply with quote

Ca a l'air sympa, mais il me semblait que sudo pouvait autoriser certaines commandes pour un utilisateur en faisant la distinction est/n'est pas sur le localhost, et même par ip? En même temps ça fait un moment que j'ai plus touché à la conf de sudo donc j'peux me tromper.
Back to top
View user's profile Send private message
sireyessire
Advocate
Advocate


Joined: 20 Mar 2003
Posts: 2991
Location: back in Paris, France

PostPosted: Thu May 26, 2005 10:34 am    Post subject: Reply with quote

mouais, mais je suis pas convaincu, comment tu fais pour halter ou rebooter ta machine sur laquelle tu t'es connecté en ssh?
il faudrait qu'il te demande une confirmation dans le cas où il détecte un shell issu d'un ssh, genre un
Code:
echo "Are you really sure you want to shutdown this computer "$HOSTNAME" ? (y/n)"

puis un readline qui lit ce que tu réponds.
_________________
I never think of the future. It comes soon enough.
Albert Einstein

Try simpler first
Shockley
Back to top
View user's profile Send private message
scout
Veteran
Veteran


Joined: 08 Mar 2003
Posts: 1991
Location: France, Paris en Semaine / Metz le W-E

PostPosted: Thu May 26, 2005 10:36 am    Post subject: Reply with quote

sireyessire wrote:
mouais, mais je suis pas convaincu, comment tu fais pour halter ou rebooter ta machine sur laquelle tu t'es connecté en ssh?

Tu tapes la commande explicitement, ou tu te loggues en root :mrgreen:
Enlight wrote:
Ca a l'air sympa, mais il me semblait que sudo pouvait autoriser certaines commandes pour un utilisateur en faisant la distinction est/n'est pas sur le localhost, et même par ip? En même temps ça fait un moment que j'ai plus touché à la conf de sudo donc j'peux me tromper.

Oui c'est vrai, c'est pour avoir la même conf sudo sur tout un parc d'ordinateurs ... je vais regarder la chose et répondre aussi à la requête de sireyessire
_________________
http://petition.eurolinux.org/ - Petition against ePatents
L'essence de la finesse
Back to top
View user's profile Send private message
sireyessire
Advocate
Advocate


Joined: 20 Mar 2003
Posts: 2991
Location: back in Paris, France

PostPosted: Thu May 26, 2005 11:26 am    Post subject: Reply with quote

scout wrote:

Oui c'est vrai, c'est pour avoir la même conf sudo sur tout un parc d'ordinateurs ... je vais regarder la chose et répondre aussi à la requête de sireyessire

merchi, mais sinon la meilleure solution c'est d'avoir les yeux en face des trous :D
_________________
I never think of the future. It comes soon enough.
Albert Einstein

Try simpler first
Shockley
Back to top
View user's profile Send private message
anigel
Bodhisattva
Bodhisattva


Joined: 14 Apr 2003
Posts: 1889
Location: Un petit bled pas loin de Limoges ;-)

PostPosted: Thu May 26, 2005 1:50 pm    Post subject: Reply with quote

Excellent, ce tip !

Comme à tout admin, ça m'est arrivé une fois, et heuresement il ne s'agissait "que" du serveur dns / dhcp / mail... Situé un étage plus bas....
_________________
Il y a 10 sortes d'individus en ce bas-monde : ceux qui causent binaire, et les autres.
Back to top
View user's profile Send private message
zdra
Veteran
Veteran


Joined: 30 Nov 2003
Posts: 1693
Location: Bruxelles, Belgique

PostPosted: Thu May 26, 2005 1:55 pm    Post subject: Reply with quote

pratique en effet, ça m'est arrivé de rebooter par erreur une machine pendant le weekend... le lundi jl'ai retrouvé bloquée sur grub qui avait pas de timeout :oops:
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index French All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum