su
n'est pas un utilisateur c'est programme pour exécuter les commandes/programmes suivants sous une autre identité d'un autre utilisateur que celui qui exécute la commande. Il est très similaire à sudo
à cet égard.
À moins qu'un autre utilisateur ne soit spécifié, les deux commandes exécuteront par défaut la commande sous l'autre identité du root
utilisateur, le superutilisateur/administrateur.
La principale différence entre su
et sudo
est-ce que :
su
nécessite que vous connaissiez le mot de passe de cet autre utilisateur, oùsudo
demandera le mot de passe de l'utilisateur exécutant lesudo
commande et nécessite une configuration afin que l'utilisateur soit autorisé à exécuter les commandes/programmes demandés.
(Quand root
exécute soit su
ou sudo
aucun mot de passe n'est requis.)
Comme tout script d'initialisation, le /etc/rc.local
le script est exécuté par le root
utilisateur et vous n'avez pas besoin de préfixer non plus su
ou sudo
aux commandes/programmes qui doivent s'exécuter en tant que root.
Vous devrez peut-être toujours utiliser su
ou sudo
dans vos scripts d'initialisation si ces commandes doivent être exécutées pas comme root
mais un autre utilisateur/compte de service...
su -
oracle
/do/something/as/oracle/user
Oui, tous les scripts et programmes sont directement appelés par root.
Le /etc/rc.local
le fichier est appelé directement par le processus init.