Questo è qualcosa di cui avevamo discusso a scuola.
Va più o meno così,
- Creare una directory (denominata
data, per riferimento qui)
- cambia permessi come "
chmod 711 data"
- gruppo e altri hanno solo
x- accesso per accedere alla directory
- non possono elencare la directory
- Ora crea una directory
difficult-name-here(potrebbe essere una stringa con hash)
- cambia permessi come "
chmod a+rx difficult-name-here"
- il contenuto di questa directory è sicuro mentre la directory esterna non può essere elencata
- le persone che conoscono il "nome difficile" possono saltare in questa seconda directory
- "
cd path/to/data/difficult-name-here"
- altri non possono vedere il nome e non possono accedere al contenuto della directory
- Tuttavia,
rootpossono sempre accedere a tutto (che non è un problema qui)
- condividi
difficult-name-herecon le persone a cui vuoi fornire questi dati
- Mantieni i file condivisi in questa seconda directory
Abbastanza rozzo, ma se questo può essere rotto senza la rottura del controllo di accesso unix, mi piacerebbe saperlo.
Aggiornamento su commento da dmckee,
Questa è esattamente la conclusione che abbiamo raggiunto!
"sicurezza per oscurità" ha una sicurezza limitata .
Detto questo, quando si progetta la protezione dei dati,
è importante identificarne il valore.
Dovresti scegliere come target,
- Un costo di violazione della sicurezza superiore a,
- Il costo del contenuto protetto,
- Di un fattore proporzionale alla tua paranoia
In questo caso, se rootdecide di enumerare l'albero delle directory da qualche parte in accesso pubblico, il
tuo segreto è fuori! Ma stai proteggendo dalla radice o dalla loro potenziale irresponsabilità?
In tal caso, devi preoccuparti molto di più dei file condivisi.
Aggiornamento sulla nota non funzionante nella domanda .
Ho usato questo nei primi giorni di Linux per sapere che funziona.
Se ottieni " cannot access non-existant file" anziché 'permissions denied", molto probabilmente hai fatto un errore nella sequenza. Quello che vuoi dovrebbe assomigliare a questo,
755 711 755 qualunque - === Autorizzazioni di accesso
BasePath / CoverDir / Obscure / protectedFile.txt
| | ^^^^^^^^^^^^^^^^^ Non si vede senza
| ^^^^^^^^ Nome directory Accesso in lettura a
^^^^^ Pubblico condiviso con un amico. Directory oscura.
accessibile
directory.
- Se si imposta '
CoverDir' access as 'rwx--x--x'',
group e altri possono solo accedere alla directory ma non possono leggerne il contenuto.
- Ora, se usi un nome di directory oscuro
' Obscure', al suo interno e dai pieno accesso in lettura con ' rwxr-xr-x',
chiunque conosca questo nome può elencarne il contenuto.
- Questo accesso dovrà essere fatto dall'esterno con un '
ls BasePath/CoverDir/Obscure'
Perché le persone nel tuo gruppo e gli altri non saranno in grado di farlo ' ls BasePath/CoverDir'.