CHMOD หรือ ค่า Permission คือ ค่าของความมีสิทธิ์ในการเข้าถึงและใช้งาน File หรือ Directory นั้น ๆ
ซึ่งจะมีค่าต่าง ๆ แบ่งเป็นตัวเลข 3 หลัก เช่น 644, 755, 777 ซึ่งมีความหมายดังนี้
Execute คือ การสั่งให้ทำงาน Write คือ การเขียน File หรือ Directory Read คือ การอ่าน File หรือ Directory
เลขในหลักแรก เจ้าของ Files / Directory (Owner)
ตัวเลขในหลักแรก แสดงถึงสิทธิ์ในการเข้าถึงไฟล์ของผู้เป็นเจ้าของ Files หรือ Directory นั้น ๆ กรณีที่ตัวเลขหลักแรกเป็นเลข
4 หมายถึง เจ้าของ (Owner) ไฟล์นั้น มีสิทธิ์ในการสั่งให้ไฟล์นั้นทำงาน เพียงอย่างเดียวแต่ไม่มีสิทธิ์ เขียน หรือ อ่าน ไฟล์นั้น
6 หมายถึง เจ้าของ (Owner) ไฟล์นั้น มีสิทธิ์ในการสั่งให้ไฟล์นั้นทำงาน และมีสิทธิ์ในการเขียนไฟล์นั้นเพียงอย่างเดียว แต่ไม่มีสิทธิ์อ่านไฟล์นั้น (4+2)
7 หมายถึง เจ้าของ (Owner) ไฟล์นั้น มีสิทธิ์ในการสั่งให้ไฟล์นั้นทำงาน และมีสิทธิ์ เขียน หรือ อ่าน ไฟล์นั้น (4+2+1)
(ดูค่าตามตาราง ประกอบ)
เลขในหลักที่สอง ผู้ใช้กลุ่มเดียวกับเจ้าของ Files / Directory (Group)
ตัวเลขในหลักแรก แสดงถึงสิทธิ์ในการเข้าถึงไฟล์ของผู้เป็นเจ้าของ Files หรือ Directory นั้น ๆ กรณีที่ตัวเลขหลักที่สองเป็นเลข
4 หมายถึง ผู้ใช้ในกลุ่มเดียวกับเจ้าของ (Group) ไฟล์นั้น มีสิทธิ์ในการสั่งให้ไฟล์นั้นทำงาน เพียงอย่างเดียวแต่ไม่มี สิทธิ์ เขียน หรือ อ่าน ไฟล์นั้น
6 หมายถึง ผู้ใช้ในกลุ่มเดียวกับเจ้าของ (Group) ไฟล์นั้น มีสิทธิ์ในการสั่งให้ไฟล์นั้นทำงานและมี สิทธิ์ในการเขียนไฟล์นั้นเพียงอย่างเดียวแต่ไม่มี สิทธิ์อ่านไฟล์นั้น (4+2)
7 หมายถึง ผู้ใช้ในกลุ่มเดียวกับเจ้าของ (Group) ไฟล์นั้น มีสิทธิ์ในการสั่งให้ไฟล์นั้นทำงานและมี สิทธิ์ เขียน หรือ อ่าน ไฟล์นั้น (4+2+1) (ดูค่าตามตาราง ประกอบ)
เลขในหลักที่สาม ผู้ใช้อื่น ๆ (Others / Puplic)
ตัวเลขในหลักแรก แสดงถึงสิทธิ์ในการเข้าถึงไฟล์ของผู้เป็นเจ้าของ Files หรือ Directory นั้น ๆ กรณีที่ตัวเลขหลักที่สามเป็นเลข
4 หมายถึง ผู้ใช้อื่น ๆ (Others / Puplic) มีสิทธิ์ในการสั่งให้ไฟล์นั้นทำงาน เพียงอย่างเดียวแต่ไม่มีสิทธิ์ เขียน หรือ อ่าน ไฟล์นั้น
6 หมายถึง ผู้ใช้อื่น ๆ (Others / Puplic) มีสิทธิ์ในการสั่งให้ไฟล์นั้นทำงาน และมีสิทธิ์ในการเขียนไฟล์นั้นเพียงอย่างเดียว แต่ไม่มีสิทธิ์อ่านไฟล์นั้น (4+2)
7 หมายถึง ผู้ใช้อื่น ๆ (Others / Puplic) มีสิทธิ์ในการสั่งให้ไฟล์นั้นทำงาน และมีสิทธิ์ เขียน หรือ อ่าน ไฟล์นั้น (4+2+1)
(ดูค่าตามตาราง ประกอบ)
ดังนั้น 777 จึงหมายถึง ผู้ใช้ในทุกกลุ่ม ไม่ว่าจะเป็นเจ้าของไฟล์ / กลุ่มเดียวกับเจ้าของไฟล์ และผู้ใช้อื่น ๆ สามารถกระทำการทุกสิ่งกับไฟล์ที่มีค่า CHMOD / Permission เป็น 777
ข้อมูลด้านบนจาก http://www.thaitumweb.com/howto/CaptureControlpanel/UserLevel/YourAccount/Permission.html
หลาย ๆ ท่านติดปัญหาอันเนื่องมาจากการไม่กำหนดค่า permission สำหรับไดเรกทอรี่ต่าง ๆ ก่อนที่จะใช้งานหรือติดตั้ง extension เสริม ต่าง ๆ ทำให้เกิด error ขึ้นหลาย ๆ อย่าง เช่นwarning failed to move file เกิดจาก permission ไดเรกทอรี่ /tmp
รูปบนก็ไดเรกทอรี่ /modules ไม่สามารถเขียนได้(บันทึก)
รูปด้านบนก็ไม่สามารถบันทึกไฟล์ภาษาได้ permission ไดเรกทอรี่ /language แล้ไดเรกทอรี่ย่อยภายในด้วย
รูปบนก็เป็น permission ไดเรกทอรี่ plugin
แล้วควรจะแก้ไขหรือกำหนดค่า permission แค่ไหนอย่างไร ก่อนอื่นมาดูว่า joomla ต้องการค่า permission chmod 777 ไดเรทอรี่ไหนบ้าง
โดยเข้าที่ เมนู help >> system info
เข้าแท็บเมนู Directory permission
ดูอันไหนขึ้นตัวหนังสือสีแดงว่า Unwritable บ้างก็จัดการเปลี่ยนค่า permission เป็น chmod 777
ไดเรกทอรี่หลัก ๆ ก็จะมี
ไดเรกทอรี่ permission | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | administrator/backups/ administrator/components/ administrator/language/ administrator/language/en-GB/ administrator/modules/ administrator/templates/ components/ images/ images/banners/ images/stories/ language/ language/en-GB/ language/pdf_fonts/ media/ modules/ plugins/ plugins/content/ plugins/editors/ plugins/editors-xtd/ plugins/search/ plugins/system/ plugins/user/ plugins/xmlrpc/ templates/ Writable /cache /administrator/cache/ /logs/ /tmp/ |
ถาม::แล้วต้องเปลี่ยนกลับคืนไหม?
ตอบ::ไม่ต้องครับ
ถาม::แล้วจะปลอดภัยไหม
ตอบ::เปลี่ยนค่า chmod 777 เฉพาะไดเรกทอรี่เท่านั้นครับตามรายชื่อไดเรกทอรี่ด้านบน ส่วนไฟล์หรือไดเรกทอรี่อื่น ก็คงค่าเดิมไว้หรือเปลี่ยนเป็น chmod 644 หรือ 755
เมื่อเปลี่ยนเสร็จแล้วก็กลับมาดูค่า permission อีกทีว่าขึ้นเป็นสีเขียวหรือไม่ writable
เปลี่ยนค่า permission แล้วในโปรแกรม FTP แล้ว มาดูอีกที ค่า permission ก็ยังเหมือนเดิมทำอย่างไรดี ?
อาจจะเป็นเพราะมียูสอื่น ครองสิทธิไฟล์หรือไดเรกทอรี่นั้นอยู่ วิธีแก้ไข คือล็อคอินเข้า control panel ของ host จะมีเครื่องมือสำหรับปลดล็อคอยู่ครับ
ตัวอย่างเช่น control panel directadmin
เข้าที่ file manager
จะเห็นได้ว่า acache นั้นเป็น owner อยู่
คลิ๊กเลือกที่ไฟล์หรือไดเรกทอรี่ จากนั้นกด reset owner
ส่วน control panel อื่น ๆ ชื่อเครื่องมืออาจจะแตกต่างกันบ้าง แต่ก็มีตัว reset owner ให้เกือบทั้งหมดครับ
ไม่มีความคิดเห็น:
แสดงความคิดเห็น