Est-il possible de présenter un fichier, basé sur l'UID numérique, à un utilisateur qui n'existe pas encore?

19

Par exemple, pour gérer une partition de disque pour un autre système où l'utilisateur existe. Je sais que je peux simplement créer un utilisateur temporairement mais je trouve cette question intéressante.

glarry
la source

Réponses:

22

Oui, vous pouvez chownutiliser un UID numérique qui n'a pas d'utilisateur correspondant.

DopeGhoti
la source
J'ai testé avant de demander: chown \#1005 fileretours chown: invalid user: ‘#1005’.
Glarry
5
N'utilisez pas d'octothorpe; ce n'est pas un nombre. Utilisez simplement le numéro, par exemple sudo chown 1005 /path/to/file.
DopeGhoti
Selon cette logique, sudopense que c'est un nombre. De plus, il pense que les groupes de chiffres qui ne commencent pas par un signe numérique ne sont pas des nombres. :)
glarry
1
J'ai d'abord essayé chown 1005 file, au fait. Cela n'a pas fonctionné, pour une raison indépendante, mais je l'ai blâmé sur le signe du numéro manquant. Vous devez au moins utiliser ./file, apparemment pour chown, pour pouvoir dire lequel des deux est l'utilisateur. Juste pour que vous (lecteur) sachiez.
Glarry
2
@glarry je n'ai pas à utiliser ./. Le nom du fichier est-il vraiment file?
Hauke ​​Laging
11

chown UID:GID fileName peut se faire soit avec des nombres, soit avec un nom d'utilisateur ou un nom de groupe

ex: chown 1000:1000 dirnameest valide

vous devrez peut-être réinitialiser l'autorisation de répertoire avec chmod 755par exemple après l'avoir fait pour y accéder

Conseils

  • Vous pouvez vérifier l'ID utilisateur avec id someUsername
  • Vous pouvez vérifier l'identifiant du groupe avec gid someUsername
  • Vous ne pouvez modifier les autorisations que sur les répertoires avec find someLocation -type d -exec chown 1000:1000 {} \;
Philippe Gachoud
la source
L'utilisation de variables chown -R $HOST_USER_ID:$HOST_GROUP_ID /usr/bin/mariadb/install/datame donne une erreur chown: invalid spec: '1000:'sous `Lubuntu 16/04
Stephane
Je pourrais contourner le problème en exécutant deux commandes distincteschown -R $HOST_USER_ID /usr/bin/mariadb/install/data; chgrp -R $HOST_GROUP_ID /usr/bin/mariadb/install/data;
Stéphane
@Stephane votre UID et GID doit être le numéro du groupe / id que vous souhaitez modifier, et est défini dans /etc/groupet /etc/passwdou par un autre système comme ldap, vous pouvez vous référer à des commandes comme gentent pour avoir plus d'informations à ce sujet.
Philippe Gachoud