Sistemdeki tek kullanıcı sizseniz ve hiç kimse izniniz olmadan bilgisayarınıza makul bir şekilde erişemiyorsa, Zanna'nın cevabına göre bu komutu kullanarak erişimi engelleyebilirsiniz :
sudo chown root:root /my/secret/file.txt
sudo chmod 600 /my/secret/file.txt
Bu durumda, dosya sadece root
kullanıcı tarafından okunabilir ve / veya yazılabilir . Hiç kimse izniniz olmadan bilgisayarınızı başlatamazsa veya sabit sürücünüzü kaldıramazsa, bu "yeterince güvenli" olarak kabul edilir. root
Bu durumda kullanıcıyı kullanıyoruz , çünkü root
kullanıcı izinleri olmasa bile her zaman dosyaları okuyabilir. Kök kullanıcıyı kullanarak, yalnızca bir kullanıcının erişebileceğini zorlarız.
Dosyayı herhangi bir şekilde, şekilde veya biçimde i
değiştirilemez olarak işaretlemek istiyorsanız , dosyayı değişmez olarak işaretlemek için niteliği kullanabilirsiniz . Bu durumda, dosyanın izinleri kilitlenir ve hiçbir koşulda değiştirilemez. Böylece, dosyayı değiştirilemez hale getirmek ve dosyayı silme ve izin değişikliklerinden korumak için aşağıdaki komutu yapabilirsiniz:
sudo chattr +i /my/secret/file.txt
Bunu değiştirmek isterseniz , dosyayı geçici olarak açmak için +i
a ile değiştirin -i
. Daha ayrıntılı bir görünüm için Rinzwind'in cevabına bakınız .
Şimdi, başkalarının bilgisayarınıza erişimi varsa (uzaktan sudo
erişim veya herhangi bir fiziksel erişim şekli), bu anında dağılıyor. Saldırgan, root
dosyanızı okumak, bir Canlı USB eklemek veya sadece sabit sürücünüzü çekmek için güç kullanabilir.
Bu nedenle dosyayı şifrelememiz gerekiyor. Ben kişisel olarak "dosya kapları" nı kullanmayı tercih ediyorum, böylece daha fazla yapışabiliyor ve gerektiği gibi büyüyebiliyorsunuz. chattr +i
dosyanın yanlışlıkla silinmemesi veya değiştirilmemesi için hala önerilir. Son olarak, şifreli bir görüntü kullanıyorsanız, disk monte edildiğinde başkalarının çok sınırlı bir dosya alt kümesine erişmesine izin vererek izinleri ayarlayabilirsiniz, bu da onu bir sunucu için iyidir. Bu kılavuz başlangıçta burada mevcuttu ve burada kullanılmak üzere uyarlandı.
Öncelikle, kullanımınız için bir disk görüntüsü oluşturmak istiyorsunuz. Bu örnekte, 5 GB yapacağız.
dd if=/dev/zero bs=1M count=5000 of=~/NSA-Data-Dump-20161012.img
Ardından, resminizi şifreli hale getirmemiz gerekiyor:
sudo cryptsetup luksFormat ~/NSA-Data-Dump-20161012.img
Tercih ettiğiniz şifreleme şifrenizi girmek için bir seçeneğiniz olacak. Bu yapıldıktan sonra, ham blok cihazını göstermeliyiz:
sudo cryptsetup luksOpen ~/NSA-Data-Dump-20161012.img my-secret-device
Şimdi şifresi çözülmüş bir dosya kapsayıcımız var, ancak dosya sistemi yok ve işe yaramaz kadar iyi. Bunu düzeltelim:
sudo mkfs.ext4 /dev/mapper/my-secret-device
Şimdi, yeni bölümümüzü kuracak bir yere ihtiyacımız var. Bu durumda, onu koyacağım /crypt
. Ben 1000 kullanıcısıyım, bu yüzden bölümümü yalnızca ondan (/ kökünden) okumasını / yazmasını sağlayacak şekilde ayarlayacağım.
sudo mkdir /crypt
sudo mount /dev/mapper/my-secret-device /crypt -o umask=0700,gid=1000,uid=1000
Artık, dosya aracımı gezinmek için kullanabilirim /crypt
ve hassas dosyalarımın tümünü orada depolayabilirim. İşim bittiğinde, bölümümü ayırmam ve yeniden şifrelemem gerekecek.
sudo umount /crypt
sudo cryptsetup luksClose my-secret-device
Şimdi, görüntü dosyamda uygun bölümleri ayarlayacağım, böylece sadece ben ve kök erişebilir ve artık değiştirilemez.
chmod 400 ~/NSA-Data-Dump-20161012.img
sudo chattr +i ~/NSA-Data-Dump-20161012.img
Ne zaman bu dosyayı okumak için açmak istediğimde, kolayca takma yapabileceğim bu iki komutu çalıştırmam gerekiyor:
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
Şifrelenmiş verilerim adresinde /crypt
erişilebilir olacak ve salt okunur ve sadece bana ve root erişimine açık kalacak.
Dosyayı değiştirmek istersem, izinleri değiştirmem ve sonra bağlamam gerekir:
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
Şimdi, burada dikkatli olmanız gerekiyor, çünkü eğer bir kullanıcı sisteminde kök kullanıyorsa, şifrelenmiş bölümünüzü değiştirebilir / tahrip edebilir, onu işe yaramaz hale getirebilir. Ayrıca sürücüden veri çalabilirler, ancak yalnızca açıkken. Bununla birlikte, verileri çalamazlar ve açıkça siz açmadan verilerin var olduğunu göremezler. Bu nedenle, şifrelenmiş birimini açarken, çevrimiçi olarak herhangi bir kök kullanıcının bulunmaması için sisteminizin güvenli olduğundan emin olmak sizin görevinizdir.
TL; DR :
Kasa yap:
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
Kasayı doldurun:
sudo mkdir /crypt
sudo mount /dev/mapper/my-secret-device /crypt -o umask=0700,gid=1000,uid=1000
Kasayı kilitle:
sudo umount /crypt
sudo cryptsetup luksClose my-secret-device
Kasayı dondur:
chmod 400 ~/NSA-Data-Dump-20161012.img
sudo chattr +i ~/NSA-Data-Dump-20161012.img
Kasayı açın:
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