เหตุใดฉันจึงไม่สามารถซีดีไปยังไดเรกทอรีได้


14

ฉันใช้ Ubuntu 10.04.2 LTS ทำไมฉันไม่สามารถcdเข้าไปใน/var/wwwไดเรกทอรีได้?

david@ubuntu:/var$ pwd
/var

david@ubuntu:/var$ ls -l
drwxrwxr-- 13 root root  4096 2011-02-26 21:53 www

david@ubuntu:/var$ cd www
-bash: cd: www: Permission denied

david@ubuntu:/var$ sudo cd www
sudo: cd: command not found

2
cdเป็นเชลล์ในตัวจึงsudoไม่สามารถใช้งานได้
หยุดชั่วคราวจนกว่าจะมีการแจ้งให้ทราบต่อไป

และแม้ว่าจะสามารถใช้งานได้ก็จะไม่มีประโยชน์ โดยทั่วไปจะไม่มีวิธีที่จะทำให้กระบวนการอื่นเปลี่ยนไดเรกทอรีการทำงานของมันดังนั้นสิ่งที่cdปฏิบัติการสามารถทำได้มันไม่สามารถเปลี่ยนกระบวนการเชลล์ 'cwd
David Schwartz

คำตอบ:


13

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

sudo chmod o+x /var/www

3
ความกระจ่างเล็กน้อย: ในตัวอย่างด้านบนทั้ง root (ผู้ใช้) และ root (กลุ่ม) มีการเรียกใช้บิตเซ็ต ดังนั้นสมาชิกของกลุ่มรากสามารถ cd เป็น www ผู้ใช้ david ไม่สามารถ cd ได้เพราะเขาไม่ได้รวมอยู่ในสมาชิกกลุ่มรูท คุณสามารถตรวจสอบได้โดยดูเนื้อหาของ / etc / group
adamo

1

มีเหตุผลบางอย่างที่ห้ามไม่ให้ '' คนอื่น ๆ '' เข้าสู่ไดเรกทอรีใช่ไหม? ดังนั้นฉันขอแนะนำให้เข้าถึงรูทเพื่อเข้าสู่ไดเร็กตอรี่นั้น, ทำบางสิ่ง, และปล่อยมันทิ้ง sudo shell

sudo -i 
cd /var/www
# do your thing
cd -
exit

1

ข้อมูลเพิ่มเติมเพียงเล็กน้อยก็ควรสร้างผู้ใช้เว็บและกลุ่มสำหรับระบบของคุณและไม่มีบริการที่ทำงานเหมือนรูท จากนั้นคุณสามารถเพิ่มผู้ใช้ในกลุ่มนั้นได้หากต้องการและไม่ให้สิทธิ์พิเศษแก่รูท

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