Chown avec arguments numériques

J'ai essayé ceci sur Opensuse 12 et Fedora 17, j'utilise les commans suivants

touch file chown 777 file ls -l file -rw-r--r-- 1 777 root 0 Oct 9 21:43 file grep 777 /etc/passwd echo $? 1 

Il n'y a pas d'user 777

  grep pippo /etc/passwd echo $? 1 chown pippo file chown: invalid user: `pippo' 

Mais si j'utilise un user non existant, j'ai une erreur.

Pourquoi puis-je utiliser un user numérique non existant avec chown, mais pas avec des noms?

Pourquoi puis-je utiliser un user numérique non existant avec chown, mais pas avec des noms?

Parce qu'un nom d'user doit être résolu à un UID, donc si l'user n'existe pas, aucune résolution ne peut se produire, alors qu'un UID est un type de terminaison (il se décrit sans résolution).

Techniquement, toutes les requests de chown par le operating system doivent être effectuées contre un UID. Le nom d'user est pour votre bénéfice, et non le operating system.