È possibile disabilitare i permessi dei file su un file system ext3 o ext4?


10

È possibile disabilitare le autorizzazioni dei file su un file system ext3 / 4?

Mi chiedo solo se è possibile disabilitare o ignorare completamente le autorizzazioni dei file su un file system ext3 o ext4. Forse un'opzione di montaggio?

Non sono preoccupato per le implicazioni di sicurezza in quanto lo farei per i test e con supporti rimovibili.


2
Perché dovresti voler rimuovere i permessi dei file da un filesystem ext3 o ext4? Sono stati creati tenendo conto delle autorizzazioni per i file POSIX. Se stai cercando di usare un filesystem con opzioni di permessi limitate, forse qualcosa come FAT32 o exFAT sarebbe meglio?
Rob Gibson,

Sono curioso di sapere se esiste un'opzione nativa di Linux
Corey,

2
È un'opzione nativa di Linux per utilizzare FAT32, in quanto è un file system supportato. Devi semplicemente usare un filesystem che non è progettato per i sistemi POSIX, poiché quelli che supportano i permessi dei file.
Rob Gibson,

1
non $ sudo chmod -R 777 /your/filesystemfarebbe il trucco?
Red Cricket,

1
@RedCricket sarebbe una soluzione alternativa se la risposta fosse no
Corey

Risposte:


5

Questa non è l'unica cosa che puoi fare.

C'è un modo per concedere a tutti i permessi senza usare i permessi regolari, che ingombra il display (in un certo senso).

Ciò significa che ls --color(per impostazione predefinita) verrà sempre visualizzato o:rwXin uno sfondo a blocchi, che è orribile e ha solo lo scopo di avvisare gli utenti di autorizzazioni errate (quando sono giuste per te).

Ma puoi facilmente ottenere autorizzazioni di scrittura universali (o quasi universali) per i tuoi file utilizzando gli elenchi di controllo di accesso .

setfacl -d -m g:sudo:rwX .
setfacl -m g:sudo:rwX .

darà le autorizzazioni rwX a tutte le persone nel gruppo sudo. Poiché la maggior parte dei tuoi sistemi, avrai un utente nel gruppo sudo, in particolare per i supporti rimovibili (e quindi i sistemi locali) avrai sempre accesso ovunque per chiunque nel gruppo (che sei tu). Puoi anche estenderlo agli utenti, nel caso in cui ti trovi su un altro sistema che utilizza quel gruppo:

setfacl -d -m g:users:rwX .
setfacl -m g:users:rwX .

Il flag -d indica che le autorizzazioni si propagheranno a tutti i file appena creati (impostazione predefinita). L'unico aspetto negativo è che normalmente non puoi vedere quelle autorizzazioni, il che significa che preferiresti disattivarle completamente (quindi, a che serve un supporto di rimozione se imposti autorizzazioni che tutti possono comunque eludere, giusto?). È come dire: puoi accedere a questi file se ti chiami John. Ok, mi chiamo John. Bene, ora hai accesso.

(Tutti possono assumere il root su ogni sistema che possiedono e quindi le autorizzazioni del filesystem non significano nulla).

ExtFS non è pensato per supporti rimovibili. Non ci sono filesystem Linux che sono davvero utili su supporti rimovibili, ma FAT e NTFS hanno il rovescio della medaglia di non supportare realmente i collegamenti simbolici e di eseguire flag, il che è difficile per i repository git, ad esempio. Solo la mia opinione qui.

Puoi vedere il tuo file ACL solo facendo:

getfacl <file>

E quando ls -l vedrai:

drwxr-xr-x+ 4 user user 4096 aug 31 03:40 .

Il + indica che sul file (o directory) è attivo un ACL.

L'output di getfacl sarà (ad esempio):

# file: .
# owner: user
# group: user
user::rwx
group::rwx                      #effective:r-x
group:sudo:rwx                  #effective:r-x
mask::r-x
other::r-x
default:user::rwx
default:group::r-x
default:group:sudo:rwx
default:mask::rwx
default:other::r-x

Non conosco tutti i dettagli, ma dovrebbe funzionare. Finché sei sudo, puoi fare qualsiasi cosa.


4

No, non puoi eliminare i permessi dei file per i filesystem ext {2,3,4}.

L'unica cosa che puoi fare è impostare tutti i file con il permesso 777 .

Corri:

 chmod a+rwX -R <mountpoint>

4
Meglio farlo chmod a+rwX -R <mountpoint>per non dare autorizzazioni di esecuzione spurie.
vonbrand

@vonbrand right
H.-Dirk Schmitt

ma Xin chmod a+rwXrende tutti i file eseguibili, giusto? È una buona cosa??
becko,

3
@becko Hai perso il punto dei due precedenti commenti. Le Xlettere maiuscole renderanno solo eseguibili (inseribili) le directory senza rendere eseguibili i file; mentre le lettere minuscole xrenderanno eseguibili tutti i file e le directory.
XA21X,

0

Ovviamente le autorizzazioni del filesystem sono appena controllate dal driver del file system (modulo) e se dovessi patchare quel modulo, potresti disabilitare tutte le autorizzazioni del filesystem che desideri.

Una volta l'ho fatto per cifs.ko, il modulo 'client' (Samba) per il kernel, perché ci sono alcuni bug di samba in cui dovresti avere accesso locale e hai accesso remoto, ma l'accesso non è ancora concesso.

Ho disabilitato l'autorizzazione locale controllando se l'utente locale era nel gruppo (locale) del file, la stessa cosa dell'opzione "noperm", attivando solo quando sei un membro del gruppo, questa volta.

Naturalmente extfs non è esattamente un modulo nel kernel, ma un nuovo flag sarebbe banale da aggiungere.


Non sono sicuro se stai rispondendo alla domanda o meno. Dici che è possibile, se fosse un modulo, allora dici che non è un modulo.
Jeff Schaller

Sarebbe possibile se anche il sole danzasse quadrato nel cielo. Se sapessi qualcosa sul kernel, sapresti che qualcosa che non è un modulo richiederebbe la ricompilazione dell'intero kernel, il che è un po 'proibitivo per la gente comune, mentre la compilazione di un modulo è relativamente gratuita. Dico semplicemente il fatto che non c'è nulla di inerente a Linux che precluderebbe il sorgere di tale opzione, perché anche questa limitazione mi ha infastidito molto.
Xennex81,
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.