Impossibile leggere un file anche se è nel mio gruppo e sono impostate le autorizzazioni per la lettura del gruppo


14

Riscontro uno strano problema su una macchina unix / linux:

Sono membro di un gruppo, chiamiamolo gruppo A e un determinato file (che ha un proprietario diverso) appartiene anche al gruppo A. Le autorizzazioni di quel file sono

-rw-rw----

quindi mi aspetto di poter aprire quel file, ma non lo sono: visualizzerò il messaggio di errore "Autorizzazione negata" quando provo a guardare il contenuto del file (usando cat).

Poiché le autorizzazioni sembrano essere corrette, cos'altro potrebbe causare questo? Esistono restrizioni di autorizzazione "prioritarie"? Se è così, come lo scoprirò?


2
Che dire delle autorizzazioni di directory?
Karlson,

Se fai parte di più gruppi, il tuo gruppo attuale è impostato su A?
Code-Guru,

2
@Karlson, se le autorizzazioni alla directory fossero il problema, non saresti in grado di vedere le autorizzazioni del file in primo luogo.
cjm,

Mostraci il percorso completo e il nome file, per favore.
jippie,

È in /home/theotheruser/somefolder/bla.txt. Sono in più gruppi.
Lagerbaer,

Risposte:


8

Ti sei disconnesso e riconnesso da quando sei stato aggiunto al gruppo A?

In caso contrario, i tuoi attuali processi di accesso avranno solo le appartenenze ai gruppi che aveva al momento dell'accesso, e nessuna modifica da allora. E tutti i processi figlio di tale accesso avranno le stesse appartenenze ai gruppi (ad esempio se si è effettuato l'accesso a X, tutte le applicazioni, inclusi l'emulatore di terminale e la shell)

Puoi testarlo accedendo di nuovo su un'altra console o via ssh, o qualcosa del genere exec sudo -u $(id -u -n) -i(per uccidere e sostituire efficacemente la shell corrente con una nuova shell - tutti i processi in background appartenenti a quella shell saranno orfani)


No, non era quello il problema; Sono uscito e rientrato e questo non ha risolto il problema.
Lagerbaer,

3

Con NFS, dipende dalla modalità di sicurezza utilizzata, ma in quella tradizionale, l'elenco dei gruppi a cui appartiene l'utente viene inviato dal client al server e esiste un limite al numero di gruppi che è possibile inviare (era 16 l'ultima volta che ho controllato).

Quindi, il cliente dice: Sono il 1234 e comunque sono membro dei gruppi 12, 13, 14 ... Se fai parte di più di 16 gruppi, quell'elenco verrà troncato e ci saranno gruppi per di cui il server non è a conoscenza, ne sei membro.

Questa è probabilmente la spiegazione per questo. Solo l'amministratore di sistema del computer locale e / o remoto può fare qualcosa al riguardo modificando il modello di sicurezza o l'impostazione del server NFS o riducendo il numero di gruppi di cui sei membro.


Ho la netta sensazione che questa sia la ragione, perché il gruppo Sono appare nella posizione 19 nell'output del comando "gruppi". Mostrerò questa risposta all'amministratore di sistema e vedrò se aiuta. :)
Lagerbaer,

Come cambieresti il ​​"modello di sicurezza" su NFS per risolverlo?
Danny,

2

Come si nota in un commento, non si dispone delle autorizzazioni di lettura per /home/username . Ma per leggere /home/username/path1/path2/file, è necessario eseguire le autorizzazioni per l'intero percorso.

Per eseguire il debug, esegui namei -l /home/username/path1/path2/filecome l'utente che legge il file.


Questo era il problema nel mio caso. Volevo concedere a un altro utente i diritti di operare sulla sottocartella della mia home directory, ma la mia home directory ha accesso a 700, quindi hanno ottenuto "Autorizzazione negata" per qualsiasi comando.
Cerbero

1

Potrebbero essere ACL. Vedere

getfacl the-file

Potrebbe essere che per qualche motivo, i gruppi in cui sei destinato non siano impostati correttamente. Controllare con

id -a

Che dire

namei -xl "$(readlink -f the-file)"

getfattr -dm- the-file

sudo lsattr the-file

Qual è il tipo di filesystem in cui risiede?

Qualche apparmor, SELinux o qualsiasi altro controllo di accesso obbligatorio in atto nel sistema?

Sei sicuro che il file non contenga il testo "Autorizzazione negata", giusto ;-)?


No, non esiste un ACL speciale, ripete solo ciò che mi dicono le bandiere standard e id -a mi dice che sono nel gruppo di quel file
Lagerbaer,

La cosa strana è che posso vedere i file di un altro utente appartenente al gruppo B, di cui sono anche membro ...
Lagerbaer,

Il file system sembra essere nfs4. namei mi dà / e casa appartenente a root, root. / home / nome utente appartenente al nome utente e al gruppo X (di cui non sono membro), il resto è / home / nomeutente / percorso1 / percorso2 / file dove percorso1 appartiene al nome utente e al gruppo X e percorso2 appartiene al nome utente e gruppo A, di cui sono membro.
Lagerbaer,
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.