ไม่ใช่ทุกอย่างที่สามารถเป็นเกมได้ไม่ใช่ความตั้งใจของฉันที่จะเผยแพร่โพสต์ที่พูดถึงเกมเท่านั้น😉 ... ฉันไม่ใช่ผู้ใช้ที่เล่นบ่อยมากที่บ้านฉันปล่อยให้แฟนของฉัน (ซึ่งตอนนี้ติดยาเสพติด Sims 4) นั่นคือสาเหตุที่กระตุ้นให้ฉันเผยแพร่บทความทางเทคนิคเพิ่มเติมเกี่ยวกับคำสั่งหรือเคล็ดลับในเทอร์มินัล
ในลินุกซ์เรามี สิทธิ์ ซึ่งสามารถแก้ปัญหาได้เกือบทุกปัญหาเราสามารถระบุได้ว่าผู้ใช้หรือกลุ่มผู้ใช้รายใดสามารถเข้าถึงทรัพยากรโฟลเดอร์บริการบางอย่างได้ อย่างไรก็ตามมีหลายครั้งที่สิทธิ์ไม่ตรงตามที่เราต้องการเนื่องจากมีสถานการณ์ที่เราต้องการให้รูทไม่สามารถดำเนินการบางอย่างได้
สมมติว่าเรามีโฟลเดอร์หรือไฟล์ที่เราไม่ต้องการให้ถูกลบไปกันเลย ... ไม่ว่าจะโดยผู้ใช้ของเราหรือโดยผู้อื่นในคอมพิวเตอร์ (เอิ่ม ... แฟนตัวอย่างฮ่าฮ่า) หรือไม่แม้แต่รูทก็สามารถลบได้จะทำอย่างไร? ... การอนุญาตจะไม่ช่วยเราเพราะรูทคือปรมาจารย์เขาจะสามารถลบอะไรก็ได้นั่นคือที่มาของคุณสมบัติของไฟล์หรือโฟลเดอร์
chattr + i
สมมติว่าเราต้องการปกป้องไฟล์เพื่อไม่ให้ลบไฟล์ได้คือ: รหัสผ่าน.txt ตำแหน่งของคุณคือ (ตัวอย่าง) $ HOME / passwords.txt
ในการตั้งค่าแอตทริบิวต์แบบอ่านอย่างเดียว (นั่นคือไม่มีการแก้ไขและไม่มีการลบ) จะเป็น:
sudo chattr +i $HOME/passwords.txt
อย่างที่คุณเห็นเราต้องการสิทธิ์การดูแลระบบสำหรับพารามิเตอร์ + i ซึ่งโดยวิธีการแล้ว + i หมายความว่าไฟล์จะไม่เปลี่ยนรูปคุณก็รู้ว่าไม่สามารถลบได้และไม่สามารถเปลี่ยนแปลงได้
จากนั้นคุณสามารถลองลบไฟล์ได้แม้ใช้ sudo ... คุณจะเห็นว่าคุณจะไม่สามารถทำได้นี่คือภาพหน้าจอ:
หากต้องการแสดงรายการหรือดูแอตทริบิวต์ที่ไฟล์มีเราสามารถใช้คำสั่ง ศีลตัวอย่างเช่น:
lsattr passwords.txt
จากนั้นให้ทำการถอดการป้องกันออกแทนการใช้ +i เราใช้ -i และ voila 😉
chattr + ก
อย่างที่เราเพิ่งเห็นพารามิเตอร์ + i ช่วยให้เราสามารถป้องกันได้อย่างสมบูรณ์ แต่มีหลายครั้งที่ฉันต้องการไฟล์บางไฟล์เพื่อให้สามารถแก้ไขได้ แต่โดยไม่ต้องแก้ไขเนื้อหาต้นฉบับ ตัวอย่างเช่นฉันมีรายการและฉันต้องการเพิ่มบรรทัดและข้อมูลใหม่โดยใช้เสียงสะท้อน แต่ไม่ต้องแก้ไขรายการก่อนหน้าสำหรับสิ่งนี้:
sudo chattr +a $HOME/passwords.txt
เมื่อเสร็จแล้วเรามาลองเขียนสิ่งใหม่ในไฟล์:
echo "Prueba" > $HOME/passwords.txt
คุณจะสังเกตเห็นว่าคุณได้รับข้อผิดพลาด ... อย่างไรก็ตามหากเราเพิ่มเนื้อหาแทนการแทนที่ (โดยใช้ >> ไม่ใช่>):
echo "Prueba" >> $HOME/passwords.txt
ที่นี่เราทำได้
ตอนจบ!
ฉันรู้ว่ามีคนที่มีความรู้เมื่อเห็นว่าแม้จะมีรูทก็สามารถลบ / แก้ไขไฟล์ได้ก็สามารถตรวจสอบคุณสมบัติของมันได้ ... แต่เดี๋ยวก่อน! …กี่ครั้งที่คุณสังเกตเห็นอะไรแบบนี้คุณเลิกคิดถึงคุณลักษณะต่างๆ ... ฉันพูดแบบนี้เพราะโดยทั่วไปเราคิดว่า HDD หรือเซกเตอร์เสียหายหรือว่าระบบมันบ้าไปแล้ว😀
ไม่มีอะไรให้เพิ่มอีกมาก ... ฉันคิดว่าฉันจะใช้สิ่งนี้จาก +i เพื่อหยุดการดาวน์โหลดบางสิ่งที่แฟนของฉันกำลังดาวน์โหลด ... _¬ ... เอ๊ะ ... เธอไม่ต้องการ ดาวน์โหลด sims 4 ฟรี? ... ฉันคิดว่าฉันจะสอนคุณสักเรื่องหรือสองเรื่องเกี่ยวกับใบอนุญาตและไม่ควรละเมิด😀
ทักทาย!
น่าสนใจที่จะรู้เกี่ยวกับเครื่องมือนี้จะเกิดอะไรขึ้นถ้ามันทำให้ฉันอยากรู้อยากเห็นในทางที่มันจะไม่คล้ายกับการอนุญาตบิต? เช่น setuid, setgid และ sticky bit? ถ้าไม่เพราะเหตุใด Oo
PS: ฉันพลาดจำนวนครั้งที่คุณพูดว่าแฟนของฉันในบทความนี้ฮ่า ๆ ๆ
สำหรับสิ่งนี้ยังเป็นบิตที่ไม่เปลี่ยนรูปและได้รับการออกแบบมาเพื่อให้ไม่มีใครสามารถแก้ไขหรือลบไฟล์ที่ใช้ (ไม่แม้แต่รูท) ฉันใช้มันเป็นตัวอย่างในการเขียน - ป้องกันไฟล์คอนฟิกูเรชันซึ่งมีประโยชน์อย่างยิ่งในการแจกแจงเช่น Zentyal (เป็นวิธีที่เร็วกว่าในการปรับแต่งการกำหนดค่ามากกว่าการแก้ไขหรือสร้างเทมเพลต)
ด้วยการรวมคำสั่งนี้กับ chown, chmod และ setfacl สิ่งที่น่าสนใจสามารถทำได้
FreeBSD มีบางอย่างที่คล้ายกันซึ่งฉันใช้สำหรับ pfSense ของฉันด้วย
ฮ่า ๆ ๆ มันเป็นเฟสที่รู้จักกัน
http://www.xkcd.
com / 684 /
[ดร. โบลิวาร์ทราสก์] $ sudo chattr + i * .human
คำสั่งที่ดีมาก ฉันไม่รู้จักเธอ
จะมีประโยชน์มากหากเราใช้พีซีร่วมกันหรือหากเรามีเอกสารบางอย่างที่เรากำลังดำเนินการซึ่งเราไม่ต้องการลบให้กับโลกใบนี้
ขอขอบคุณและขอแสดงความนับถือ!
ที่น่าสนใจมาก
สามารถทำสิ่งที่คล้ายกันเพื่อให้ ROOT ไม่สามารถเข้าถึงบางโฟลเดอร์ในโฮมเพจของเราได้หรือไม่?
ตามบทความด้วยคำสั่งนี้แม้แต่รูทก็ไม่สามารถเข้าถึงไฟล์ได้ ฉันเดาเช่นเดียวกันกับโฟลเดอร์เนื่องจากในโฟลเดอร์ Linux เป็นไฟล์ด้วยใช่ไหม
ช่างเป็นเรื่องบังเอิญ สุดสัปดาห์นี้ฉันพยายามลบพาร์ติชันรูทและไม่สามารถลบไฟล์จากไดเร็กทอรี / boot เมื่อมองไปฉันพบแอตทริบิวต์ แต่ฉันไม่รู้โดยสุจริตและตอนนี้ฉันเข้าใจแล้วว่าปัญหาของสิทธิ์และแอตทริบิวต์ในไฟล์นั้นใหญ่มาก นี่เป็นหนึ่งในคำสั่งสำคัญที่เราต้องรู้ควบคู่ไปกับ "chmod" และ "chown"
สิ่งนี้มีประโยชน์อย่างยิ่งโดยเฉพาะอย่างยิ่งหากเราต้องการเปลี่ยน DNS เริ่มต้นของ ISP ของเราและนั่นคือเวลาที่เราต้องแก้ไขไฟล์ /etc/resolv.conf และในการดำเนินการนี้เราต้องทำการ chattr -i / etc / resolv.conf แก้ไข IP ที่ปรากฏสำหรับ DNS ที่ว่างและ / หรือฟรีของเรา (เช่น OpenDNS 208.67.222.222 และ 208.67.220.220 หรือของ Google 8.8.8.8 และ 8.8.4.4) และหลังจากมี แก้ไขไฟล์ทำให้ chattr + i /etc/resolv.conf อีกครั้งเพื่อไม่ให้ไฟล์ถูกแก้ไขเมื่อเครื่องเริ่มทำงาน
บทความดีมาก…แล้วยังไงแฟนคุณก็เหมือนเมียผมเหมือนกันนะเนี่ยแหละติดเกม XNUMX
เห็นได้ชัดว่า 'the-fucking-master' คือแฟนของคุณในสถานการณ์นี้ xD