Le autorizzazioni del gruppo Linux non vengono applicate correttamente.


18

Sto usando il server Ubuntu 10.04 e sto avendo alcune esperienze molto contro-intuitive con utenti / gruppi. Per esempio:

sudo touch test_file                    # create empty file

sudo groupadd test                      # create 'test' group

sudo chown root:test test_file          # change group of file to 'test'

sudo chmod g+rwx test_file              # give write permissions to group

sudo usermod -a -G test {my-user}       # add my user to 'test' group

touch test_file                         # touch the file as my current user

L'ultima riga produce un errore di autorizzazione.

Mi sono assicurato che il mio utente faccia parte del gruppo "test" ( groups {my-user} lo conferma). Anche il gruppo di test_file è definitivamente impostato su 'test' e vengono impostate le autorizzazioni di gruppo.

Perché il mio utente non può scrivere nel file di test del file?

Risposte:


28

Quando si aggiunge un utente a un nuovo gruppo, questo non verrà applicato in nessun processo attualmente in esecuzione, solo nuovi. È necessario disconnettersi e quindi riconnettersi.


3
o hack su - username nella tua console di corsa. non devi uscire per accedere in questo modo :)
matthias krull

4

Sia la disconnessione che il riavvio dei metodi del server non hanno funzionato per me.

Questo metodo però funziona per me: (riferimento a questo risposta )

chmod g+rwxs <parent folder>

1
Cosa fa il +s parte? Grazie.
tommy.carstensen

1
Imposta il bit setuid. Ciò consente di eseguire un file come proprietario del file. Supponiamo di avere un file che si desidera eseguire come root, indipendentemente da chi la persona sta eseguendo il file, si dovrebbe impostare il bit setuid per quel file.
Julius

La chiave era x: sembra che siano necessari i diritti di esecuzione touch lavorare.
antoine-sac

0

Puoi usare il newgrp comando per cambiare l'ID del gruppo attuale dell'utente. A partire dal man newgrp:

Il comando newgrp viene utilizzato per modificare l'ID del gruppo corrente durante a          sessione di accesso. Se l'opzionale - la bandiera è data, l'ambiente dell'utente          verrà reinizializzato come se l'utente avesse effettuato l'accesso, altrimenti il          l'ambiente corrente, inclusa la directory di lavoro corrente, rimane          invariato.


1
Questo ha anche l'effetto di sostituire il tuo gruppo attuale. Non è sempre una buona idea.
Daenyth

Avrei votato meno se potessi. Sovrascrivere i gruppi potrebbe essere molto frustrante in futuro ... esp. con -R opzione!
Edward

0

Riavvia il computer per assicurarti che nessun processo bloccato impedisca l'applicazione corretta dell'utente e dei gruppi durante il logout e il login.

Questi passaggi dovrebbero dare all'utente del gruppo test il permesso di scrittura su test_file

sudo touch test_file 
sudo groupadd test
sudo chown root:test test_file
sudo chmod g+rwx test_file
sudo usermod -a -G test {my-user}

Riavvia il computer o esegui il logout del sistema operativo del tuo utente. Un riavvio del terminale non è sufficiente.

touch test_file

L'utente può scrivere sul file perché fa parte del gruppo 'test' e il gruppo ha il permesso rwx.


3
Non è necessario riavviare il computer.
Kevin Panko
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.