Après avoir lu Liste de tous les utilisateurs humains J'ai remarqué qu'il existe un compte d'utilisateur nommé "personne" dans mon système Ubuntu.
De plus, j'ai remarqué que je peux me connecter à ce compte à partir d'un terminal en utilisant la commande suivante et mon mot de passe:
Sudo su nobody
Cela ne me dérange pas du tout, mais je veux savoir quel est le but de cet utilisateur? Est-il créé par défaut sur une nouvelle installation d'Ubuntu ou est-il créé en installant un paquet particulier?
Il est là pour exécuter des tâches qui ne nécessitent aucune autorisation spéciale. Il est généralement réservé aux services vulnérables (httpd, etc.) afin que, s’ils sont piratés, ils causent des dommages minimes sur le reste du système.
Comparez cela à l'exécution de quelque chose en tant que utilisateur réel. Si ce service était compromis (les serveurs Web sont parfois exploités pour exécuter du code arbitraire), il s'exécuterait en tant que cet utilisateur et aurait accès à tout. cet utilisateur avait. Dans la plupart des cas, c'est aussi mauvais que d'obtenir la racine.
Vous pouvez en savoir plus sur l'utilisateur nobody sur le wiki d'Ubuntu:
Pour répondre à vos suivis:
su nobody
?Sudo grep nobody /etc/shadow
vous montrera que personne n'a pas de mot de passe et vous ne pouvez pas su
sans mot de passe de compte. Le moyen le plus propre consiste à Sudo su nobody
à la place. Cela vous laissera dans un assez désolé sh
Shell.
Lorsque les autorisations ne sont pas requises pour les opérations d'un programme. Ceci est d'autant plus remarquable qu'il n'y aura jamais d'activité disque.
Un exemple réel est memcached
(cache/base de données/objet en mémoire clé-valeur) assis sur mon ordinateur et mon serveur fonctionnant sous le compte nobody. Pourquoi? Car il ne nécessite aucune autorisation et lui donner un compte disposant d'un accès en écriture aux fichiers constituerait un risque inutile.
Dans de nombreuses variantes d'Unix, "nobody" est le nom conventionnel d'un compte utilisateur qui ne possède aucun fichier, ne fait partie d'aucun groupe privilégié et n'a aucune autre possibilité que celles de tous les autres utilisateurs.
Il est courant d'exécuter les démons en tant que personne, en particulier les serveurs, afin de limiter les dommages pouvant être causés par un utilisateur malveillant qui en a pris le contrôle. Cependant, l'utilité de cette technique est réduite si plusieurs démons sont exécutés de la sorte, car le contrôle d'un démon permettrait de tous les contrôler. En effet, aucun processus appartenant à une personne n'a la capacité de s'échanger des signaux et même de se déboguer, ce qui lui permet de lire ou même de modifier la mémoire de chacun.
Informations extraites de http://en.wikipedia.org/wiki/Nobody_ (nom d'utilisateur) .
Les réponses ci-dessus sont plutôt fausses, car elles supposent que nobody
est un ID utilisateur "générique" de style anonyme/invité.
Dans le modèle de contrôle d'accès UNIX/Linux, les ID utilisateur de style anonyme/invité n'existent pas et il s'agit de mauvaises suggestions:
nobody
name__, en particulier les serveurs, afin de limiter les dommages pouvant être causés par un utilisateur malveillant qui en a pris le contrôle. " En raison de ce qui suit: " Cependant, l’utilité de cette technique est réduite si plusieurs démons sont exécutés de la sorte, car le contrôle d’un démon leur permettrait de les contrôler tous ".memcached
(cache-base de données clé/valeur/chose), assis sur mon ordinateur et mon serveur s'exécutant sous le compte nobody
name__. Pourquoi? Parce que tout simplement pas besoin d'autorisations et lui donner un compte qui avait un accès en écriture aux fichiers serait un risque inutile. "Le nom d'utilisateur nobody
avec l'ID utilisateur 65534 a été créé et réservé à des fins spécifiques. Il ne doit être utilisé qu'à cette fin: en tant qu'espace réservé pour des utilisateurs "non mappés" et des ID utilisateur dans les exportations d'arborescence NFS.
Autrement dit, à moins que le mappage utilisateur/identifiant ne soit configuré pour les exportations d'arborescence NFS, tous les fichiers de l'exportation apparaîtront comme appartenant à nobody
name__. Ceci a pour but d'empêcher tous les utilisateurs du système importateur d'accéder à ces fichiers (à moins qu'ils ne disposent d'autorisations "autres"), car aucun d'entre eux (à l'exception de root
name__) ne peut être/devenir nobody
name__.
Par conséquent, il est très déconseillé d’utiliser nobody
pour any à d’autres fins, car son objectif est d’être un nom d’utilisateur/un identifiant d’utilisateur pour les fichiers qui ne doivent être accessibles à personne.
L'entrée du wiki est très fausse aussi.
La pratique UNIX/Linux consiste à créer un nouveau compte pour chaque "application" ou domaine d'application nécessitant un domaine de contrôle d'accès distinct, et à ne jamais réutiliser nobody
en dehors de NFS.
L'utilisateur nobody
est créé par défaut lors d'une nouvelle installation (vérifié dans Ubuntu Desktop 13.04).
Dans de nombreuses variantes * nix,
nobody
est le nom classique d'un compte utilisateur qui ne possède aucun fichier, ne fait partie d'aucun groupe privilégié et ne possède aucune autre possibilité. que tous les autres utilisateurs ont (l'utilisateur et le groupenobody
n'ont aucune entrée dans le fichier/etc/sudoers
).Il est courant d'exécuter des démons en tant que
nobody
, en particulier des serveurs, afin de limiter les dommages pouvant être causés par un utilisateur malveillant qui en a pris le contrôle. Cependant, l'utilité de cette technique est réduite si plusieurs démons sont exécutés de la sorte, car le contrôle d'un démon permettrait de tous les contrôler. La raison en est que les processus appartenant ànobody
ont la capacité de s’envoyer des signaux et même de se déboguer, leur permettant de lire ou même de modifier la mémoire de chacun.
Les processus possédés par
nobody
peuvent envoyer des signaux les uns aux autres et même se trace sous Linux, ce qui signifie qu'un processus n'appartenant à personne peut lire et écrire la mémoire d'un autre processus appartenant à personne.Voici un exemple d'entrée de l'utilisateur
nobody
dans le fichier/etc/passwd
:alaa@aa-lu:~$ grep nobody /etc/passwd nobody:x:65534:65534:nobody:/nonexistent:/bin/sh
Comme vous le remarquerez peut-être, l'utilisateur
nobody
a/bin/sh
en tant que shell de connexion et/nonexistent
en tant que répertoire de base. Comme son nom l'indique, le répertoire/nonexistent
n'existe pas par défaut.Si vous êtes paranoïaque, vous pouvez définir le shell par défaut de
nobody
en/usr/sbin/nologin
et ainsi refuser l’identifiant SSH de l’utilisateurnobody
.
personne n'est un utilisateur spécial et un compte de groupe. Puisqu'il s'agit d'un nom d'utilisateur réel (et d'un nom de groupe) pouvant être utilisé par les processus et même par les utilisateurs, il ne s'agit pas littéralement de personne. Par exemple, certaines configurations Apache n'ont personne en tant qu'utilisateur/groupe propriétaire des fichiers et répertoires du site Web. Le problème survient lorsque plusieurs processus peuvent utiliser l'utilisateur nobody, tels que les répertoires NFS et le serveur Web.