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,
root
possono sempre accedere a tutto (che non è un problema qui)
- condividi
difficult-name-here
con 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 root
decide 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
'.