ฉันจะป้องกันไฟล์จากการเปลี่ยนแปลงของผู้ใช้ได้อย่างไร?


15

ฉันใช้ Ubuntu 12.04 และฉันต้องการปกป้องรูปภาพของผู้ใช้รายอื่นโดยใช้คำสั่ง su (ฉันมีสิทธิ์ผู้ดูแลระบบ) ฉันจะป้องกันไฟล์โดยใช้เทอร์มินัลขณะที่ยังคงให้ผู้ใช้ที่เหลือสามารถอ่านได้อย่างไร


ฉันต้องการให้ทุกคนสามารถดูได้บอทไม่สามารถแก้ไขลบได้
Jatttt

@ user222588 ฟังดูชัดเจนพอไม่ต้องกังวล
Bruno Pereira

วิธีการขึ้นอยู่กับว่าไฟล์อยู่ที่ไหนพวกเขาอยู่ที่ไหน? USB ฮาร์ดไดรฟ์หลักของคุณหรือไม่
Braiam

คำตอบ:


25

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ออกด้วย


ทักทายเพื่อนของฉัน ช่างเป็นคำอธิบายที่ดี
rɑːdʒɑ

8

เพียงใช้ด้านล่างในเทอร์มินัลของคุณ ( CTRL+ ALT+ T)

chmod 700 -R /path/to/directory

เกิดอะไรขึ้นกับสิ่งนี้? การลงคะแนนเชิงลบด้วยเหตุผลที่เหมาะสมชื่นชมมาก
rɑːdʒɑ

1

ลองคำสั่งด้านล่างบนเทอร์มินัล

chmod u-rw /path/to/directory

คำสั่งด้านบนจะไม่อนุญาตให้ผู้ใช้หรือกลุ่มอื่นอ่านหรือเขียนไดเรกทอรีที่จัดเก็บรูปภาพ

chmod u+rw /path/to/directory

หากต้องการเปลี่ยนกลับการเปลี่ยนแปลงให้เรียกใช้คำสั่งด้านบน


1
โปรดระบุเหตุผลของการลงคะแนน
Avinash Raj

2
ฉันคิดว่า downvote นั้นเป็นเพราะคุณสละสิทธิ์จากเจ้าของไม่ใช่ผู้ใช้และกลุ่มอื่น ๆ
Ben Voigt

0

หากคุณต้องการเข้ารหัสไฟล์คุณสามารถใช้bcryptเพื่อเข้ารหัสและถอดรหัสไฟล์ มันใช้การเข้ารหัสไฟล์ปักเป้า

ประเภท: sudo apt-get install bcryptเพื่อติดตั้ง

หลังจากติดตั้งประเภทsudo bcrypt file-nameการเข้ารหัสแล้ว


0

ฉันแนะนำให้ใช้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


0

หากป้องกันคุณหมายถึงป้องกันการแก้ไขไฟล์เหล่านี้ให้ลองใช้ยูทิลิตีchattr มันมีไฟล์ทำเครื่องหมายตัวเลือกว่าไม่เปลี่ยนรูป (ไม่สามารถเปลี่ยนแปลงได้)

chattr +i /home/username/pictures/example1.png

สิ่งนี้จะป้องกันผู้ใช้ทั้งหมดและแม้แต่ผู้ใช้รูทไม่ให้ลบหรือแก้ไขไฟล์ใด ๆ ที่ตั้งค่าเป็นไม่เปลี่ยนรูป

คุณสามารถย้อนกลับการกระทำนี้ได้โดยแทนที่ "+ i" ด้วย "-i"

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.