49

For example, for managing a disk partition for another system where the user exists. I know I can simply create a user temporarily but I find this question interesting.

2 Answers 2

53

Yes, you can chown to a numerical UID that does not have a corresponding user.

7
  • I tested before I asked: chown \#1005 file returns chown: invalid user: ‘#1005’.
    – glarry
    Commented Jan 18, 2018 at 22:39
  • 13
    Do not use an octothorpe; it is not a number. Just use the number, e. g. sudo chown 1005 /path/to/file.
    – DopeGhoti
    Commented Jan 18, 2018 at 22:40
  • According to this logic, sudo thinks it's a number. Furthermore, it thinks groups of digits that don't start with a number sign are not numbers. :)
    – glarry
    Commented Jan 18, 2018 at 22:54
  • 1
    I first tried chown 1005 file, by the way. It didn't work, for an unrelated reason, but I blamed it on the missing number sign. You have to at least use ./file, apparently for chown to be able to tell which of the two is the user. Just so you (reader) know.
    – glarry
    Commented Jan 18, 2018 at 23:14
  • 3
    @glarry I do not have to use ./. Is the file name really file? Commented Jan 18, 2018 at 23:28
37

chown UID:GID fileName can be done either with numbers or username or groupname

ex: chown 1000:1000 dirname is valid

you may have to reset the directory permission with chmod 755 for example after doing it to get access on it

Hints

  • You can check user id with id someUsername
  • You can check group id with gid someUsername
  • You can change permissions only on directories with find someLocation -type d -exec chown 1000:1000 {} \;
3
  • 1
    Using variables chown -R $HOST_USER_ID:$HOST_GROUP_ID /usr/bin/mariadb/install/data gives me an error chown: invalid spec: '1000:' sous ` Lubuntu 16/04
    – Stephane
    Commented Jan 17, 2019 at 17:35
  • I could work around the issue by doing two distinct commands chown -R $HOST_USER_ID /usr/bin/mariadb/install/data; chgrp -R $HOST_GROUP_ID /usr/bin/mariadb/install/data;
    – Stephane
    Commented Jan 17, 2019 at 18:00
  • @Stephane your UID and GID must be the number of the group/id you want to change, and is setted into /etc/group and /etc/passwd or either by other system like ldap, you can refer to commands like gentent to have more infos about that. Commented Jan 24, 2019 at 15:13

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .