Risposte:
Il comando chown viene utilizzato per modificare il proprietario e il proprietario del gruppo di un file o directory. I privilegi di superutente sono richiesti per usare questo comando. La sintassi di chown è simile alla seguente:
chown [owner][:[group]] file...
chown può cambiare il proprietario del file e / o il proprietario del gruppo di file a seconda del primo argomento del comando. Ecco alcuni esempi:
chown owner file
esempio:
chown bob file --> Changes the ownership of the file from its current owner to user bob.
chown owner:group file
esempio:
chown bob:users file --> Changes the ownership of the file from its current owner to user bob and changes the file group owner to group users.
chown :group file
esempio:
chown :admins file --> Changes the group owner to the group admins. The file owner is unchanged.
chown owner: file
esempio:
chown bob: file --> Change the file owner from the current owner to user bob and changes the group owner to the login group of user bob.
Si prega di leggere questo simpatico tutorial https://www.linode.com/docs/tools-reference/linux-users-and-groups . Questo mostra alcune informazioni su utente, gruppi, permessi, ...
sudo
mai necessario eseguire il file?
Non lo è user:user
, ma user:group
.
Questo è il formato del comando
chown [OPTION]... [OWNER][:[GROUP]] FILE...
Il gruppo di utenti può includere molti utenti. Ecco alcune informazioni relative ai gruppi:
Linux usa i gruppi come un modo per organizzare gli utenti. I gruppi organizzano raccolte di account, principalmente come misura di sicurezza. Il controllo dell'appartenenza ai gruppi viene gestito tramite il file / etc / group, che mostra un elenco di gruppi e dei suoi membri. Ogni utente ha un gruppo predefinito o primario. Quando un utente accede, l'appartenenza al gruppo viene impostata per il proprio gruppo primario. Ciò significa che quando un utente avvia un programma o crea un file, sia il file che il programma in esecuzione saranno associati all'appartenenza al gruppo corrente dell'utente. Un utente può accedere ad altri file in altri gruppi, purché siano anche membri di quel gruppo e le autorizzazioni di accesso siano impostate. Per eseguire programmi o creare un file in un gruppo diverso, l'utente deve eseguire il comando newgrp per cambiare il gruppo corrente.
Un file è di proprietà di un utente e un gruppo. Per impostazione predefinita, è di proprietà dell'utente che ha creato il file e il suo gruppo predefinito, a meno che non venga modificato.
Nel tuo caso l'utente root
è un membro del gruppo root
.
root
e root root
Cosa fa il gruppo? Capisco la sezione del proprietario
cut -d: -f1 /etc/group
comando, è possibile visualizzare un elenco completo di gruppi nel proprio sistema. unix.stackexchange.com/questions/153390/… potrebbe aiutarti a capire perché esiste un gruppo con nome utente
man chown
fornisce descrizione e utilizzo e altre informazioni utili sul chown
comando.
NAME
chown - change file owner and group
SYNOPSIS
chown [OPTION]... [OWNER][:[GROUP]] FILE...
chown [OPTION]... --reference=RFILE FILE...
Dalle informazioni fornite dalla pagina man, potremmo sapere che chown $USER:$USER
cambia il proprietario e il gruppo del file di destinazione in $USER
, mentre chown $USER
cambia solo il proprietario del file di destinazione $USER
, lasciando invariato il gruppo del file di destinazione.
Seguono i dettagli (dalla pagina man):
Owner is unchanged if missing. Group is unchanged if missing, but changed to
login group if implied by a ':' following a symbolic OWNER. OWNER and GROUP may
be numeric as well as symbolic.
Quindi chown $USER:$USER
può essere abbreviato come chown $USER:
.
Gli output come root root
da namei -l
comando indicano che il proprietario e il gruppo di quel file sono entrambi impostati su root
. Non è definito o elencato dal proprietario due volte. Proprietario e gruppo sono due concetti correlati ma diversi. E un file ha sempre un proprietario e un gruppo.
Per quanto riguarda l'uso del chown
comando, è molto probabile che sia richiesto il privilegio di superutente, poiché è probabile che si trasferisca la proprietà di un file quando si utilizza il chown
comando. Tuttavia, non è sempre la verità.
Supponiamo che abbiamo un utente chiamato "test", che appartiene a diversi gruppi. id
il comando fornisce il seguente output:
uid=1000(test) gid=1000(test) groups=1000(test),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),108(lpadmin),110(sambashare)
E l'utente 'test' possiede il seguente file:
-rw-r--r-- 1 test test 0 May 27 23:34 test_file
Quindi possiamo cambiare il gruppo test_file
in sambashare
senza il privilegio di superutente, poiché l'utente 'test' appartiene al gruppo 'test' e al gruppo 'sambashare' allo stesso tempo, l'utente 'test' possiede già l'autorizzazione sufficiente per cambiare il gruppo del file.