web-dev-qa-db-fra.com

Quel utilisateur exécute les commandes définies dans /etc/rc.local?

Sont les commandes dans /etc/rc.local a couru par su par défaut?
[.____] Est-ce que j'ai besoin de spécifique Sudo avant chaque commande ou sera-t-il couru par su peu importe?

13
S-K'

su n'est pas un tilisateur c'est Program Pour exécuter des commandes/programmes ultérieurs sous une identité alternative d'un autre utilisateur que celui exécutant la commande. Il est très similaire à Sudo à cet égard.

Sauf si un autre utilisateur n'est spécifié que les deux commandes seront par défaut pour exécuter la commande sous l'identité alternative de l'utilisateur root utilisateur, le superutilisateur/administrateur.

La principale différence entre su et Sudo est que:

  • su vous demande de connaître le mot de passe de cet utilisateur alternatif, où
  • Sudo _ _ demandera au mot de passe de l'utilisateur exécutant la commande Sudo et nécessite la configuration de sorte que l'utilisateur soit autorisé à exécuter les commandes/programmes demandés.

(Quand root fonctionne soit su ou Sudo Aucun mot de passe n'est requis.)


Comme n'importe quel script Init, le /etc/rc.local script est exécuté par l'utilisateur root utilisateur et vous n'avez pas besoin de préparer non plus su ou Sudo aux commandes/programmes qui doivent courir en tant que root.

Vous devrez peut-être toujours utiliser su ou Sudo dans vos scripts init si ces commandes doivent être exécutées non root mais un autre utilisateur/service -Compte...

su -Oracle/do/something/as/Oracle/user

17
HBruijn

Oui, tous les scripts et programmes sont directement appelés par root.

Les /etc/rc.local Le fichier est appelé directement par le processus init.

10
dmourati