ls: ไม่สามารถเปิดไดเรกทอรี: การอนุญาตถูกปฏิเสธ


13

ฉันไม่สามารถเปิดไดเรกทอรีusernameได้แม้หลังจากได้รับสิทธิ์และให้สิทธิ์ทั้งหมด:

sudo mkdir /path/to/the/directory/
sudo chown -R username:username /path/to/the/directory/
sudo chmod -R 777 /path/to/the/directory/

ฉันเข้าใจ:

$sudo ls -al /path/to/the/directory/
total 0
drwxrwxrwx 1 username username   0 nov 16 15:13 .
drwx------ 1 root     root     208 nov 16 15:13 ..
$ ls -al /path/to/the/directory/
ls: cannot access '/path/to/the/directory/': Permission denied

จะเกิดอะไรขึ้น?


เป็น "ผู้ใช้" เท่านั้นหากคุณมีผู้ใช้ชื่อ "ผู้ใช้" sudo chown -R $USER:$USER /path/to/the/directory/มันคือสิ่งที่ควรจะเป็น ( $USERจะถูกเปลี่ยนเป็นชื่อผู้ใช้ของคุณ) และเมื่อคุณพิจารณาว่าsudo chmod -R 777 /path/to/the/directory/เป็นคำตอบคุณไม่ควรได้รับอนุญาตให้ดูแลเว็บไซต์ ;-)
Rinzwind

@ Rinzwind ไม่ต้องกังวล 777 เป็นเพียงผลลัพธ์ของฉันที่ได้รับการแก้ไขข้อบกพร่องบ้า! :-)
Victor

คำตอบ:


15

คุณไม่มีสิทธิ์ในไดเรกทอรีหลัก

drwx------ 1 root     root   208 nov 16 15:13 ..

คุณต้องมีสิทธิ์ x ในไดเรกทอรีหลักเพื่อส่งผ่านไดเรกทอรีนี้

drwx--x--x 1 root     root   208 nov 16 15:13 ..

ทำเช่นนั้น:

sudo chmod go+x /path/to/the

โดยปกติผู้ใช้ทั้งหมดสามารถอ่านไดเรกทอรีทั้งหมดได้ (ยกเว้น / รูท) ดังนั้นคุณไม่ควรมีปัญหานี้ อย่างไรก็ตามdrwx------ 1 root root 208 nov 16 15:13 ..บอกคุณว่าผู้ใช้ของคุณไม่สามารถอ่านไดเรกทอรีหลักได้ คุณต้องเพิ่มการอนุญาตให้กับผู้ใช้เพื่ออ่านโฟลเดอร์
Aegefel

ใช่ผู้ปกครองทุกคน
f35

0

ฉันมีปัญหาเดียวกัน แต่การออกจากระบบและกลับมาพร้อมกับผู้ใช้เป็นขั้นตอนที่จำเป็น

ฉันสร้างกลุ่มและเพิ่มผู้ใช้ในกลุ่มในเซสชันเดียวกัน

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