È possibile chown un file, basato sull'UID numerico, a un utente che non esiste ancora?


19

Ad esempio, per la gestione di una partizione del disco per un altro sistema in cui l'utente esiste. So che posso semplicemente creare temporaneamente un utente ma trovo questa domanda interessante.

Risposte:


22

Sì, è possibile chownun UID numerico che non ha un utente corrispondente.


Ho provato prima di chiedere: chown \#1005 fileritorna chown: invalid user: ‘#1005’.
glarry

5
Non usare un ottotorpe; non è un numero. Basta usare il numero, ad es sudo chown 1005 /path/to/file.
DopeGhoti,

Secondo questa logica, sudopensa che sia un numero. Inoltre, pensa che i gruppi di cifre che non iniziano con un segno numerico non siano numeri. :)
glarry

1
Per prima cosa ci ho provato chown 1005 file. Non ha funzionato, per un motivo non correlato, ma l'ho incolpato del segno di numero mancante. Devi almeno usare ./file, apparentemente perché chown sia in grado di dire quale dei due è l'utente. Solo così tu (lettore) lo sai.
glarry

2
@glarry Non devo usare ./. Il nome del file è davvero file?
Hauke ​​Laging,

11

chown UID:GID fileName può essere fatto con numeri o nome utente o nome gruppo

es: chown 1000:1000 dirnameè valido

potrebbe essere necessario reimpostare l'autorizzazione alla directory, chmod 755ad esempio dopo averlo fatto per accedervi

suggerimenti

  • È possibile verificare l'ID utente con id someUsername
  • Puoi controllare l'ID del gruppo con gid someUsername
  • È possibile modificare le autorizzazioni solo per le directory con find someLocation -type d -exec chown 1000:1000 {} \;

L'uso delle variabili chown -R $HOST_USER_ID:$HOST_GROUP_ID /usr/bin/mariadb/install/datami dà un errore chown: invalid spec: '1000:'sous `Lubuntu 16/04
Stephane

Potrei aggirare il problema eseguendo due comandi distintichown -R $HOST_USER_ID /usr/bin/mariadb/install/data; chgrp -R $HOST_GROUP_ID /usr/bin/mariadb/install/data;
Stephane

@Stephane tuo UID e GID devono essere il numero del gruppo / id che si desidera modificare, ed è impostato in /etc/groupe /etc/passwdo mediante altro sistema come LDAP, è possibile fare riferimento ai comandi come gentent per avere maggiori informazioni in merito.
Philippe Gachoud,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.