คำแนะนำในการตั้งค่าการอนุญาตไฟล์ที่ถูกต้องและความเป็นเจ้าของสำหรับ WordPress

เผยแพร่แล้ว: 2021-10-18

ไฟล์อนุญาต
เมื่อพูดถึงการปรับปรุงความปลอดภัยของเว็บไซต์ WordPress การติดตั้งปลั๊กอินความปลอดภัยมักจะถือเป็นแนวทางปฏิบัติที่ดีที่สุดที่เว็บไซต์ WordPress ทุกแห่งต้องปฏิบัติตาม อย่างไรก็ตาม ผู้คนไม่ได้ให้ความสนใจกับการตั้งค่าการอนุญาตไฟล์และความเป็นเจ้าของไซต์ WordPress มากนัก

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

จากบทความนี้ ฉันจะให้ข้อมูลเชิงลึกโดยละเอียดเกี่ยวกับการตั้งค่าสิทธิ์และความเป็นเจ้าของไฟล์ที่เหมาะสมในไซต์ WordPress: สิทธิ์และการเป็นเจ้าของไฟล์หมายถึงอะไร และวิธีตั้งค่าอย่างถูกต้อง

ฉันจะแบ่งปันการกำหนดค่าไฟล์ WordPress ประเภทต่าง ๆ กับคุณและความแตกต่างระหว่างกัน

การใช้ Terminal สำหรับเปลี่ยนการอนุญาตและการเป็นเจ้าของผ่านไคลเอนต์ FTP

ขณะที่คุณอ่านโพสต์นี้ ในหลายส่วน คุณจะพบว่าเทอร์มินัลใช้สำหรับเปลี่ยนสิทธิ์และความเป็นเจ้าของ

แต่อาจมีบางคนสงสัยว่าเหตุใดคุณจึงใช้ FTP Client เพื่อตอบสนองความต้องการดังกล่าวไม่ได้ เหตุผลที่เราจะไม่ใช้ไคลเอ็นต์ FTP เนื่องจากมีข้อจำกัดบางประการ

สงสัยอะไร?

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

ตอนนี้ ก่อนที่คุณจะเริ่มตั้งค่าการอนุญาตและการเป็นเจ้าของไฟล์ คุณต้องแน่ใจว่าได้ลงชื่อเข้าใช้เซิร์ฟเวอร์ของคุณโดยใช้คำสั่ง “SSH”

หากคุณไม่คุ้นเคยกับการใช้คำสั่ง Linux คุณสามารถมีความเข้าใจในสิ่งเดียวกันได้ดียิ่งขึ้นโดยไปที่บทความ: “ Introduction to Linux Commands

การทำความเข้าใจความแตกต่างระหว่างกลุ่มและผู้ใช้

แนวคิดสำคัญอย่างหนึ่งที่คุณต้องทำความคุ้นเคยก่อนที่จะลงรายละเอียดทางเทคนิคใดๆ คือความแตกต่างระหว่างผู้ใช้หรือกลุ่ม

นั่นเป็นเพราะว่าทั้งผู้ใช้และกลุ่มมีความเกี่ยวข้องกันอย่างใกล้ชิดและใช้เพื่อกำหนดสิทธิ์

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

สิ่งนี้หมายความว่า เมื่อใดก็ตามที่คุณต้องการโอนไฟล์ของคุณโดยใช้ไคลเอนต์ FTP คุณจะต้องเข้าสู่ระบบด้วยเซิร์ฟเวอร์หลักของคุณ - โดยใช้บัญชีผู้ใช้ของคุณ และขึ้นอยู่กับวิธีที่โฮสต์เว็บของคุณตั้งค่าบัญชีผู้ใช้ของคุณ คุณอาจเป็นส่วนหนึ่งของกลุ่มอย่างน้อยหนึ่งกลุ่ม

โดยพื้นฐานแล้ว คุณสามารถถือว่า “ผู้ใช้” และ “กลุ่ม” เหมือนกับบทบาทของผู้ใช้ WordPress แนวคิดทั้งสองนี้เหมือนกันในบริบท อย่างไรก็ตาม แนวคิดแรกกำลังถูกใช้บนเซิร์ฟเวอร์

สิ่งที่ทำให้ผู้ใช้และกลุ่มมีความสำคัญคือช่วยในการระบุไฟล์และสิทธิ์ของโฟลเดอร์

ผู้ใช้รายใดก็ตามที่เป็นเจ้าของไฟล์ใดไฟล์หนึ่ง มักจะมีสิทธิ์ที่สมบูรณ์ในไฟล์นั้น ผู้ใช้อื่นสองสามรายที่อยู่ในกลุ่มเดียวกันกับเจ้าของจะมีสิทธิ์ในไฟล์น้อยกว่า สุดท้ายนี้ คนอื่นๆ จะไม่มีสิทธิ์ใดๆ ในไฟล์

การอนุญาตไฟล์หมายความว่าอย่างไร?

