GNU/Linux >> Tutoriels Linux >  >> Linux

Linux – Un utilisateur doit-il se connecter pour exécuter un processus et en devenir le propriétaire ?

En général, un utilisateur doit-il se connecter pour lancer un processus et en devenir propriétaire (ruid, ou euid) ? Cela s'applique-t-il à n'importe quel utilisateur ou à n'importe quel utilisateur non root ?
Par exemple :

  • Dans la séquence de démarrage de Linux, le noyau démarre le système init en tant que premier processus, puis le processus init exécute login afin que chaque utilisateur puisse se connecter.
    Le processus init appartient à root , et l'utilisateur root il faut se connecter avant de lancer l'init processus? Voir Pourquoi y a-t-il un processus `systemd` appartenant à chaque utilisateur connecté ?

  • Lors de l'utilisation de ssh pour exécuter une commande sans démarrer un shell interactif, faut-il d'abord se connecter ou ne pas exécuter la commande ?

Si je n'ai pas besoin de me connecter pour exécuter un processus en tant que propriétaire, comment puis-je faire ?

Merci.

Réponse acceptée :

Non, vous n'avez pas besoin de vous connecter pour démarrer un processus en cours d'exécution en tant qu'utilisateur donné. La connexion est une construction d'espace utilisateur; le noyau ne s'en soucie pas. Il existe plusieurs exemples de cela; par exemple, les tâches cron peuvent s'exécuter sous n'importe quel utilisateur, sans que cet utilisateur soit connecté.

Pour répondre à vos questions spécifiques :

  • non, root n'a pas besoin de se connecter pour lancer init processus, heureusement (imaginez gérer une flotte de milliers de serveurs et des millions de machines virtuelles autrement) ;
  • la connexion à l'aide de SSH compte comme une connexion.

Linux
  1. Exécutez des conteneurs sur Linux sans sudo dans Podman

  2. Apprenez la différence entre les commandes "su" et "su -" sous Linux

  3. Comment trouver et tuer le processus Zombie sous Linux

  4. Priorité de l'utilisateur et du propriétaire du groupe dans les autorisations de fichier ?

  5. Linux - Différence entre l'espace utilisateur et l'espace noyau ?

Commande Linux id - Imprimer les informations d'ID utilisateur et d'ID de groupe

Le noyau Linux et ses fonctions

Comment compiler et exécuter des programmes C, C++ sous Linux

Comment suspendre un processus et le reprendre plus tard sous Linux

Comment écrire et exécuter un programme C sous Linux

Comment suivre et tracer un processus Linux