L'uso di chown per modificare il proprietario del gruppo di una directory non è consentito ... Perché?


10

Sto provando a eseguire chownsu una directory che ha i seguenti permessi e proprietari:

drwxrwxr-x 2 justin devs  4096 Jan  1 20:42 test

Sto cercando di eseguire semplicemente quanto segue come justinutente:

chown justin:nginx test

Quindi sostanzialmente cambia il proprietario del gruppo in nginx, ma sto ottenendo:

chown: changing ownership of `test/': Operation not permitted

Qualche idea?

Risposte:


15

Per prima cosa, usa il chgrpcomando invece di chown e funzionerà.

Nel caso di utilizzo di chown ..... Per motivi di sicurezza nella maggior parte dei contesti Linux, qualsiasi cambio di proprietà è limitato all'utente root anche se si è contrassegnati come proprietari del file, della directory, ecc. Oppure no. In un caso, ciò serve a impedire agli utenti di eludere le quote impostando i bit di autorizzazione del file su 777 e cambiando la proprietà di un file su un altro utente sconosciuto e consumando la propria quota.

Pertanto, l'utilizzo del chowncomando in un contesto utente, in particolare laddove la proprietà non cambia, non deve essere utilizzato solo per modificare il gruppo di un file.

NOTA: è necessario essere un membro del gruppo in cui si sta tentando di modificare il file. Questo può essere verificato da id -a. Se non fai parte del gruppo, riceverai questo messaggio anche se sei il proprietario del file.


1
Stessa cosa con chgrp nginx test, Operazione non consentita.
Justin

Se stai eseguendo il comando chgrp come proprietario dell'inode, dovrebbe funzionare. Il tuo filesystem è montato SOLO LEGGI?
mdpc,

No non funziona. Ecco un caso di prova:$ mkdir test $ chgrp nginx test/ chgrp: changing group of test/: Operation not permitted $ ll total 4 drwxrwxr-x 2 justin justin 4096 Jan 1 21:18 test
Justin

1
Capito .... non puoi cambiare la proprietà in un gruppo nel quale non ti è permesso essere. Verifica id -aper verificare che il gruppo nel quale stai provando a cambiare il file sia disponibile per te.
mdpc,

1
sì, questa è la soluzione.
mdpc,

4

Devi essere parte del gruppo per poter cambiare l'attuale proprietà del gruppo in. Puoi modificare il /etc/groupsfile come root per assicurarti che l'utente justin faccia parte del gruppo nginx. Dopo aver apportato modifiche per il gruppo, è necessario accedere nuovamente al sistema per renderlo attivo o per passare al gruppo senza riavvio / logout, è possibile utilizzare cmd newgrp nginx.

Ora dovresti essere in grado di cambiare il gruppo del file o della cartella con cmd chgrp nginx testcome utente justin.

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.