เมื่อคุณได้ทราบเกี่ยวกับแง่มุมพื้นฐานบางประการของการอนุญาตและการเป็นเจ้าของไฟล์แล้ว ให้เรามาพูดถึงความหมายของการอนุญาตไฟล์ WordPress กัน

กล่าวอย่างง่าย ๆ การอนุญาตคือสิ่งที่ทำให้ผู้ใช้ได้รับอนุญาตให้อ่าน เขียน แก้ไข และเข้าถึงไฟล์และไดเร็กทอรีต่าง ๆ ที่เป็นของเว็บไซต์

ใน WordPress โดยปกติการอนุญาตจะถูกเน้นด้วยชุดตัวเลขต่างๆ เช่น 644 หรือ 777 หมายเลขเหล่านี้เรียกอีกอย่างว่า "โหมดการอนุญาต"

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

พูดง่ายๆ ก็คือ เพื่อให้เว็บเซิร์ฟเวอร์ของคุณสามารถเข้าถึงอะไรก็ได้จากไฟล์ คุณจะต้องเปลี่ยนการอนุญาตของไฟล์

บ่อยครั้งที่โหมดการอนุญาตใน WordPress ถูกเรียกว่าคำสั่ง: "ใครทำอะไรได้บ้าง" ซึ่งทุกค่าตัวเลขเดียว (ของโหมดการอนุญาต) แสดงถึงส่วน "ใคร" ของคำสั่งนั้น

  • ค่าตัวเลขแรกสอดคล้องกับสิ่งที่บัญชีผู้ใช้ที่มีความเป็นเจ้าของไฟล์สามารถทำได้
  • ตัวเลขที่สอง
    ค่าสอดคล้องกับสิ่งที่บัญชีผู้ใช้อื่น ๆ ทั้งหมด ซึ่งเป็นส่วนหนึ่งของกลุ่มที่เป็นเจ้าของไฟล์สามารถทำได้
  • ค่าตัวเลขที่สามหมายถึง
    บัญชีผู้ใช้ที่เหลือสามารถทำอะไรได้บ้าง

ถัดไป ในโหมดการอนุญาต ตัวเลขแสดงถึง
ส่วน "อะไร" ของคำสั่งการเขียนโปรแกรม และโดยพื้นฐานแล้วคือ "ผลรวมของการรวมกัน" ของตัวเลขต่อไปนี้:

  • 4: อ่านไฟล์หรือชื่อไฟล์ต่างๆ ที่อยู่ในโฟลเดอร์เฉพาะ
  • 2: เขียนไฟล์หรือแก้ไขหรืออนุญาตให้แก้ไขเนื้อหาของโฟลเดอร์เฉพาะ
  • 1: เรียกใช้ไฟล์หรือเรียกใช้ หรือช่วยให้เข้าถึงไฟล์ภายในโฟลเดอร์เฉพาะ


ตัวเลขที่กล่าวถึงข้างต้นเป็นสิทธิ์ที่เกี่ยวข้องกับส่วน "ใคร" ของโหมดการอนุญาต
หมายเหตุ: การอนุญาตอาจแตกต่างกันไปในแต่ละโฮสต์

ทำความเข้าใจว่าคุณควรปรับเปลี่ยนโหมดการอนุญาตอย่างไร

ไคลเอนต์ FTP มีอินเทอร์เฟซที่อนุญาตให้เปลี่ยนการอนุญาตของไฟล์และโฟลเดอร์ทั้งหมดในลักษณะที่สะดวกมาก อินเทอร์เฟซของไคลเอ็นต์ FTP มีลักษณะดังนี้:
อ่าน

คุณยังสามารถเปลี่ยนแปลงโหมดการอนุญาตของไฟล์เว็บไซต์ WordPress ของคุณได้โดยใช้เทอร์มินัลของเซิร์ฟเวอร์ แต่คุณต้องมีสิทธิ์เข้าถึงเทอร์มินัล นอกเหนือจากการเข้าถึงเทอร์มินัลแล้ว คุณสามารถใช้คำสั่ง "chmod" เพื่อเปลี่ยนแปลงโหมดการอนุญาตของไฟล์ที่ต้องการได้เช่นกัน:

sudo chmod 644

สำหรับการแก้ไขไฟล์ (และโฟลเดอร์) ทั้งหมดของไซต์ คุณจะต้องใช้คำสั่ง chmod ร่วมกับคำสั่ง find ดังนี้

sudo ค้นหา -type f -exec chmod 644 {} +

ดูการกำหนดค่าเซิร์ฟเวอร์ WordPress

ก่อนที่คุณจะเริ่มทำการเปลี่ยนแปลงการอนุญาตไฟล์ WordPress ของคุณ คุณจำเป็นต้องทำความคุ้นเคยกับขั้นตอนการตั้งค่าเซิร์ฟเวอร์ก่อน

คุณสามารถค้นหาการกำหนดค่าเซิร์ฟเวอร์ต่างๆ ที่ต้องใช้ชุดโหมดการอนุญาตที่แตกต่างกันเพื่อให้ไซต์ WordPress ทำงานได้อย่างเหมาะสมและปลอดภัย

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

