เหตุใดจึงต้องเรียกใช้โฟลเดอร์


29

การอนุญาตสำหรับไฟล์:

chmod 664 myFile // rw-rw-r--

และสำหรับโฟลเดอร์:

chmod 774 myFolder // rwxrwxr--

หากฉันใช้สิทธิ์ "อ่านและเขียน" เท่านั้นโฟลเดอร์จะไม่แสดงเนื้อหาของพวกเขา

เหตุผลนี้คืออะไร

คำตอบ:


14

เนื่องจากคุณไม่สามารถ 'เรียกใช้งาน' ไดเรกทอรีไดเรคทอรีบิตจึงถูกใช้เพื่อประโยชน์ที่ดีกว่า บิตเรียกใช้บนไดเรกทอรีช่วยให้คุณสามารถเข้าถึงรายการที่อยู่ภายในไดเรกทอรีแม้ว่าคุณจะไม่สามารถแสดงรายการเนื้อหาของไดเรกทอรี

$ mkdir -p dir/
$ echo 'Hello World!' > dir/file
$ chmod 000 dir/
$ ls -al dir/
ls: cannot open directory dir: Permission denied
$ cat dir/file
cat: dir/file: Permission denied
$ chmod +x dir/
$ ls -al dir/
ls: cannot open directory dir: Permission denied
$ cat dir/file
Hello World!

จากchmodmanpage:

ตัวอักษร rwxXst เลือกบิตโหมดไฟล์สำหรับผู้ใช้ที่ได้รับผลกระทบ: อ่าน (r), เขียน (w), เรียกใช้ (หรือค้นหาไดเรกทอรี) (x) , เรียกใช้ / ค้นหาเฉพาะในกรณีที่ไฟล์เป็นไดเรกทอรีหรือมีสิทธิ์ดำเนินการบางอย่างแล้ว ผู้ใช้ (X), ตั้งค่า ID ผู้ใช้หรือกลุ่มในการดำเนินการ, การตั้งค่าสถานะการลบที่ จำกัด หรือบิตเหนียว (t)


42

ไดเรกทอรี (โดยทั่วไปมักจะไม่เรียกว่าโฟลเดอร์ใน * nix) มีความหมายแตกต่างกันไปสำหรับบิตการอนุญาตมากกว่าไฟล์ปกติ

สำหรับไดเรกทอรีเขียนอนุญาตให้สร้างไฟล์ใหม่ภายใน

อนุญาตให้คุณอ่านรายการไฟล์ที่อยู่ภายใน

ดำเนินการช่วยให้คุณสามารถป้อนและเข้าถึงไฟล์ (หรือไดเรกทอรีอื่น ๆ ) ภายใน


2
วิธีที่ง่ายต่อการจดจำคือการจินตนาการการดำเนินการเป็นดับเบิลคลิกที่บางสิ่งบางอย่าง เมื่อคุณคลิกสองครั้งที่ไดเรกทอรี (หรือcd) คุณป้อน (ดำเนินการ) มัน
John T

โปรดทราบว่าการเข้าถึงเพื่อเขียนในไดเรกทอรีจะไม่อนุญาตให้คุณสร้างไฟล์ใหม่ คุณต้องมีผู้ดำเนินการ permisson ในไดเรกทอรีเพื่อทำเช่นนั้น
Matthias Braun

"เข้าถึงไฟล์ (หรือไดเรกทอรีอื่น ๆ )" หมายความว่าฉันสามารถดูไฟล์เช่นแสดงรายการ แต่ไม่สามารถดูได้หรือดูไฟล์เช่นแสดงรายการและอ่านได้เช่นกัน
vadasambar

2

ดำเนินการการอนุญาตในไดเรกทอรีช่วยให้คุณสามารถข้ามมันสำหรับการใช้ทรัพยากรที่มีอยู่ภายใน


1

บิต "execute" จริง ๆ แล้วหมายถึง "ค้นหา" เมื่อนำไปใช้กับไดเรกทอรี (จากman chmod) สิ่งนี้ดูสมเหตุสมผลเนื่องจากการดำเนินการไม่มีความหมายสำหรับไดเรกทอรี


0

xบิตบนโฟลเดอร์หมายถึงการจัดทำดัชนีการค้นหา / directory / รายการ; ไม่มีสิ่งใดที่เป็นไปได้ถ้าคุณลดระดับลง

นี่คือตัวอย่างของการใช้งานของมัน: ถ้าคุณต้องการที่จะมีผู้ใช้ที่มี จำกัด สิทธิ์อ่านในทุกไดเรกทอรี แต่บ้านของเขาพูด/home/dummyแล้วคุณจะต้องทำ/และ/homeมีxการตั้งค่าบิตมิฉะนั้นเขาไม่สามารถแม้แต่จะได้รับไปยังไดเรกทอรีที่บ้านของเขา

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