Se sei il singolo utente sul sistema e nessuno può ragionevolmente accedere al tuo computer senza le tue autorizzazioni, puoi semplicemente bloccare l'accesso usando questo comando, come da risposta di Zanna :
sudo chown root:root /my/secret/file.txt
sudo chmod 600 /my/secret/file.txt
In questo caso, il file può essere letto e / o scritto solo root
dall'utente. Questo è considerato "abbastanza sicuro" se nessuno può avviare il computer senza la tua autorizzazione o sollevare il tuo disco rigido. In root
questo caso utilizziamo l' utente, poiché l' root
utente può sempre leggere i file, anche se non dispongono dell'autorizzazione. Utilizzando l'utente root, imponiamo che solo un utente possa accedervi.
Se si desidera contrassegnare il file come immutabile in qualsiasi modo, forma o forma, è possibile utilizzare l' i
attributo per contrassegnare il file come immutabile . In questo caso, le autorizzazioni del file sono bloccate e non possono essere modificate in nessun caso. Pertanto, è possibile eseguire il comando seguente per rendere immutabile il file e proteggerlo dall'eliminazione e dalle modifiche alle autorizzazioni:
sudo chattr +i /my/secret/file.txt
Se si desidera modificarlo, sostituirlo +i
con a -i
per sbloccare temporaneamente il file. Vedi la risposta di Rinzwind per una visione più approfondita.
Ora, se altre persone hanno accesso al tuo computer ( sudo
accesso remoto o qualsiasi forma di accesso fisico), questo cade all'istante. Un utente malintenzionato può utilizzare i root
poteri per leggere il file, inserire un Live USB o semplicemente tirare il disco rigido.
Pertanto, è necessario crittografare il file. Personalmente preferisco usare i "contenitori di file", in modo da poter rimanere più dentro e farli crescere se necessario. chattr +i
è comunque consigliato in modo che il file non venga cancellato (o modificato) accidentalmente. Infine, se stai usando un'immagine crittografata, puoi impostare le autorizzazioni per consentire ad altri di accedere a un sottoinsieme molto limitato di file quando il disco è montato, rendendolo buono per un server. Questa guida era originariamente disponibile qui ed è stata adattata per l'uso qui.
Prima di tutto, vuoi creare un'immagine del disco per il tuo uso. In questo esempio, faremo 5 GB.
dd if=/dev/zero bs=1M count=5000 of=~/NSA-Data-Dump-20161012.img
Quindi, dobbiamo rendere la tua immagine crittografata:
sudo cryptsetup luksFormat ~/NSA-Data-Dump-20161012.img
Qui puoi scegliere di inserire la tua password di crittografia preferita. Fatto ciò, dobbiamo esporre il dispositivo a blocchi grezzi:
sudo cryptsetup luksOpen ~/NSA-Data-Dump-20161012.img my-secret-device
In questo momento, abbiamo un contenitore di file decrittografato, ma non esiste un filesystem ed è buono come inutile. Risolviamo che:
sudo mkfs.ext4 /dev/mapper/my-secret-device
Ora, abbiamo bisogno di un posto per montare la nostra nuova partizione. In questo caso, lo metterò a /crypt
. Sono utente 1000, quindi imposterò la mia partizione per consentire a me (e root) di leggere / scrivere solo da essa.
sudo mkdir /crypt
sudo mount /dev/mapper/my-secret-device /crypt -o umask=0700,gid=1000,uid=1000
Ora, posso usare il mio strumento di file per navigare /crypt
e posso archiviare tutti i miei file sensibili lì. Una volta terminato, dovrò smontare e ricrittografare la mia partizione.
sudo umount /crypt
sudo cryptsetup luksClose my-secret-device
Ora imposterò le partizioni appropriate sul mio file di immagine, in modo tale che solo io e root possiamo accedervi e che non possa più essere modificato.
chmod 400 ~/NSA-Data-Dump-20161012.img
sudo chattr +i ~/NSA-Data-Dump-20161012.img
Ogni volta che voglio aprire questo file per la lettura, devo solo eseguire questi due comandi, che posso facilmente alias:
sudo cryptsetup luksOpen ~/NSA-Data-Dump-20161012.img my-secret-device
sudo mount /dev/mapper/my-secret-device /crypt -o umask=0700,gid=1000,uid=1000,ro
I miei dati crittografati saranno disponibili su /crypt
e rimarranno di sola lettura e accessibili solo a me e root.
Se voglio modificare il file, devo cambiare i permessi e poi montare:
sudo chattr -i ~/NSA-Data-Dump-20161012.img
chmod 700 ~/NSA-Data-Dump-20161012.img
sudo cryptsetup luksOpen ~/NSA-Data-Dump-20161012.img my-secret-device
sudo mount /dev/mapper/my-secret-device /crypt -o umask=0700,gid=1000,uid=1000,ro
Ora, devi stare attento qui perché se un utente ha root sul proprio sistema, può modificare / distruggere la tua partizione crittografata, rendendola inutile. Possono anche rubare dati dall'unità, ma solo quando è aperto. Tuttavia, non possono rubare dati o persino vedere che esistono dati senza che tu li apra esplicitamente. Pertanto, è tuo dovere assicurarti che il tuo sistema sia abbastanza sicuro da non avere utenti root online quando apri il tuo volume crittografato.
TL; DR :
Crea il caveau:
dd if=/dev/zero bs=1M count=5000 of=~/NSA-Data-Dump-20161012.img
sudo cryptsetup luksOpen ~/NSA-Data-Dump-20161012.img my-secret-device
sudo mkfs.ext4 /dev/mapper/my-secret-device
Riempi il caveau:
sudo mkdir /crypt
sudo mount /dev/mapper/my-secret-device /crypt -o umask=0700,gid=1000,uid=1000
Blocca il caveau:
sudo umount /crypt
sudo cryptsetup luksClose my-secret-device
Congela il caveau:
chmod 400 ~/NSA-Data-Dump-20161012.img
sudo chattr +i ~/NSA-Data-Dump-20161012.img
Apri il caveau:
sudo cryptsetup luksOpen ~/NSA-Data-Dump-20161012.img my-secret-device
sudo mount /dev/mapper/my-secret-device /crypt -o umask=0700,gid=1000,uid=1000,ro