1. การกำหนดค่าเซิร์ฟเวอร์มาตรฐาน – การกำหนดค่า WordPress นี้ไม่มีความสัมพันธ์ระหว่างบัญชีผู้ใช้และเว็บเซิร์ฟเวอร์

เนื่องจากการกำหนดค่ากำหนดให้เว็บเซิร์ฟเวอร์ต้องทำงานเหมือนกับบัญชีผู้ใช้อื่น

ก่อนที่เราจะเริ่มต้นด้วยกระบวนการตั้งค่าการอนุญาตสำหรับไฟล์สำหรับการกำหนดค่าเซิร์ฟเวอร์มาตรฐาน เราต้องทำการปรับเปลี่ยนบางอย่างในการเป็นเจ้าของไฟล์และโฟลเดอร์โดยคำนึงถึงข้อควรพิจารณาต่อไปนี้:

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

คุณสามารถค้นหากลุ่มที่เชื่อมโยงกับบัญชีผู้ใช้ของคุณโดยใช้คำสั่ง "groups" ภายในเทอร์มินัลของเซิร์ฟเวอร์ของคุณ และหากต้องการทราบกลุ่มที่เว็บเซิร์ฟเวอร์ของคุณเป็นส่วนหนึ่งของการใช้สคริปต์ PHP ต่อไปนี้:

echo exec( 'กลุ่ม' );

หากคุณพบสถานการณ์ที่ผู้ใช้และเว็บเซิร์ฟเวอร์ของคุณอยู่ในกลุ่มอื่น คุณสามารถเพิ่มผู้ใช้ไปยังกลุ่มใดๆ ของเว็บเซิร์ฟเวอร์ของคุณได้ โดยใช้คำสั่งที่ให้มาด้านล่างในเทอร์มินัล:

sudo usermod -a -G <a-the-group-name> mygroup

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

sudo ค้นหา -exec chown mygroup:a-the-group-name {} +

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

สุดท้าย สิ่งที่คุณต้องทำคือปรับเปลี่ยนโหมดการอนุญาตไฟล์และโฟลเดอร์ ในการดำเนินการดังกล่าว คุณต้องคำนึงถึงประเด็นสำคัญต่อไปนี้:

  • ไฟล์ทั้งหมดต้องมีโหมดการอนุญาต 664
  • โฟลเดอร์ทั้งหมดจะต้องมีโหมดการอนุญาต 775
  • โหมดการอนุญาตของไฟล์ wp-config.php ควรจะเป็น 660


ใช้ไคลเอนต์ FTP เพื่อปรับเปลี่ยนโหมดการอนุญาต หรือใช้คำสั่งด้านล่างในไดเร็กทอรีการติดตั้ง WordPress ของคุณเพื่อตอบสนองความต้องการดังกล่าว:

sudo ค้นหา -type f -exec chmod 664 {} +
sudo ค้นหา -type d -exec chmod 775 {} +
sudo chmod 660 wp-config.php

2. การกำหนดค่าเซิร์ฟเวอร์ที่ใช้ร่วมกัน (หรือ SuEXEC): เมื่อเทียบกับการกำหนดค่าเซิร์ฟเวอร์ WordPress มาตรฐาน การอนุญาตสำหรับการกำหนดค่าเซิร์ฟเวอร์ที่ใช้ร่วมกันสามารถนำไปใช้ในวิธีที่ง่ายกว่ามากอย่างน่าทึ่ง

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

ดังนั้น สิ่งที่เราต้องทำคือปรับเปลี่ยนโหมดการอนุญาตโดยพิจารณาจากประเด็นสำคัญที่แสดงไว้ด้านล่าง:

  • ไฟล์ทั้งหมดควรเป็น 644
  • โฟลเดอร์ทั้งหมดของคุณควรเป็น 755
  • และโหมดการอนุญาตของไฟล์ wp-config.php ควรเป็น 600


หากต้องการเปลี่ยนการอนุญาตของไฟล์และโฟลเดอร์ เพียงใช้คำสั่งต่อไปนี้ในไดเรกทอรีเว็บไซต์ WordPress ของคุณ:
sudo ค้นหา -type f -exec chmod 644 {} +
sudo ค้นหา -type d -exec chmod 755 {} +
sudo chmod 600 wp-config.php

คำพูดสุดท้าย

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

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

หวังว่าโพสต์นี้จะทำให้คุณเข้าใจวิธีที่ถูกต้องในการตั้งค่าการอนุญาตไฟล์และความเป็นเจ้าของเว็บไซต์ WordPress ของคุณได้ดีขึ้น

ชีวประวัติผู้แต่ง:
Jack Calder เป็นผู้เชี่ยวชาญด้านเทคโนโลยีการพัฒนาเว็บ เขาประสบความสำเร็จหลายโครงการจนเสร็จทันเวลา ตอนนี้เขาเป็นผู้ให้บริการการแปลง PSD เป็น WordPress สำหรับผู้มีโอกาสเป็นลูกค้าสำหรับ SKT Themes