Initialiser alias pour utilisateur root

Sur mon serveur, je cherche à créer un alias que seul root pourrait utiliser d’où deux questions :
1/ j’ai placé cet alias dans /root/.bashrc mais il n’est pas fonctionnel sans réinitialisation, ce qui est logique.
Par contre, je ne sais pas comment pratiquer avec /etc/init.d/ ???
C’est un serveur donc reboute exclu.
2/ Je voudrais que personne hormis root ne puisse lire ce /root/.bashrc mais les droits actuels sont de 644, puis-je les placer sans dommage à 640 ?

Techniquement pour recharger un fichier de configuration bash d’un utilisateur je le relance comme ceci :

Commence par essayer de cette manière en modifiant le PATH.

Mais un simple ‘exec bash’ devrais aussi faire l’affaire.

En fait, tu n’es pas obligé de donner ces droits au .bashrc.
Pour restreindre cet alias à root, voici une procédure :

  • laisser les droits sur /root/.bashrc par défaut
  • ajouter dans /root/.bashrc un truc du type :
  • Créer le fichier /root/aliasquitue, et y mettre l’alias voulu alias ricardo='echo "vive debian"'
  • Restreindre les droits de ce fichier :

[quote=“Clochette”]Techniquement pour recharger un fichier de configuration bash d’un utilisateur je le relance comme ceci :

Commence par essayer de cette manière en modifiant le PATH.

Mais un simple ‘exec bash’ devrais aussi faire l’affaire.[/quote]
En fait, je suis bête, il me suffisait de sortir de ma connexion ssh et de me connecter de nouveau, la réinitialisation se faisant automatiquement.
Merci.
Je vais tester le système de Thuban pour les droits.

[quote=“thuban”]En fait, tu n’es pas obligé de donner ces droits au .bashrc.
Pour restreindre cet alias à root, voici une procédure :

  • laisser les droits sur /root/.bashrc par défaut
  • ajouter dans /root/.bashrc un truc du type :
. /root/aliasquitue
  • Créer le fichier /root/aliasquitue, et y mettre l’alias voulu alias ricardo='echo "vive debian"'
  • Restreindre les droits de ce fichier :
 chmod 640 /root/aliasquitue 

:023 Impec ton système, tout fonctionne avec les droits 640.
Je ne connaissais pas la commande

. /root/xxxx

Je suppose que c’est l’ordre d’exécuter le fichier donné par le chemin ?
“point suivi d’un espacement”

Au niveau des droits : partout je suis en x00 (interdit à quiconque sauf l’utilisateur concerné), une des premières choses que je fais sur une machine c’est de changer l’umask pour tout le monde. Ça marche très bien, aucune raison de te prendre le chou avec ça. :wink:

$ umask 0077

Je crois me souvenir que quelques softs on besoin de pouvoir lire certains fichiers pour être fonctionnels … me souviens plus lesquels ?

Jamais rencontré ce problème donc je ne saurais dire… Cela dit quand je parle de x00 je fais référence à root (qui a de toutes façons le droit de tout lire/écrire, les droits ne s’appliquent pas vraiment) et les utilisateurs “normaux” ; je ne touche jamais aux utilisateurs système / démons etc.

[quote=“ricardo”]
Je suppose que c’est l’ordre d’exécuter le fichier donné par le chemin ?
“point suivi d’un espacement”[/quote]
En fait, le “.” est ce qui semble être le standard pour “source” dans d’autres shells. Cela permet comme tu le dis d’exécuter, soit d’inclure le fichier précisé dans le fichier actuel.
Dans l’exemple, c’est comme si on incluait le fichier avec les droits 640 dans le fichier .bashrc.

[quote=“thuban”][quote=“ricardo”]
Je suppose que c’est l’ordre d’exécuter le fichier donné par le chemin ?
“point suivi d’un espacement”[/quote]
En fait, le “.” est ce qui semble être le standard pour “source” dans d’autres shells. Cela permet comme tu le dis d’exécuter, soit d’inclure le fichier précisé dans le fichier actuel.
Dans l’exemple, c’est comme si on incluait le fichier avec les droits 640 dans le fichier .bashrc.[/quote]

‘.’ est un alias de la fonction shell nommée ‘source’.
Si tu veux que ton script soit aisément compréhensible, tu utiliseras ‘source’. Cela ne prêtera pas à confusion. :wink:

Merci à vous deux, j’ai encore appris qq chose aujourd’hui.