permessi 755 su / home / <utente> /


14

Mi chiedo perché per impostazione predefinita la mia directory /home/<user>/abbia le autorizzazioni impostate su 755. Ciò consente ad altri utenti di accedere a directory e leggere file nella mia casa. C'è qualche motivo legittimo per questo?

Posso impostare le autorizzazioni 700per la mia casa e tutte le sottodirectory, ad esempio:

chmod -R o-xw /home/<user>/ 
chmod -R g-xw /home/<user>/

senza rompere nulla?

Inoltre, è possibile impostare le autorizzazioni per la mia casa, in modo che tutti i nuovi file creati abbiano 600e directory 700?


1
in RHEL / CentOS 5 il valore predefinito è 700, ma in Ubuntu 755
Rahul Patil,

2
È comune in alcune configurazioni che public_htmlconsentono di consentire al server Web di accedere alla directory. Sebbene sia molto conveniente per gli utenti, non ne sono un grande fan.
Marco,

Risposte:


18

Se la tua home directory è privata, nessun altro può accedere a nessuno dei tuoi file. Per accedere a un file, un processo deve disporre dell'autorizzazione di esecuzione per tutte le directory sul percorso lungo l'albero dalla directory principale. Ad esempio, per consentire ad altri utenti di leggere /home/martin/public/readme, le directory /, /home, /home/martine /home/martin/publictutti hanno bisogno di avere i permessi d??x??x??x(che può essere drwxr-xr-x, o drwx--x--xo qualche altra combinazione), e inoltre il file readmedeve essere leggibile al pubblico ( -r??r??r??).

È comune avere home directory con mode drwxr-xr-x(755) o almeno drwx--x--x(711). La modalità 711 (solo autorizzazione di esecuzione) su una directory consente ad altri di accedere a un file in quella directory se ne conoscono il nome, ma non di elencare il contenuto della directory. Sotto quella home directory, crea le sottodirectory pubbliche e private come desiderato.

Se mai e poi mai vuoi che altre persone leggano i tuoi file, puoi creare la tua home directory drwx------(700). Se lo fai, non è necessario proteggere i tuoi file individualmente. Questo non romperà altro che la capacità di altre persone di leggere il tuo file.

Una cosa comune che potrebbe rompersi, perché è un'istanza di altre persone che leggono i tuoi file, è se hai una directory come ~/public_htmlo ~/wwwche contiene la tua pagina web. A seconda della configurazione del server Web, potrebbe essere necessario leggere questa directory in tutto il mondo.

È possibile modificare le autorizzazioni predefinite per i file creati impostando il valore umask in .profile. Umask è il complemento delle autorizzazioni massime di un file. I valori comuni includono 022 (scrivibile solo dal proprietario, leggibile ed eseguibile da tutti), 077 (accesso solo dal proprietario) e 002 (come 022, ma anche scrivibile in gruppo). Si tratta di autorizzazioni massime: le applicazioni possono impostare autorizzazioni più restrittive, ad esempio la maggior parte dei file non è eseguibile perché l'applicazione che li ha creati non ha impostato i bit di autorizzazione di esecuzione durante la creazione del file.


Non sto eseguendo un server Web sul mio computer, quindi non ho bisogno di consentire l'accesso ~/public_html. Esistono altri programmi comuni diversi da Apache, che potrebbero richiedere l'accesso a casa mia? Che dire postfix, per esempio.
Martin Vegter,

1
@MartinVegter Un buon punto. I programmi di posta elettronica vengono sempre eseguiti come utenti durante la consegna della posta, ma alcuni sistemi devono .forwardessere leggibili da un sistema di posta in esecuzione come utente di sistema. Postfix però va bene con un privato .forward.
Gilles 'SO- smetti di essere malvagio' il

3

Se si controlla in RHEL / CentOS 5.x, l'autorizzazione predefinita è 700, ma in Ubuntu è 755.

Secondo un membro dello staff di Ubuntuforms.org , è più semplice condividere file tra nuovi utenti. È possibile modificare l'autorizzazione su 700 o 750 se non si desidera che i file siano leggibili ed eseguibili da altri.

Inoltre, è possibile impostare le autorizzazioni per la mia casa, in modo che tutti i nuovi file creati abbiano 600 e directory 700?

Puoi impostare umask 0077per quello

Funzionerà come:

L'autorizzazione predefinita per la directory è 0777, quindi quando si imposta umask, la 0077nuova directory verrà creata con l'autorizzazione, ad (0777-0077) es. 0700Come si desidera.


si umaskapplica anche ai file? Sembra avere effetto solo quando creo nuove directory.
Martin Vegter,

2
Sì ... puoi controllare nella tua shell corrente semplicemente impostare umask 0077e creare file, dir e controllare i permessistat filename
Rahul Patil

3

Sì, c'è una ragione molto legittima. Nota che altri utenti possono leggere ma non scrivere sui tuoi file. Questo è molto utile nelle reti professionali perché puoi facilmente condividere i tuoi file con i tuoi colleghi.

Ad esempio, nel laboratorio in cui lavoravo, avevamo tutti accesso alle reciproche $HOMEdirectory in modo da poter condividere facilmente i nostri dati o i nostri script. Se la mia amica Alice avesse una bella sceneggiatura per fare X, la farei semplicemente:

~alice/bin/scriptX.pl mydata

Come altri hanno già detto, per cambiare questo è necessario impostare umask. Ad esempio, per rendere i nuovi file e cartelle leggibili solo da te, aggiungi questo al tuo ~/.bashrc:

umask 0077

3
Il fatto di usare lo script Perl di Alice è terrificante. Copia lo script nella tua home directory, controllalo e usa solo la tua copia.
AlexWebr,

6
@AlexWebr prima di tutto, lo leggerei prima, secondo Alice in questo caso è la persona seduta accanto a me che ha appena scritto una bella sceneggiatura. Possiamo presumere che mi fidi di loro tanto quanto farei qualsiasi sviluppatore di cui installerei ed eseguissi ciecamente il mio lavoro sulla mia macchina. Più della maggior parte in realtà. Inoltre, questo era un laboratorio, quindi spesso scaricavamo alcuni GB di genomi ed era un modo semplice per darci reciprocamente l'accesso.
terdon

1

Devi cambiare umask, per cambiare come vengono creati i nuovi file nella tua cartella home. Questo di solito viene fatto modificando lo script di avvio della shell, c'è una buona panoramica qui

Per quanto riguarda la modifica di tutte le autorizzazioni nella cartella principale su 700, mi chiedo come ciò influirebbe sui servizi in esecuzione con account di servizio che richiedono informazioni di configurazione dalla cartella principale ... Potresti finire per impedire a questi servizi di leggere i file di configurazione richiesti .

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.