วิธีการลบ ACL ออกจากไดเรกทอรีและกลับสู่การควบคุมการเข้าถึงตามปกติ?


29

เราใช้เซิร์ฟเวอร์โฮสติ้งของ FreeBSD 10.3 ซึ่งเราไม่มีสิทธิ์ในการเป็น superuser เราใช้เซิร์ฟเวอร์เพื่อเรียกใช้ apache2 สำหรับเว็บเพจของ บริษัท ของเรา ผู้ดูแลระบบก่อนหน้าของหน้าเว็บของเราดูเหมือนจะตั้งค่าสิทธิ์ ACL ไปยังไดเรกทอรี แต่เราต้องการลบออก foobarให้เราบอกไดเรกทอรีที่เรียกว่า

ตอนนี้ผลลัพธ์ของการls -al foobarเป็นดังนี้:

drwxrwxr-x+   2 myuser  another_user   512 Nov 20  2013 foobar

และการอนุญาตดังต่อไปนี้:

[myuser@hosting_server]$ getfacl foobar
# file: foobar/
# owner: myuser
# group: another_user
user::rwx
group::rwx
mask::rwx
other::r-x

ที่นี่เราต้องการลบการอนุญาต ACL และเครื่องหมายบวกที่ท้ายสุดของรายการการอนุญาต ดังนั้นเราจึงทำ

setfacl -b foobar

มันตัดอนุญาตเป็นพิเศษภายใต้ ACL +แต่ไม่ได้ลบเครื่องหมายบวก

คำถามของเราคือเราจะลบเครื่องหมายบวก+ในรายการสิทธิ์ที่แสดงโดย 'ls -al foobar' ได้อย่างไร


getfaclบ่งชี้ว่าไม่ใช่ ACL อย่างไรก็ตามมีการแสดงls +คุณแน่ใจหรือว่ากำลังดูไฟล์เดียวกันทุกครั้ง (นี่คือเหตุผลสำหรับฉัน)
ctrl-alt-delor

@ Richard ใช่แน่นอนไฟล์เดียวกัน
Taiki Bessho

คำตอบ:


27

ปัญหาของเราได้รับการแก้ไขโดยใช้:

setfacl -bn foobar

จุดคือเรายังต้องลบ aclMask จากไดเรกทอรีที่มีตัวเลือก -n ... หน้าคนsetfaclพูดว่าดังนี้:

 -n      Do not recalculate the permissions associated with the ACL mask
         entry.  This option is not applicable to NFSv4 ACLs.

เราไม่แน่ใจว่าทำไมตัวเลือกนี้ใช้งานได้ แต่มันไม่ ...


ในกรณีที่คุณได้รับd?????????อนุญาตหลังจากวิธีการแก้ปัญหาข้างต้นให้ลองทำchmod -R a+rXตามสองความเห็นด้านล่าง


นี่ทำให้ไฟล์ของฉัน: d?????????มันแปลก
JREAM

1
อัปเดต: สิ่งนี้ได้แก้ไขchmod -R a+rXเมืองหลวง X
JREAM

@JREAM คุณใช้ระบบ Linux ระบบอะไร
Taiki Bessho

ฉันได้ d เดียวกันนั้น ?????? สิ่งที่มี Ubuntu 16 แก้ไขด้วย chmod ข้างต้น แปลก.
TonyG

3

คี่ ... ไม่สามารถทำซ้ำได้:

ls -l | grep foobar
drwxr-xr-x+ 2 maulinglawns maulinglawns 4096 jan 24 14:25 foobar

setfacl -b foobar/
ls -l | grep foobar
drwxr-xr-x 2 maulinglawns maulinglawns 4096 jan 24 14:25 foobar

น่าเสียดายที่ฉันไม่สามารถเข้าถึง BSD เพื่อทดสอบได้ในตอนนี้


ข้อมูลระบบ:

Distributor ID: Debian
Description:    Debian GNU/Linux 8.7 (jessie)
Release:    8.7
Codename:   jessie

แน่นอนฉันไม่สามารถทำซ้ำบนเซิร์ฟเวอร์ Ubuntu 16.04.1 ...
Taiki Bessho

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