OCD ในฉันต้องการไดเรกทอรีที่ฉันไม่ชอบชื่อที่จะซ่อนเนื่องจากฉันไม่ได้โต้ตอบกับพวกเขาโดยตรง
ฉันจะซ่อนไดเรกทอรีโดยไม่ใช้เครื่องหมายจุดได้อย่างไร
OCD ในฉันต้องการไดเรกทอรีที่ฉันไม่ชอบชื่อที่จะซ่อนเนื่องจากฉันไม่ได้โต้ตอบกับพวกเขาโดยตรง
ฉันจะซ่อนไดเรกทอรีโดยไม่ใช้เครื่องหมายจุดได้อย่างไร
คำตอบ:
สมมติว่าคุณสนใจที่จะซ่อนไฟล์ไม่ให้แสดงในรูปหอยโข่งมีข้อผิดพลาดใน GNOME Bugzilla เกี่ยวกับสิ่งนี้ อย่างไรก็ตามในปัจจุบันข้อผิดพลาดนั้นยังไม่ได้รับการแก้ไข
มีวิธีอื่นในการซ่อนไฟล์ไม่ให้ปรากฏในหอยโข่ง หากคุณสร้างไฟล์ชื่อ.hidden
ภายในไดเรกทอรีชื่อไฟล์ใด ๆ ที่อยู่ในไฟล์จะไม่ปรากฏขึ้น
ตัวอย่างเช่นด้านล่างเป็นไฟล์. hidden ที่ฉันสร้างขึ้น ไฟล์นี้จะซ่อนไฟล์หรือโฟลเดอร์ใด ๆ ที่มีชื่อb
หรือe
อยู่ในไดเรกทอรีเดียวกันกับไฟล์. hidden
ด้านล่างเป็นภาพหน้าจอของโฟลเดอร์ที่มีไฟล์. hidden โปรดทราบว่าคุณจะเห็นเพียงสามไฟล์: a
, และc
f
คุณไม่เห็นไฟล์. hidden เนื่องจาก '.' ที่จุดเริ่มต้นของชื่อ
ภาพหน้าจอด้านล่างเป็นโฟลเดอร์เดียวกับเมื่อก่อน อย่างไรก็ตามในครั้งนี้ฉันกดCtrl+ Hเพื่อให้หอยโข่งแสดงไฟล์และโฟลเดอร์ที่ซ่อนอยู่ สังเกตว่ามีไฟล์เพิ่มเติมหลายไฟล์ที่แสดงขึ้นมาอย่างไร ขณะนี้คุณเห็นไฟล์หลายไฟล์ที่ถูกซ่อนไว้ก่อนหน้านี้เนื่องจากมีชื่อที่ขึ้นต้นด้วย '.' นอกจากนี้ยังมีไฟล์ที่เรียกว่า 'b' และ 'e' ซึ่งแม้ว่าจะไม่มีชื่อขึ้นต้นด้วย '.' ก็ถูกซ่อนไว้เนื่องจากมีการระบุไว้ในไฟล์. hidden
ไฟล์ที่กล่าวถึงในไฟล์. hidden จะถูกซ่อนเฉพาะในหอยโข่งเท่านั้น เครื่องมือเช่นls
จะยังคงแสดงพวกเขา ไฟล์. hidden ยังไม่เรียกซ้ำ มันจะมีผลกับไฟล์ในไดเรกทอรีเดียวกับไฟล์. hidden ที่อยู่ใน
บางคนในฟอรัมได้ไปข้างหน้าและสร้างสคริปต์สำหรับ nautilus ที่ทำให้ง่ายต่อการเพิ่มไฟล์ลงในไฟล์. hidden สคริปต์แรกที่มีคำอธิบายที่ดีเกี่ยวกับวิธีการติดตั้งและการใช้สคริปต์ แต่สคริปต์ที่สองเป็นบิตทำความสะอาดและสั้น อย่าลังเลที่จะใช้สคริปต์เพื่อทำให้ชีวิตของคุณง่ายขึ้นเล็กน้อย
Unix และ Linux .
เท่านั้นสนับสนุนซ่อนตัวอยู่โฟลเดอร์ที่ถูกด้วย
หากคุณต้องการพาพวกเขาออกไปให้พ้นทาง แต่ต้องการให้พวกเขาไม่มี.
s ให้ใส่พวกมันทั้งหมดไว้.hidden
ในไดเรกทอรีเดียวกันกับไฟล์หรือโฟลเดอร์ที่คุณต้องการซ่อน .hidden
จะไม่ถูกเปิดเผยโดยตัวจัดการไฟล์และไฟล์ของคุณจะไม่มีการเปลี่ยนชื่อ
จากบรรทัดคำสั่งคุณสามารถลองสิ่งนี้ใน.bash_aliases
ไฟล์ของคุณ:
lsh() {
[ -s .hidden ] && echo "lsh: hiding $(wc -l .hidden) patterns" && ls $@ | grep -v -F "$(cat .hidden)";
[ ! -f .hidden ] && ls $@
}
สิ่งนี้จะเพิ่มคำสั่งใหม่lsh
ที่ทำงานเหมือนls
แต่ซ่อนไฟล์ที่อยู่ใน.hidden
ไดเรกทอรี (นอกจากนี้ยังขาดคุณสมบัติบางอย่างเช่นเอาต์พุต colorized และรายการคอลัมน์)
หากคุณต้องการซ่อนไฟล์คุณจะเหลือเพียงการเปลี่ยนชื่อไฟล์เหล่านั้นด้วยการทำก่อนหน้า.
เช่นเดียวกับการประชุม * NIX ขออภัย แต่นั่นมัน
อย่างไรก็ตามหากคุณต้องการซ่อนเนื้อหาของไฟล์ / ไดเรกทอรีคุณสามารถทำได้ด้วยการอนุญาตไฟล์
สมมติว่าคุณมีไฟล์จำนวนมากในโฟลเดอร์ที่เรียกว่าsecret_stash
คุณสามารถเปลี่ยนแปลงได้เพื่อให้มีเพียงคุณ (เจ้าของ) เท่านั้นที่มีr-x
(อ่านดำเนินการ) และทุกคนไม่มีอะไร---
(ไม่มีการเข้าถึง) ตั้งแต่r-x
เป็น perms ขั้นต่ำที่จำเป็นในการดูไดเรกทอรี (อ่านเข้าถึงเนื้อหาและการดำเนินการที่จะสามารถที่จะเห็นพวกเขา) อะไรภายในของโฟลเดอร์ที่ซ่อนอยู่ได้อย่างมีประสิทธิภาพจากทุกคน root
แต่
หมายเหตุ : ฉันใช้การสาธิตนี้เป็นroot
และพยายามเข้าถึงโฟลเดอร์ในฐานะmyuser
เมื่อต้องการทำสิ่งนี้ให้คุณเรียกใช้chmod 700 dirname
(700 หมายถึงrwx------
):
% mkdir secret_stash
% chmod 700 secret_stash
และนี่คือ:
% 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
ตอนนี้และถ้าฉันพยายามที่จะเข้าถึงมันจากmyuser
ความพยายามที่จะเข้าถึงโฟลเดอร์หรือเนื้อหาของมันล้มเหลว:
% 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
และตอนนี้ฉันได้พูดคำว่า "ความลับ" หลายครั้งมันหายไปหมดความหมายทั้งหมด !!
chmod -R 000 secret_stash
จากนั้นจะไม่มีใครสามารถอ่านได้!
1 ปิด: ถ้าคุณต้องการที่จะซ่อนไฟล์จากทุกคน: ติดตั้งลินุกซ์ระบบตรวจจับการบุกรุก ( Snortเป็นตัวอย่าง) คุณสามารถซ่อนไฟล์จาก "root" แต่ "root" จะสามารถเปลี่ยนการตั้งค่าเหล่านั้นได้
แต่มันอาจจะง่ายกว่าถ้าคุณตั้งค่าการอนุญาตของไดเรกทอรีที่เก็บไฟล์ไว้ที่ "root" ตัวอย่าง:
$ 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
และไฟล์1
นั้นถูกซ่อนอย่างมีประสิทธิภาพจากการดู
ไดเรกทอรีจะสามารถมองเห็นได้; ไฟล์จะไม่สามารถมองเห็นได้ โปรดทราบว่า: "root" จะสามารถเข้าถึงไฟล์ใด ๆ ได้เสมอ
chattr
คุณสามารถสร้างไฟล์ที่ไม่เปลี่ยนรูปแบบร่วมกับคุณได้
sudo su
chattr + i {file}
และแม้แต่ "รูท" ก็ไม่สามารถแก้ไขไฟล์ได้ - ยกเว้น - ที่chattr
ถูกเปลี่ยนกลับ (และใช่ "รูท" สามารถทำเช่นนั้นได้)
แป้นพิมพ์ลัดใด ๆ
ไม่นี่เป็นสิ่งที่คุณต้องทำด้วยตนเอง
นอกจากนี้ยังมีส่วนขยายสำหรับ Nautilus ที่เรียกว่าnautilus-hideซึ่งจะช่วยให้คุณสามารถซ่อนไฟล์หรือโฟลเดอร์ใด ๆ ด้วยการคลิกขวาง่ายๆ
ในการติดตั้งส่วนขยายนี้:
sudo apt-get install nautilus-hide
ในเทอร์มินัลหรือค้นหา "nautilus hide" ใน Ubuntu Software Center
อย่าลืมที่จะเลิก Nautilus หลังจากการติดตั้ง: Alt+ และประเภทF2nautilus -q
'
ชื่อไฟล์หรือโฟลเดอร์ที่มีช่องว่าง `` มันไม่ได้ เพียงเพิ่มไฟล์หรือชื่อโฟลเดอร์