macOS ใช้แฟล็กเพื่อจำกัดวิธีการเปลี่ยนไฟล์ มีการตั้งค่าแตกต่างจากการอนุญาตและทำงานในโครงสร้างแบบขนานควบคู่ไปกับคำสั่งเช่น chown
และ chmod
. คุณจะใช้ chflags
เพื่อเปลี่ยนธงเช่นเดียวกับ ลส
เพื่อดูธง Unix ใช้งานระบบที่คล้ายกัน แต่มีตัวเลือกมากมายที่เรียกว่า "แอตทริบิวต์" แทนที่จะเป็นแฟล็ก
กำลังดูการตั้งค่าสถานะบน macOS
ใน Terminal คุณสามารถใช้ an ลส
ธงเพื่อดูธงที่ยังหลงเหลืออยู่
ลส-lO ~/Librarydrwx@88 อเล็กซานเดอร์พนักงานซ่อนอยู่ 2992 ม.ค 2514:01 ห้องสมุด
หากไม่มีการตั้งค่าสถานะสำหรับไฟล์หรือโฟลเดอร์ ระบบจะแสดงเส้นประแทน
ลส-lO ~/ห้องสมุด/แคช drwx+ 234 พนักงานอเล็กซานเดอร์ - 7956 ม.ค 2513:03 แคช
ตั้งค่าสถานะสามารถลบออกได้โดยใช้ผกผันตามที่อธิบายไว้ด้านล่าง
การตั้งค่าและการล้างค่าสถานะบน macOS
![ใช้-chflags-macos-chattr-lsattr-hero-set-flag ใช้-chflags-macos-chattr-lsattr-hero-set-flag](/f/922977dca9e5ff5918239a1de968cbe7.jpg)
แฟล็กมักเกิดปัญหาขึ้น เนื่องจากพวกเขาตั้งค่าการอนุญาตพิเศษ พวกเขาสามารถพลาดได้ง่าย คุณพบว่าตัวเองมีไฟล์ที่ไม่สามารถลบได้ ไม่ว่าการอนุญาตของผู้ใช้ของคุณจะสูงแค่ไหน? คุณอาจต้องล้างหนึ่งหรือสองแฟล็ก
แฟล็กที่สามารถตั้งค่าภายใต้ macOS มีดังต่อไปนี้ นี่คือรายการตัวเลือกทั้งหมดที่มี รวมถึงคำอธิบายเกี่ยวกับฟังก์ชันการทำงาน แฟล็กส่วนใหญ่สามารถตั้งค่าได้โดยเจ้าของไฟล์หรือ superuser เท่านั้น
sappnd
และ schg
เฉพาะ superuser เท่านั้นที่สามารถตั้งค่าได้ เนื่องจากเป็นแฟล็กระดับระบบ ตั้งค่าสถานะที่ซ่อนอยู่เท่านั้นโดยไม่ต้องยกระดับสิทธิ์
การตั้งค่าสถานะบน macOS
เมื่อตั้งค่าสถานะบน macOS ให้ใช้คำสั่งด้านล่าง ธงแบบเรียกซ้ำ -NS
พร้อมใช้งานสำหรับการดำเนินการระดับไดเร็กทอรี:
sudo chflags -NS[ธง]/usr/bin/ท้องถิ่นsudo chflags [ธง]/usr/bin/ท้องถิ่น/mnt.sh. chflags -NS ซ่อนไว้ ~/เดสก์ทอป
จะตั้งค่าสถานะที่เหมาะสม ตัวอย่างเช่น ต่อไปนี้ตั้งค่าสถานะ nodump:
sudo chflags พยักหน้า /usr/bin/ท้องถิ่น/tty.sh
สามารถตั้งค่าหรือลบแฟล็กได้เพียงหนึ่งแฟล็กต่อคำสั่ง chflags
- ทึบแสง ตั้งค่าโฟลเดอร์ให้ทึบเมื่อดูผ่าน a ยูเนี่ยนเมานต์ซึ่งเป็นวิธีการดูหลายไดเร็กทอรีแบบเก่าพร้อมๆ กัน
-
nodump ป้องกันไม่ให้ไฟล์หรือโฟลเดอร์ถูกทิ้งระหว่างการใช้งาน
ทิ้ง
คำสั่งสำรองระบบของคุณ - สปปปปปปปปปปปปปปปปปปปปปปปปปป ตั้งค่าแฟล็กต่อท้ายระบบเท่านั้น ซึ่งช่วยให้สามารถเพิ่มไฟล์ได้ แต่ไม่แก้ไขหรือลบ การลบแฟล็กนี้ต้องเข้าสู่โหมดผู้ใช้คนเดียว
- schg, เปลี่ยน, เปลี่ยนแปลงได้ ตั้งค่าสถานะที่ไม่เปลี่ยนรูปของระบบ ซึ่งจะล็อกการเปลี่ยนแปลงไฟล์ทั้งหมดโดยผู้ใช้ทุกระดับสิทธิ์ใดๆ การนำแฟล็กนี้ออกต้องมีการป้อนโหมดผู้ใช้คนเดียว
-
uappnd, uappend ตั้งค่าแฟล็กต่อท้ายผู้ใช้เท่านั้น เจ้าของไฟล์สามารถตั้งค่านี้ได้ และเจ้าของสามารถยกเลิกการตั้งค่าได้โดยไม่ต้องยกระดับสิทธิ์ เนื่องจากมันล็อคไฟล์ด้วย
sappnd
หรือschg
ที่ความปลอดภัยต่ำกว่า มีการใช้บ่อยกว่ามาก -
uchg, uchange, ไม่เปลี่ยนรูป ตั้งค่าแฟล็กที่ไม่เปลี่ยนรูปของผู้ใช้ซึ่งมีความสัมพันธ์เดียวกันกับแฟล็กที่ไม่เปลี่ยนรูปของระบบเป็น
uappnd
ธงต้องsappnd
. - ที่ซ่อนอยู่ ตั้งค่าสถานะที่ซ่อนอยู่ สิ่งนี้ซ่อนรายการภายในคำสั่ง Finder GUI และ ls
การล้างค่าสถานะบน macOS
หากต้องการล้างแฟล็กที่กำหนด ให้ตั้งค่าตรงข้าม ในกรณีส่วนใหญ่ นี่หมายถึงการเติมคำว่า "ไม่" ไว้ข้างหน้าคำสั่งของคุณ ในกรณีของ nodump ให้ใช้แฟล็กดัมพ์เพื่อเคลียร์ดังนี้:
sudo chflags การถ่ายโอนข้อมูล /usr/bin/ท้องถิ่น/oty.sh
เงื่อนไขมาตรฐานเพิ่มเติมสามารถย้อนกลับได้ด้วยคำนำหน้า "ไม่" เช่น:
sudo chflags nosappnd /usr/bin/ท้องถิ่น/oty.sh
เช่นเดียวกับ chmod มีการตั้งค่าสถานะแบบเรียกซ้ำ:
chflags -NS ไม่ซ่อน ~/เดสก์ทอป
เมื่อล้างค่าสถานะแล้ว คุณจะเปลี่ยนความเป็นเจ้าของและการอนุญาตของไฟล์ได้ตามที่คาดไว้
การใช้คุณสมบัติบน Unix
![ใช้-chflags-macos-chattr-lsattr-attributes ใช้-chflags-macos-chattr-lsattr-attributes](/f/46e82b80bf2ca58e30dc631ab1da4a59.jpg)
Unix ใช้งานระบบที่คล้ายกันในแบ็กเอนด์ แต่ได้รับการจัดการด้วยคำสั่งต่างๆ บนแพลตฟอร์ม Linux ยอดนิยม คุณจะสามารถเข้าถึง chattr
และ lsattr
. แฟล็กเหล่านี้ใช้สำหรับเปลี่ยนและดู "แอตทริบิวต์" ซึ่งเป็นสิ่งที่แฟล็กใช้ในการติดตั้ง Unix อื่นๆ ส่วนใหญ่
คุณสมบัติสามารถดูได้ด้วย lsattr
:
lsattr/เส้นทาง/ถึง/file.txt
การเปลี่ยนแอตทริบิวต์ขึ้นอยู่กับรหัสของการเริ่มต้นและมีการระบุไว้ใน หน้าคนแชท:
“ตัวอักษร 'acdeijstuADST' เลือกแอตทริบิวต์ใหม่สำหรับไฟล์: ผนวกเท่านั้น (a), บีบอัด (c), ไม่มีการถ่ายโอนข้อมูล (d), รูปแบบขอบเขต (e), ไม่เปลี่ยนรูป (i), การทำเจอร์นัลข้อมูล (j), การลบที่ปลอดภัย (s), ไม่มีการรวมส่วนท้าย (t), ลบไม่ได้ (u), ไม่มีการอัปเดต atime (A), การอัปเดตไดเรกทอรีซิงโครนัส (D), การอัปเดตแบบซิงโครนัส (S) และลำดับชั้นด้านบนของไดเร็กทอรี (NS)."
คำสั่งมีลักษณะดังนี้:
chattr +s /ไฟล์/name.txt
ที่ตั้งค่าแอตทริบิวต์การลบที่ปลอดภัยสำหรับเส้นทางที่ระบุ
ห่อ
แฟล็กมีประโยชน์มากที่สุดเมื่อจำกัดว่าใครสามารถเปลี่ยนแปลงไฟล์ได้ ด้วยการล็อกไฟล์ คุณสามารถป้องกันการงัดแงะหรือการแก้ไขโดยไม่ได้ตั้งใจที่ระดับระบบไฟล์ หากไม่มีการส่งต่อไปยังรูทหรือเจ้าของไฟล์ สิทธิ์เหล่านี้จะไม่สามารถเปลี่ยนแปลงได้ จึงมีความปลอดภัยปานกลาง
การเปิดเผยข้อมูลพันธมิตร: ทำให้เทคโนโลยีง่ายขึ้นอาจได้รับค่าคอมมิชชั่นสำหรับผลิตภัณฑ์ที่ซื้อผ่านลิงก์ของเรา ซึ่งสนับสนุนงานที่เราทำเพื่อผู้อ่านของเรา