ฉันจะเปลี่ยนการอนุญาตในไดเรกทอรีได้อย่างไร


9

ฉันใช้ CentOS และฉันต้องการทราบวิธีการเปลี่ยนการอนุญาตในโฟลเดอร์ที่มีหลายไฟล์ในนั้น

ฉันใช้คำสั่งต่อไปนี้ในโฟลเดอร์เป็นรูท (สมมุติว่า folder = A):

chmod 777 (home / directory / A)

chmod g + r (A)

หากฉันดูโฟลเดอร์ในฐานะผู้ใช้ปกติโดยใช้ตัวจัดการไฟล์ไอคอนล็อคจะมองไม่เห็นซึ่งแสดงว่าได้รับอนุญาต อย่างไรก็ตามไฟล์ทั้งหมดที่อยู่ในโฟลเดอร์ A ยังคงแสดงไอคอนล็อคระบุว่าโฟลเดอร์ A เพิ่งได้รับอนุญาตและไม่มีไดเรกทอรีย่อยอยู่ในนั้น

มันจะพิสูจน์ว่าเป็นงานที่ค่อนข้างลำบากในการรันคำสั่งที่กล่าวถึงข้างต้นในทุกไดเรกทอรีย่อยเนื่องจากมีจำนวนมากเกินไป

ขอบคุณ!

คำตอบ:


15

ในการตั้งค่าการอนุญาตในโฟลเดอร์และโฟลเดอร์ย่อย / ไฟล์ทั้งหมดคุณต้องใช้ตัวเลือกการเรียกซ้ำในคำสั่งของคุณ:

chmod 777 -R /path/to/directory

สำหรับข้อมูลเพิ่มเติมโดยใช้ chmod โปรดดูที่นี่

UPDATE:

คำเตือน: การใช้ chmod 777 จะทำให้ทุกคนในโฟลเดอร์ของคุณสามารถใช้งานได้ โปรดดูด้านล่างเพื่อดูการตั้งค่า

การอนุญาตของคุณถูกตั้งค่าโดยใช้ตัวเลขสามตัว

ค่า 100 เป็นค่าสำหรับเจ้าของไฟล์
400 อ่าน
200 เขียน
100 เรียกใช้

10 คือสำหรับกลุ่มของไฟล์
40 อ่าน
20 เขียน
10 ดำเนินการ

1 มีไว้สำหรับทุกคน
4 อ่าน
2 เขียน
1 ดำเนินการ

ในตัวอย่างของคุณคุณให้สิทธิ์แก่เจ้าของกลุ่มและทุกคนในไฟล์ของคุณ ตัวอย่างเช่นถ้าคุณต้องการให้สิทธิ์การเป็นเจ้าของและกลุ่ม แต่ทุกคนเท่านั้นที่อ่านและดำเนินการอนุญาตที่คุณจะใช้ 775

หากคุณต้องการใช้ตัวอักษรแทนตัวเลขโปรดดูที่นี่


ขอบคุณ! แมทธิวสำหรับการแก้ปัญหาและการให้การเชื่อมโยงข้อมูลที่เพิ่งบุ๊คมาร์ค :-)
ลินุกซ์ newb

หากคุณพบว่ามีประโยชน์โปรดทำเครื่องหมายเป็นคำตอบ
Gaurav Joseph

จะไม่ทำให้ไฟล์ทั้งหมดในโฟลเดอร์เรียกใช้งานได้หรือ
stib

ใช่มันจะ แต่จากคำถามของเขาฉันรวบรวมว่านั่นคือสิ่งที่เขาต้องการ ลิงก์ที่ฉันให้จะช่วยเขาในการอนุญาต เมื่อคุณพูดถึงมันฉันจะอัปเดตคำตอบของฉันเพื่อให้ดูที่
Matthew Williams

1

คุณสามารถใช้ chmod เพื่อเปลี่ยนบิตสิทธิ์ ตัวเลือก -R สำหรับ recursively - ใช้สำหรับไดเรกทอรี บิตถูกอธิบายเป็น rwx เช่นอ่านเขียนและเรียกใช้งานได้ ถ้า r = 1, w = 1 และ x = 1 เลขฐานสอง 111 หมายถึง 7 ในทศนิยม ดังนั้นคุณจะเห็น 7. ตอนนี้เขตข้อมูลจะถูกตัดสินใจเป็น u = ผู้ใช้กลุ่มและอื่น ๆ ดังนั้นหากคุณต้องการให้สิทธิ์กับทุกคนคุณจะทำ chmod -R 777 dir_name นอกจากนี้คุณสามารถพูด chmod -R a + rwx dir หรือหากคุณต้องการลบการอนุญาตบางอย่างคุณสามารถพูดได้ว่า chmod -R ax dir - นี่คือการลบสิทธิ์การใช้งาน

นอกจากนี้คุณสามารถทำคนบน chmod เพื่อทราบรายละเอียดเพิ่มเติม

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