ฉันสร้างไดเรกทอรีในรูทแล้ว ฉันกำลังมองหาchmod
คำสั่งเพื่ออนุญาตให้ผู้ใช้ทุกคนอ่านและเขียนสิทธิ์ไปยังไดเรกทอรีเฉพาะ ฉันทำchmod 775
ไฟล์ไปแล้ว แต่ฉันต้องการสิ่งนี้สำหรับไดเรกทอรี ซึ่งรวมถึงการอนุญาตในทุกไฟล์และไดเรกทอรีย่อย
ฉันสร้างไดเรกทอรีในรูทแล้ว ฉันกำลังมองหาchmod
คำสั่งเพื่ออนุญาตให้ผู้ใช้ทุกคนอ่านและเขียนสิทธิ์ไปยังไดเรกทอรีเฉพาะ ฉันทำchmod 775
ไฟล์ไปแล้ว แต่ฉันต้องการสิ่งนี้สำหรับไดเรกทอรี ซึ่งรวมถึงการอนุญาตในทุกไฟล์และไดเรกทอรีย่อย
คำตอบ:
0775
ไม่ค่อยถูกต้องสำหรับไฟล์ ต่อไปนี้จะเพิ่มสิทธิ์ที่ต้องการตามประเภทที่เหมาะสมโดยไม่รบกวนสิทธิ์อื่น ๆ ที่มีอยู่:
find somedir \( -type d -exec chmod u+rwx,g+rwx,o+rx {} \; -o -type f -exec chmod u+rw,g+rw,o+r {} \; \)
ดูหน้าคนค้นหาเพื่อช่วยในการถอดรหัส
เพื่อให้ผู้ใช้ทุกคนมีสิทธิ์เข้าถึงแบบอ่านและเขียน0777
ซึ่งจะเป็นอันตรายเล็กน้อยโดยเฉพาะถ้าคุณใช้งานเว็บเซิร์ฟเวอร์ Like @unwind พูดว่า:
chmod -R 0777 /mydirectory
จะอนุญาตให้ผู้ใช้ทุกคนอ่านและเขียนการเข้าถึงไฟล์และโฟลเดอร์ทั้งหมดในไดเรกทอรีนั้น
ขึ้นอยู่กับวัตถุประสงค์ของคุณคุณอาจต้องการอ่านเกี่ยวกับ sticky bits ซึ่งอนุญาตให้ผู้ใช้ทุกคนสร้างไฟล์ใหม่ แต่ไม่ต้องลบหรือแก้ไขไฟล์อื่นในไดเรกทอรี:
chmod +t /mydirectory
นอกจากนี้ในกรณีที่คุณไม่ทราบว่าman chmod
จะเปิดหน้าคู่มือสำหรับchmod
คำสั่งซึ่งคุณสามารถค้นหาข้อความ "ซ้ำ" โดยการพิมพ์/recursive
นั่นไม่ใช่วิธีการทำงานของระบบป้องกัน Unix คุณไม่สามารถตั้งค่าการอนุญาตซ้ำได้ คุณต้องตั้งค่าไว้ในแต่ละไดเรกทอรีตลอดจน "down"
แน่นอนคุณสามารถตั้งค่าแบบเรียกซ้ำได้ แต่นั่นหมายถึง "ผ่านและตั้งค่าการอนุญาตเหล่านี้ในทุกไฟล์และโฟลเดอร์ด้านล่าง" ซึ่งไม่ใช่วิธีที่ฉันเข้าใจคำถามของคุณ
ในการทำเช่นนั้นใช้ตัวเลือก -Rเพื่อ chmod:
$ chmod -R 0755 /my-cool-directory