ฉันใช้ Ubuntu 12.04 และฉันต้องการปกป้องรูปภาพของผู้ใช้รายอื่นโดยใช้คำสั่ง su (ฉันมีสิทธิ์ผู้ดูแลระบบ) ฉันจะป้องกันไฟล์โดยใช้เทอร์มินัลขณะที่ยังคงให้ผู้ใช้ที่เหลือสามารถอ่านได้อย่างไร
ฉันใช้ Ubuntu 12.04 และฉันต้องการปกป้องรูปภาพของผู้ใช้รายอื่นโดยใช้คำสั่ง su (ฉันมีสิทธิ์ผู้ดูแลระบบ) ฉันจะป้องกันไฟล์โดยใช้เทอร์มินัลขณะที่ยังคงให้ผู้ใช้ที่เหลือสามารถอ่านได้อย่างไร
คำตอบ:
Ubuntu ใช้รูปแบบระบบไฟล์ EXT4 ตามค่าเริ่มต้น (ฉันถือว่าเราไม่ได้พูดถึงสิ่งอื่นที่นี่)
หากคุณไม่ต้องการเป็นเจ้าของไฟล์โดยไม่ลบความสามารถของผู้ใช้ในการอ่านไฟล์นั้นคุณสามารถเริ่มโดยอนุญาตให้พวกเขาอ่าน แต่ไม่สามารถเขียนไฟล์ดังกล่าวด้วย:
chmod a-w,ug+r foo_file
คำอธิบาย: เปลี่ยนการอนุญาตไฟล์ทั้งหมดไม่สามารถเขียนผู้ใช้ + กลุ่มสามารถอ่านได้
จากนั้นสามารถทำให้ไฟล์ไม่เปลี่ยนรูปได้เพื่อให้ผู้ใช้ที่มีสิทธิ์การใช้งานรูทไม่สามารถเปลี่ยนแปลงได้โดยใช้สิ่งต่อไปนี้:
sudo chattr +i foo_file
เพื่อให้สามารถลบหรือแก้ไขไฟล์นี้คุณจะต้องใช้คำสั่ง:
sudo chattr -i foo_file
แล้วคุณจะสามารถทำอะไรกับมันได้
ข้อดีของการใช้สิ่งนี้คือผู้ใช้ส่วนใหญ่ (และผู้ดูแลระบบ) ไม่เคยพบไฟล์ที่ไม่เปลี่ยนรูปแบบใน Linux
นั่นคือผู้ใช้จะเห็นสิ่งนี้เมื่อพยายามลบ (หรือแก้ไข) ไฟล์:
~> sudo chmod a-w,ug+r asd
~> ll asd
-r--r--r-- 1 bruno bruno 156 feb 21 20:46 asd
~> sudo chattr +i asd
~> chmod +w asd
chmod: changing permissions of ‘asd’: Operation not permitted
~> rm asd
rm: remove write-protected regular file ‘asd’? y
rm: cannot remove ‘asd’: Operation not permitted
~> sudo rm asd
rm: cannot remove ‘asd’: Operation not permitted
ในขณะที่ยังสามารถอ่านได้:
~> cat asd
asd
...
Videos
หลังจากที่คุณออกchattr +i
ไฟล์จะถูก "ล็อค" ไม่มีการเปลี่ยนแปลงสามารถทำจนกว่าผู้ใช้กับชุดสิทธิ์ root chattr -i
ออกด้วย
เพียงใช้ด้านล่างในเทอร์มินัลของคุณ ( CTRL+ ALT+ T)
chmod 700 -R /path/to/directory
ลองคำสั่งด้านล่างบนเทอร์มินัล
chmod u-rw /path/to/directory
คำสั่งด้านบนจะไม่อนุญาตให้ผู้ใช้หรือกลุ่มอื่นอ่านหรือเขียนไดเรกทอรีที่จัดเก็บรูปภาพ
chmod u+rw /path/to/directory
หากต้องการเปลี่ยนกลับการเปลี่ยนแปลงให้เรียกใช้คำสั่งด้านบน
หากคุณต้องการเข้ารหัสไฟล์คุณสามารถใช้bcrypt
เพื่อเข้ารหัสและถอดรหัสไฟล์ มันใช้การเข้ารหัสไฟล์ปักเป้า
ประเภท:
sudo apt-get install bcrypt
เพื่อติดตั้ง
หลังจากติดตั้งประเภทsudo bcrypt file-name
การเข้ารหัสแล้ว
ฉันแนะนำให้ใช้Truecryptเพื่อสร้าง "ดิสก์ที่ถอดได้" ไปยังไฟล์ 1 ไฟล์ที่เข้ารหัส หากคุณสร้างพาร์ทิชัน Truecrypt เช่น 1GB และคุณสามารถป้องกันไฟล์นี้ด้วยรหัสผ่าน (ตัวเลือกจากผู้เชี่ยวชาญ: คุณสามารถตั้งค่ารหัสผ่าน 2 ไฟล์นั้น: ด้วยรหัสผ่านแรกที่คุณเห็นส่วนปกติของไฟล์และรหัสผ่าน 2 คุณเห็นส่วนที่ซ่อนอยู่) คุณสามารถติดตั้งไฟล์นี้ในLinux, MacหรือWindows (เมานต์ไดรฟ์e:
) และคุณจะแสดงไฟล์ 1GB เช่นเดียวกับ pendrive / แฟลชไดรฟ์และคุณสามารถยกเลิกการต่อเชื่อมเมื่อต้องการ
หากคุณสร้างไฟล์ 1GB นั้น (หรือขนาดใดก็ได้หรือดิสก์เต็มหรือ pendrive) คุณสามารถเพิ่มส่วนขยายใด ๆ เพื่อให้ไฟล์นั้นซ่อน (อย่าวางไฟล์นั้นไว้ที่โฮมไดเร็กตอรี่ของคุณเป็น secret.truecrypt.file.with.pwd lol)
หากคุณใช้ชื่อไฟล์ระบบในโฟลเดอร์ระบบผู้ใช้ปกติอาจไม่เคยสังเกตเห็นว่ามันไม่ใช่ไฟล์ระบบมันเป็นไฟล์ที่เข้ารหัสส่วนตัว
ตัวอย่างเช่นซ่อนไฟล์นี้:
/usr/lib/libc8.2.so
/usr/lib/libxml24.so.9.1.3
ชื่อไฟล์ temp อื่น ๆ :
Win386.swp
nsz17BE.tmp
mmc00C1B00C.xml
jusched.log
IMT211.xml
i4j8470767517827925011.tmp
FTP7F0.tmp
e4j3B.tmp
เลือกหนึ่งโครงร่างและเปลี่ยนหมายเลขสำหรับชื่อไฟล์
และกำหนดสิทธิ์ ... และหลังจากทำคำสั่งคอนโซลประวัติออก
ด้วยวิธีการแก้ปัญหาที่ผู้ใช้ปกติจะไม่พบไฟล์ลับของคุณ
ใน Pendrive สร้างโฟลเดอร์ TEMP และใช้ชื่อไฟล์ temp เช่นตัวอย่างไฟล์ และทำการสำรองข้อมูลเล็กน้อยที่มีชื่อแตกต่างกัน ...
คุณสามารถติดตั้ง truecrypt ได้เช่น:
sudo add-apt-repository ppa:michael-astrapi/ppa
sudo apt-get update
sudo apt-get install truecrypt
ข้อมูลเพิ่มเติมในโฮมเพจ Truecrypt
หากป้องกันคุณหมายถึงป้องกันการแก้ไขไฟล์เหล่านี้ให้ลองใช้ยูทิลิตีchattr มันมีไฟล์ทำเครื่องหมายตัวเลือกว่าไม่เปลี่ยนรูป (ไม่สามารถเปลี่ยนแปลงได้)
chattr +i /home/username/pictures/example1.png
สิ่งนี้จะป้องกันผู้ใช้ทั้งหมดและแม้แต่ผู้ใช้รูทไม่ให้ลบหรือแก้ไขไฟล์ใด ๆ ที่ตั้งค่าเป็นไม่เปลี่ยนรูป
คุณสามารถย้อนกลับการกระทำนี้ได้โดยแทนที่ "+ i" ด้วย "-i"