สิทธิ์การเข้าถึงไฟล์: chmod และ chown
ไฟล์และไดเรกทอรีทุกรายการบน Linux จะมีเจ้าของ กลุ่ม และชุดสิทธิ์สามชุด ได้แก่ สำหรับเจ้าของ สำหรับกลุ่ม และสำหรับผู้อื่น chmod ใช้สำหรับเปลี่ยนสิทธิ์ (โหมด) และ chown ใช้สำหรับเปลี่ยนเจ้าของและกลุ่ม โดยคำสั่ง ls -l จะแสดงข้อมูลทั้งสองอย่าง
1การอ่านสิทธิ์
ในผลลัพธ์ของ ls -l ค่า -rw-r--r-- หมายถึงไฟล์ทั่วไปที่เจ้าของสามารถอ่านและเขียนได้ ส่วนผู้อื่นทำได้เพียงอ่านเท่านั้น r คืออ่าน w คือเขียน และ x คือเรียกใช้งาน สำหรับไดเรกทอรี x จะอนุญาตให้เข้าถึงไดเรกทอรีนั้นได้
2โหมดตัวเลข
แต่ละชุดสิทธิ์จะเป็นตัวเลขหนึ่งหลัก โดยอ่านคือ 4 เขียนคือ 2 และเรียกใช้งานคือ 1 นำมารวมกัน ค่า 644 (rw-r--r--) เป็นค่าทั่วไปสำหรับไฟล์ ส่วน 755 (rwxr-xr-x) สำหรับไดเรกทอรีและโปรแกรม และ 600 (rw-------) สำหรับไฟล์ส่วนตัว เช่น SSH keys
3การเปลี่ยนเจ้าของ
sudo chown user:group file ใช้สำหรับกำหนดเจ้าของและกลุ่ม หากใช้ร่วมกับ -R ทั้ง chmod และ chown จะทำงานแบบเรียกซ้ำผ่านโครงสร้างไดเรกทอรี
วิธีการแก้ไขสิทธิ์ของโฟลเดอร์เว็บ
- ตรวจสอบสถานะปัจจุบัน:
ls -l /var/www/site - กำหนดเจ้าของ:
sudo chown -R www-data:www-data /var/www/site - กำหนดสิทธิ์ไดเรกทอรีเป็น 755:
sudo find /var/www/site -type d -exec chmod 755 {} + - กำหนดสิทธิ์ไฟล์เป็น 644:
sudo find /var/www/site -type f -exec chmod 644 {} +
ข้อควรระวัง
- ห้ามใช้
chmod -R 777โดยเด็ดขาด เพราะจะทำให้ผู้ใช้และกระบวนการทุกอย่างสามารถแก้ไขไฟล์ได้ - การใช้ chmod หรือ chown แบบเรียกซ้ำในพาธที่ไม่ถูกต้อง เช่น / หรือ
/usrอาจทำให้ระบบเสียหายได้
บทความที่เกี่ยวข้อง
- คีย์ SSHวิธีการทำงานของการยืนยันตัวตนด้วยคีย์ SSH, วิธีสร้างคีย์ด้วย ssh-keygen, การติดตั้งบนเซิร์ฟเวอร์ และการป้องกันคีย์
- การค้นหาไฟล์ขนาดใหญ่และไฟล์เก่าด้วย findวิธีใช้คำสั่ง find เพื่อแสดงรายการไฟล์ขนาดใหญ่หรือไฟล์เก่าบน Linux ดูตัวอย่างไฟล์อย่างปลอดภัย และลบเฉพาะไฟล์ที่คุณตรวจสอบแล้วเท่านั้น
- /tmp และไฟล์ชั่วคราวหน้าที่ของ /tmp และ /var/tmp, ช่วงเวลาที่ Linux ทำการล้างไฟล์เหล่านี้, และวิธีการที่ systemd-tmpfiles ควบคุมการจำกัดอายุของไฟล์
แหล่งอ้างอิง
- หน้าคู่มือ chmod(1) man7.org
- หน้าคู่มือ chown(1) man7.org
ตรวจสอบล่าสุด: