ปัญหาที่นี่น่าจะเกี่ยวข้องกับ Access Control List (ACL) ของโฟลเดอร์ Music สินเอเซียเป็นระบบที่ได้รับอนุญาตที่แยกต่างหากเพื่อคน POSIX ls -l
ปกติที่มีการระบุไว้ตามปกติโดย บางไดเร็กทอรีอื่น ๆ ในโฟลเดอร์ Home และที่อื่น ๆ ก็มี ACL เช่นกัน
หากต้องการดู ACLs ภายในโฮมไดเร็กทอรีให้ใช้:
/bin/ls -le ~
คุณอาจจะเห็นกฎเช่นนี้0: group:everyone deny delete
สำหรับไดเรกทอรีเพลง sudo
ในขณะที่คุณตั้งข้อสังเกตคุณสามารถแทนที่ปัญหากับ หากคุณไม่ต้องการทำเช่นนั้น (หรือไม่สามารถทำได้) คุณมีตัวเลือกอื่น ๆ เนื่องจากคุณเป็นเจ้าของไฟล์ คุณสามารถตัดรายการที่ละเมิดออกจาก ACL ของไดเรกทอรีเพลงตามดัชนี (0 ในตัวอย่างที่ฉันให้ไว้ข้างต้น):
/bin/chmod -a# 0 Music
หรือคุณสามารถตัดรายการทั้งหมดใน ACL:
/bin/chmod -N Music
ตอนนี้คุณสามารถย้ายไดเรกทอรีไปรอบ ๆ (ขึ้นอยู่กับสิทธิ์ POSIX ปกติ) หากคุณต้องการนำ ACL กลับมาหลังจากการย้ายคุณสามารถใช้:
/bin/chmod +a "group:everyone deny delete" Music_tmp
และใช้/bin/ls -le
อีกครั้งเพื่อยืนยัน ACL ตามที่คุณต้องการ ลองใช้ตัวอย่าง ACL man chmod
เพื่อดูข้อมูลเพิ่มเติม โดยเฉพาะคำนำนี้มีประโยชน์:
แต่ละไฟล์มีหนึ่ง ACL ที่มีรายการเรียงลำดับ แต่ละรายการอ้างอิงถึงผู้ใช้หรือกลุ่มและมอบหรือปฏิเสธชุดของสิทธิ์ ในกรณีที่มีผู้ใช้และกลุ่มที่มีชื่อเดียวกันชื่อผู้ใช้ / กลุ่มสามารถนำหน้าด้วย "user:" หรือ "group:" เพื่อระบุประเภทของชื่อ
สั่งซื้อ ACL
ฉันไม่คิดว่าหน้าคนอธิบายกฎเกี่ยวกับการสั่งซื้อ แต่หน้านี้อธิบายกฎการสั่งซื้อสำหรับ ACL อย่างชัดเจน โดยเฉพาะdeny
กฎที่ชัดเจนจะถูกนำไปใช้ก่อนallow
กฎที่ชัดเจน ดังนั้นตราบใดที่group:everyone deny delete
มีการใช้งานอยู่คุณจะไม่สามารถให้สิทธิ์ผู้ใช้ของคุณในการลบallow
กฎได้ นี่เป็นเพราะสิทธิ์ถูกปฏิเสธไปยังeveryone
กลุ่มซึ่งรวมถึงคุณและกฎนั้นจะถูกนำไปใช้ก่อน