Yanıtlar:
Yalnızca dosyaların nautilus'ta görünmesini gizlemeye önem verdiğinizi varsayarsak , GNOME Bugzilla'da bununla ilgili bir hata vardır . Ancak, şu anda, bu hata çözülmedi.
Dosyaları nautilus'ta görünmesini engellemenin başka bir yolu var. .hidden
Bir dizinin içinde adı verilen bir dosya oluşturursanız, dosyada listelenen herhangi bir dosya adı gösterilmez.
Örneğin, aşağıda yarattığım bir .hidden dosyası var. Bu dosya , .hidden dosyasıyla aynı dizinde yer alan b
veya adlandırılan dosyaları veya klasörleri e
gizleyecektir.
Aşağıda .hidden dosyasını içeren klasörün ekran görüntüsü verilmiştir. : Yalnızca üç dosyaları görmek unutmayın a
, c
ve f
. .Hidden dosyasını '.' Nedeniyle görmüyorsunuz. adının başında.
Aşağıdaki ekran görüntüsü, önceki ile aynı klasördedir. Ancak bu sefer, nautilus'un gizli dosya ve klasörleri görüntülemesine neden olmak için Ctrl+ ' Hya çarptım. Nasıl ortaya çıkan birkaç ek dosya olduğuna dikkat edin. Şimdi, daha önce '.' İle başlayan isimler nedeniyle gizlenmiş birkaç dosya görüyorsunuz. Ayrıca, 'b' ve 'e' adında, '.' İle başlayan isimleri olmamasına rağmen .hidden dosyasında listelenmesi nedeniyle gizlenmiş olan dosyalar da vardır.
.Hidden dosyasında belirtilen dosyalar sadece nautilus'ta gizlenecektir. Gibi araçlar ls
hala onları gösterecektir. .Hidden dosya da özyinelemeli değildir. Yalnızca, .hidden dosyasının bulunduğu dizindeki dosyaları etkiler.
Forumdaki bazı insanlar ileri gitti ve nautilus için .hidden dosyasına dosya eklemeyi kolaylaştıran komut dosyaları oluşturdu. İlk komut yüklemek ve komut kullanma hakkında güzel bir açıklama içerir, ancak ikinci komut biraz daha temiz ve daha kısa. Hayatınızı biraz kolaylaştırmak için her iki senaryoyu kullanmaktan çekinmeyin.
Unix ve Linux sadece a ile olan klasörleri gizlemeyi destekler .
.
Eğer gerçekten yol çıkmalarını istiyorum, ama onları yok etmek istiyorsanız .
s, bir hepsini koymak .hidden
dosyasıyla aynı dizinde veya gizlemek istediğiniz klasörü. .hidden
dosya yöneticisi tarafından karşılanmayacak ve dosyalarınızın isim değişikliği olmayacak.
Komut satırından, .bash_aliases
dosyanızda böyle bir şey deneyebilirsiniz :
lsh() {
[ -s .hidden ] && echo "lsh: hiding $(wc -l .hidden) patterns" && ls $@ | grep -v -F "$(cat .hidden)";
[ ! -f .hidden ] && ls $@
}
Bu lsh
gibi davranan yeni bir komut ekler ls
ancak bir .hidden
dizinde listelenen dosyaları gizler . (Ayrıca, renklendirilmiş çıktı ve sütun listeleri gibi bazı özelliklerini de eksik.)
Dosyaları gizlemek istiyorsanız .
, * NIX kurallarında olduğu gibi yalnızca bir öncekiyle onları yeniden adlandırmanız yeterlidir. Üzgünüm, ama bu kadar.
Ancak, dosyaların / dizinlerin içeriğini gizlemek istiyorsanız, bunu dosya izinleriyle yapabilirsiniz.
Yani, bir klasörde bir sürü dosyanız secret_stash
olduğunu söyleyin, sadece sizin (sahibinin) sahip olması r-x
(okuması, yürütmesi) ve başkalarının hiçbir ---
şeyinin olmaması (erişim hakkı yok) olacak şekilde değiştirebilirsiniz. Yana r-x
bir dizin görüntülemek için gereken minimum Perma (onun içeriğine erişmek için okumak ve onları görmek mümkün yürütmek), bu klasörün içindeki şey etkili bir herkesten gizlenir ancak root
.
NOT : Bu demoyu farklı çalıştırıyorum root
ve klasöre farklı erişmeye çalışıyorum.myuser
Bunu yapmak için koşmak chmod 700 dirname
(700 demektir rwx------
):
% mkdir secret_stash
% chmod 700 secret_stash
Ve işte burada:
% whoami
root
% ls -ld secret_stash
drwx------ 2 root root 4.0K 2010-08-12 07:59 secret_stash/
% ls secret_stash
./ ../ secret.txt
% cat secret_stash/secret.txt
TOP SECRET DATA
Şimdi ve ona erişmeye myuser
çalışırsam, klasöre erişmeye çalışır veya içeriği başarısız olur:
% whoami
myuser
% ls -ld secret_stash
drwx------ 2 root root 4.0K 2010-08-12 07:59 secret_stash/
% ls secret_stash
ls: cannot open directory secret_stash: Permission denied
% cat secret_stash/secret.txt
cat: secret_stash/secret.txt: Permission denied
Ve şimdi "gizli" kelimesini çok defa söyledim, anlamını yitirdi !!
chmod -R 000 secret_stash
sonra kimse okuyamaz!
İlk kapalı: herhangi birinden bir dosyayı gizlemek istiyorsanız: bir linux izinsiz giriş algılama sistemi kurun . ( Snort bir örnektir) Bir dosyayı "root" dan bile gizleyebilirsiniz, ancak "root" da bu ayarı geri alabilecektir.
Ancak dosyayı tutan dizinin izinlerini "root" olarak ayarlamak daha kolay olabilir. Örnek:
$ sudo su
# mkdir tmp/
# touch tmp/1
# chown root:root tmp
# chmod 000 tmp
# ls -l
total 4
d--------- 2 root root 4096 2015-08-07 06:36 tmp
# exit
exit
$ ls
tmp
$ cd tmp/
bash: cd: tmp/: Permission denied
Ve dosya 1
görünümünden etkin bir şekilde gizlenir.
Dizin görünür olacak; dosya görünmeyecek. Ancak şunu unutmayın: "root" HER ZAMAN herhangi bir dosyaya erişebilir.
chattr
Sizinle birlikte dosyayı bile değişken hale getirebilirsiniz.
sudo su
chattr + i {file}
ve "root" bile değiştirilemez - birincisi - chattr
geri döndürülür (ve evet "root" bunu yapabilir).
Bunun için herhangi bir Klavye Kısayolu?
Hayır, bu manuel olarak yapmanız gereken bir şey.
Ayrıca, Nautilus için nautilus-hide adında bir uzantı vardır, bu da herhangi bir dosyayı veya klasörü basit bir sağ tıklatarak gizlemenizi sağlar.
Bu eklentiyi kurmak için:
sudo apt-get install nautilus-hide
bir terminalde veya Ubuntu Yazılım Merkezinde "nautilus hide" aratın.
Kurulumdan sonra Nautilus'tan çıkmayı unutmayın: Alt+ F2ve yazın nautilus -q
.
'
`` boşluk içeren dosya veya klasör adı için eklemek zorunda kalırsanız , öyle değil. Sadece dosya veya klasör adını ekleyin