Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[Mac OS X] Les fichiers de démarrage des shells

24 réponses
Avatar
Jacques Perrocheau
Bonjour,

Aujourd'hui je veux mettre de l'ordre dans mes fichiers de démarrage de
shell.

Est-ce qu'une bonne âme pourrait nous faire pour bash l'équivalent de ce
que le camarade Jayce a fait pour tcsh et zsh ?

<http://www.mosx.net/dossiers/Shell-5.shtml>
----
Les fichiers de démarrage de /bin/tcsh

Les fichiers standards de démarrage de tcsh sont:
[snip]

Dans MacOS X, il y a quelques fichiers supplémentaires.

En fait, les fichiers /etc/csh.cshrc, /etc/csh.login et
/etc/csh.logout, font appel des fichiers situés dans le dossier
/usr/share/init/tcsh/. Ces nouveaux fichiers définissent une nouvelle
hiérarchie des fichiers de démarrage.

On obtient donc, au total, les fichiers suivant (dans cet ordre de
chargement) :
/etc/csh.cshrc (*)
/usr/share/init/tcsh/rc (*)
/usr/share/init/tcsh/environment (*)
~/Library/init/tcsh/environment.mine (*)
/usr/share/init/tcsh/tcsh.defaults (*)
~/Library/init/tcsh/rc.mine (*)
/usr/share/init/tcsh/aliases (**)
~/Library/init/tcsh/aliases.mine (**)
/usr/share/init/tcsh/completions (**)
~/Library/init/tcsh/completions.mine (**)
/etc/csh.login
/usr/share/init/tcsh/login
~/Library/init/tcsh/path
~/Library/init/tcsh/login.mine
~/.tcshrc (*)
(~/.cshrc) (*)
~/.login
~/.history
~/.cshdirs
/etc/csh.logout
/usr/share/init/tcsh/logout
~/Library/init/tcsh/logout.mine
~/.logout

Lorsque le shell n'est pas un shell de login, seuls les fichiers marqués
par (*) ou (**) sont lus. Les fichiers marqués par (**) ne sont pas lus
quand le shell n'est pas un shell interactif. Mais bien sûr, comme tout
ceci est géré dans les scripts eux-mêmes, vous pouvez très bien modifier
ce comportement comme bon vous semble...
----

<http://www.mosx.net/dossiers/Shell-6.shtml#par6b>
----
Les fichiers de démarrage utilisés par zsh sont les suivants, dans
l'ordre d'utilisation :
/etc/zshenv
~/.zshenv
/etc/zprofile (*)
~/.zprofile (*)
/etc/zshrc (i)
~/.zshrc (i)
/etc/zlogin (*)
~/.zlogin (*)
/etc/zlogout (*)
~/.zlogout (*)

Si, dans /etc/zshenv l'option RCS est désactivé, tous les autres
fichiers de démarrage sont ignorés.

Les fichiers marqués d'un (*) ne sont lus que lorsque le shell est un
shell de login (cf l'article précédent).

Les fichiers marqués d'un (i) ne sont lus que lorsque le shell est un
shell interactif (où l'utilisateur peut taper des commandes).
----

--
Jacques PERROCHEAU
Synthèse et Electrosynthèse Organiques, C.N.R.S. UMR 6510
Université de Rennes I, Campus de Beaulieu, F-35042 RENNES Cedex
Tel: +33 2 23 23 63 74, Fax: +33 2 23 23 63 74

4 réponses

1 2 3
Avatar
jperrocheau
JPaul wrote:

Tu es sur que cette commande marche "en harmonie" avec NetInfo ?


Ben apparemment oui, puisque lorsque je la fait elle me dit qu'elle a
mis à jour " le domaine . de netinfo", et que lorsque j'ouvre netinfo,
mon login shell a bien changé.


Me voilà rassuré ;)

Cependant il est vrai que j'avais oublié que tu pouvais le faire aussi
avec netinfo.

[snip]





--
Jacques PERROCHEAU
________________________________________________________________________
e-mail: mailto:



Avatar
blanc
JPaul wrote:

Ben apparemment oui, puisque lorsque je la fait elle me dit qu'elle a
mis à jour " le domaine . de netinfo", et que lorsque j'ouvre netinfo,
mon login shell a bien changé.


Bon encore un message qui aurait du partir hier, et qui vient juste de
partir.

JPaul.
--
/==/==- Jean-Paul BLANC
/ /--/--// quelque-part (somewhere)
|/| L | en (in)
/|| = ||| FRANCE

Avatar
Jacques Perrocheau
In article <csn6in$tbh$, Schmurtz
wrote:

Ben apparemment oui, puisque lorsque je la fait elle me dit qu'elle a
mis à jour " le domaine . de netinfo", et que lorsque j'ouvre netinfo,
mon login shell a bien changé.
Cependant il est vrai que j'avais oublié que tu pouvais le faire aussi
avec netinfo.


Contrairement à chsh, la base netinfo ne peut-être directement modifié
que par un administrateur.


??

Veux-tu dire que chsh passe par dessus les protections de la base
NetInfo ? surprenant ?

--
Jacques PERROCHEAU
Synthèse et Electrosynthèse Organiques, C.N.R.S. UMR 6510
Université de Rennes I, Campus de Beaulieu, F-35042 RENNES Cedex
Tel: +33 2 23 23 63 74, Fax: +33 2 23 23 63 74


Avatar
blanc
Jacques Perrocheau wrote:

Veux-tu dire que chsh passe par dessus les protections de la base
NetInfo ? surprenant ?


Oui et non.

Non : voir réponse de Matt
Oui, car il permet de modifier des fichiers pour lesquels on n'a pas
les droits. C'est le mécanisme dit du "setuid bit" qui permet de faire
cela.

Si tu fais la commande suivante pour connaitre les droits du fichier
chsh :
ls -l /usr/bin/chsh
tu obtiens :
-r-sr-xr-x 1 root wheel 41480 23 Nov 21:16 /usr/bin/chsh*

Tu constates que le droit d'execution pour le propriétaire (root) de la
commande a été remplacé par un "s" pour "setuid"

L'effet de ce bit de protection est de te donner les droits du proprio
(root) lorsque tu executes chsh, et donc de pouvoir modifier la base
netinfo.

C'est le même mécanisme qui te permet d'ailleurs de changer de mot de
passe.

Bien entendu n'importe qui ne peut pas mettre ce setuid-bit sur
n'importe quoi, et il faut en outre être sûr que le fichier chsh ne peut
pas être modifié (sauf par root ou avec sudo, bien sûr).

Pour plus de détails :
man chmod
et tu cherches "MODES" puis "4000".

JPaul.

--
/==/==- Jean-Paul BLANC
/ /--/--// quelque-part (somewhere)
|/| L | en (in)
/|| = ||| FRANCE

1 2 3