เมื่อcd
เข้าสู่ไดเร็กทอรีของฉันที่เรียกว่าopenfire
ข้อผิดพลาดต่อไปนี้จะถูกส่งกลับ:
bash: cd: openfire: Permission denied
มีวิธีแก้ปัญหานี้หรือไม่?
เมื่อcd
เข้าสู่ไดเร็กทอรีของฉันที่เรียกว่าopenfire
ข้อผิดพลาดต่อไปนี้จะถูกส่งกลับ:
bash: cd: openfire: Permission denied
มีวิธีแก้ปัญหานี้หรือไม่?
คำตอบ:
คำตอบของ @ user812954 มีประโยชน์มากยกเว้นฉันต้องทำสิ่งนี้ในสองขั้นตอน:
sudo su
cd directory
จากนั้นเพื่อออกจาก "ผู้ใช้ super โหมด" exit
ประเภทเพียง
เข้าสู่โหมดผู้ใช้ขั้นสูงและ cd ลงในไดเร็กทอรีที่คุณไม่ได้รับอนุญาตให้เข้าไป Sudo ต้องการรหัสผ่านของผู้ดูแลระบบ
sudo su
cd directory
หากเป็นไดเร็กทอรีที่คุณเป็นเจ้าของให้อนุญาตด้วยตัวคุณเองในการเข้าถึง:
chmod u+rx,go-w openfire
ที่ให้สิทธิ์คุณในการใช้ไดเร็กทอรีและไฟล์ในนั้น ( x
) และเพื่อแสดงรายการไฟล์ที่อยู่ในนั้น ( r
); นอกจากนี้ยังปฏิเสธสิทธิ์ในการเขียนกลุ่มและอื่น ๆ ในไดเร็กทอรีซึ่งโดยปกติจะถูกต้อง (แม้ว่าบางครั้งคุณอาจต้องการอนุญาตให้กลุ่มสร้างไฟล์ในไดเร็กทอรีของคุณ - แต่ให้พิจารณาใช้ Sticky bit บนไดเร็กทอรีถ้าคุณทำ)
หากเป็นไดเรกทอรีของคนอื่นคุณอาจต้องการความช่วยเหลือจากเจ้าของในการเปลี่ยนสิทธิ์เพื่อให้คุณสามารถเข้าถึงได้ (หรือคุณต้องการความช่วยเหลือroot
ในการเปลี่ยนสิทธิ์ให้คุณ)
chmod +x openfire
ทำงานให้ฉัน เพิ่มสิทธิ์การดำเนินการไปยังโฟลเดอร์ openfire
คุณมีหลายทางเลือก:
x
สิทธิ์ในการใช้งานบนไดเร็กทอรีนั้นx
สิทธิ์แบบ ecute
chmod(1)
เพื่อเปลี่ยนสิทธิ์หรือsetfacl(1)
คำสั่งเพื่อเพิ่มรายการควบคุมการเข้าถึงสำหรับบัญชีผู้ใช้ของคุณ (สิ่งนี้ต้องการการติดตั้งระบบไฟล์ด้วยacl
ตัวเลือกดูmount(8)
และfstab(5)
สำหรับรายละเอียดเกี่ยวกับพารามิเตอร์การเมาท์)เป็นไปไม่ได้ที่จะแนะนำแนวทางที่ถูกต้องโดยไม่ทราบข้อมูลเพิ่มเติมเกี่ยวกับปัญหา เหตุใดการอนุญาตไดเรกทอรีจึงตั้งค่าอย่างที่เป็นอยู่ ทำไมคุณต้องเข้าถึงไดเร็กทอรีนั้น
หรือคุณสามารถทำได้:
sudo -s
cd directory
เว้นแต่คุณจะมีสิทธิ์ sudo ในการเปลี่ยนแปลงหรือในกลุ่มผู้ใช้ / บัญชีของคุณเองคุณจะไม่สามารถเข้าใช้งานได้
ตรวจสอบman chmod
ในเทอร์มินัลสำหรับข้อมูลเพิ่มเติมเกี่ยวกับการเปลี่ยนสิทธิ์ของไดเร็กทอรี