Chown ทำงานอย่างไรใน Linux?

ไฟล์และโฟลเดอร์ใน Linux เป็นของผู้ใช้และกลุ่ม ซึ่งอาจส่งผลต่อผู้ใช้ที่สามารถเข้าถึงไฟล์ และอาจเป็นส่วนสำคัญของความปลอดภัย คำสั่งในการเปลี่ยนความเป็นเจ้าของไฟล์เรียกว่า "chown" อย่างสร้างสรรค์ ซึ่งย่อมาจาก "change owner"

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

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

โครงสร้างของคำสั่ง “chown”

คำสั่ง chown อยู่ในรูปแบบ “chown [fl ags] [User][:[Group]] File[s]” แฟล็กหมายถึงแฟล็กคำสั่งที่เปลี่ยนการทำงานของคำสั่งและเป็นทางเลือกทั้งหมด อย่างน้อยต้องระบุชื่อผู้ใช้หรือกลุ่มแม้ว่าทั้งสองสามารถเป็นได้ ต้องตั้งชื่อไฟล์และโฟลเดอร์อย่างน้อยหนึ่งรายการ

โดยทั่วไป คุณจะไม่จำเป็นต้องใช้แฟล็กใดๆ แต่มีบางอย่างที่อาจมีประโยชน์ในบางครั้ง แฟล็ก "-R" ทำงานซ้ำกับไฟล์และโฟลเดอร์ แฟล็ก “–from=[current owner][:[current group]” ใช้เพื่อใช้คำสั่งเฉพาะกับไฟล์และโฟลเดอร์ที่ปัจจุบันเป็นเจ้าของโดยผู้ใช้หรือกลุ่มที่ระบุ แฟล็ก “–help” พิมพ์หน้าความช่วยเหลือ

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

หมายเหตุ: ผู้ใช้และกลุ่มที่เป็นเจ้าของสามารถระบุได้ด้วยชื่อผู้ใช้และกลุ่ม หรือโดย ID ที่เกี่ยวข้อง

ตัวอย่างเช่น ไฟล์ file.txt สามารถเปลี่ยนแปลงความเป็นเจ้าของเป็น user2 และจัดกลุ่มเป็น group2 โดยใช้คำสั่ง “chown user2:group2 filt.txt” หากละเว้นเจ้าของหรือกลุ่มใหม่ การตั้งค่านั้นจะไม่เปลี่ยนแปลง วิธีที่ง่ายที่สุดในการดูผู้ใช้ที่เป็นเจ้าของและกลุ่มของชุดไฟล์คือการใช้คำสั่ง “ls -l” ซึ่ง แสดงรายการไดเร็กทอรีแบบยาวรวมทั้งชื่อเจ้าของและชื่อกลุ่มที่เป็นเจ้าของ

เหตุใดการเป็นเจ้าของไฟล์และโฟลเดอร์จึงมีความสำคัญ

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

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

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