ลินุกซ์รองรับการใช้งานได้หลายผู้ใช้งานพร้อมๆกัน (multi-user) การจัดการผู้ใช้งานทำโดยผู้ใช้งานที่มีสิทธิ root ซึ่งผู้ใช้งานที่มีสิทธิ root สามารถจัดการทุกอย่างในเครื่องคอมพิวเตอร์ได้ ผู้ใช้งานที่มีสิทธิ root นี้ในระบบปฏิบัติการอื่นเรียกว่า superuser หรือ administrator 

บัญชีผู้ใช้งาน

     ในระบบปฏิบัติการลินุกซ์เราสามารถกำหนดสิทธิผู้ใช้งานเพื่อให้เข้าถึงไฟล์หรือแอพพลิเคชั่นได้แตกต่างกันไป แต่ละผู้ใช้งานจะมีเลขประจำตัวที่ไม่ซ้ำกันเรียกว่า UID ย่อมาจาก uder id และมีฐานข้อมูลผู้ใช้งานเพื่อจับคู่ UID กับชื่อผู้ใช้งาน เมื่อเราสร้างชื่อผู้ใช้งานใหม่ ข้อมูลเกี่ยวกับผู้ใช้งานจะถูกบันทึกลงฐานข้อมูลผู้ใช้งานและจะสร้างไดเร็คทอรี่ home และสร้างไฟล์สำคัญอื่นๆสำหรับแต่ละผู้ใช้งาน การเพิ่มผู้ใช้งานสามารถทำได้โดยใช้คำสั่ง adduser และการลบผู้ใช้งานสามารถทำได้โดยคำสั่ง deluserl และหรือจะดำเนินการโดยใช้เครื่องมือที่เป็น GUI ก็ได้

     เมื่อมีการสร้างผู้ใช้งาน รายละเอียดของผู้ใช้งานบางอย่างจะถูกบันทึกในไฟล์ /etc/passwd ด้วยดังนี้

Username : เป็นชื่อที่ผู้ใช้งานใช้ในการเข้าระบบ มีขนาด 1-32 ตัวอักษร

Password : รหัสผ่าน(แสดงเป็นตัวอักษร x เนื่องจากรหัสผ่านจะถูกเก็บแบบเข้ารหัสในไฟล์ /etc/shadow )

User ID (UID) : เป็นเลขประจำตัวของผู้ใช้งานทุกคน UID 0 ถูกจองไว้สำหรับroot UID 1-99 ถูกจองไว้สำหรับผู้ใช้งานเฉพาะ UID 100-999 ถูกจองไว้สำหรับผู้ใช้งานของระบบ ส่วนผู้ใช้งานที่เป็นคนจะใช้ UID ตั้งแต่ 1000 ขึ้นไป

GROUP ID : เป็นเลขประจำตัวของกลุ่มผู้ใช้งานหลักของแต่ละผู้ใช้งาน เลขประจำตัวของกลุ่มผู้ใช้งานจะถูกเก็บไว้ที่ /etc/group 

User Info : เป็นออปชั่นฟิลด์ที่ใช้เก็บข้อมูลต่างๆของผู้ใช้งาน เช่น ชื่อของผู้ใช้งาน เป็นต้น

Home Directory : เป็นพาธของไดเร็คทอรี่ home ของผู้ใช้งาน เช่น /home/somchai

Shell : เป็นชื่อโปรแกรมเชลล์ของผู้ใช้งาน เช่น /bin/bash

ภาพแสดงเนื้อหาในไฟล์ /etc/passwd

ชนิดของบัญชีผู้ใช้งาน

     ระบบปฏิบัติการลินุกซ์จะแยกแยะชนิดของบัญชีผู้ใช้งานเพื่อการจัดการโปรเซสและจำนวนงาน โดยมีชนิดของบัญชีผู้ใช้งานอยู่ 4 ชนิดคือ root, System, Normal และ Network 

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

ภาพแสดงการใช้คำสั่ง last

เข้าใจผู้ใช้งานที่เป็น root

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

  • การสร้าง ลบ หรือ การจัดการผู้ใช้งาน
  • การจัดการซอฟแวร์แพคเกจ
  • การลบหรือแก้ไขไฟล์ระบบ
  • การรีสตาร์ตบริการของระบบ

     ผู้ใช้งานทั่วไปอาจได้รับอนุญาติให้ติดตั้งซอฟแวร์แพคเกจ เปลี่ยน

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

     สำหรับกิจกรรมบางอย่างที่ต้องการสิทธิ root แต่ยอมให้ผู้ใช้งานทั่วไปดำเนินการเองได้ เช่น การเปลี่ยนรหัสผ่านของตัวผู้ใช้เองด้วยคำสั่ง passwd ซึงคำสั่ง passwd ต้องการสิทธิ root ในการใช้งานแต่กิจกรรมเหล่านี้จะได้รับการกำหนดไว้เป็นพิเศษด้วยการใช้ SUID (เหมือนกับ run-as ในวินโดส์) โดย SUID จะเป็นการอนุญาติแบบชั่วคราวแก่ผู้ใช้งานเพื่อเรียกใช้งานโปรแกรม (หรือไฟล์) เสมือนตนเองเป็นเจ้าของไฟล์ ตัวอย่างกิจกรรมในลักษณะนี้ เช่น การใช้งานเครือข่าย การแชร์ไฟล์ผ่านเครือข่าย การใช้อุปกรณ์ต่อพ่วง เช่น เครื่องพิมพ์ การใช้เครื่องพิมพ์ในเครือข่าย 

     ในกรณีที่ผู้ใช้งานต้องทำกิจกรรมที่ต้องใช้สิทธิ root แทนที่เราจะให้ผู้ใช้งานที่เป็น root ไป เราควรให้ผู้ใช้งานใช้สิทธิ root ผ่านการใช้คำสั่ง su หรือคำสั่ง sudo 

คำสั่ง su

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

ภาพแสดงการใช้คำสั่ง su

คำสั่ง sudo

     รูปแบบของคำสั่ง sudo คือ sudo command -option argument โดย sudo หมายถึงเรียกใช้คำสั่งด้วยสิทธิของ root เหมือนเรียกใช้งานฟังก์ชั่น run as administrator ใน Windows เช่น เราจะเรียกคำสั่ง apt update เพื่อปรับปรุงข้อมูลเวอร์ชั่นของซอฟต์แวร์ให้เป็นข้อมูลล่าสุดซึ่งต้องใช้สิทธิ root เราจะต้องพิมพ์คำสั่ง sudo กำกับไว้ด้วยตามตัวอย่างด้านล่าง โดยระบบจะถามรหัสผ่านของผู้ใช้งานเพื่อยืนยันการสั่งงาน เราสามารถใช้คำสั่ง sudo ในการให้สิทธิ root แบบจำกัดแก่ผู้ใช้งาน เช่น เพื่อการใช้งานชั่วคราว หรือ ใช้กับเฉพาะบางคำสั่ง ได้ด้วย 

     ใน Ubuntu ระบบจะเปิดการใช้งาน sudo ให้กับผู้ใช้งานหลักตั้งแต่ขั้นตอนการติดตั้งและยกเลิกผู้ใช้งานที่เป็น root เพื่อความปลอดภัย 

ภาพแสดงการใช้คำสั่ง sudo

     เมื่อมีการเรียกใช้งานคำสั่ง sudo โปรแกรมจะตรวจสอบไฟล์ /etc/sudoers และไฟล์ภายใต้ไดเร็คทอรี่ /etc/sudoers.d เพื่อตรวจสอบว่าผู้ใช้งานมีสิทธิใช้คำสั่ง sudo หรือไม่ และมีขอบเขตการใช้งานแค่ไหน โดยโครงสร้างของการกำหนดสิทธิในไฟล์ /etc/sudoers ประกอบด้วย

ภาพแสดงการกำหนดสิทธิในไฟล์ sudoers

     จากภาพจะเห็นว่ามีบรรทัดที่เขียนว่า %sudo ALL=(ALL:ALL) ALL หมายถึงผู้ใช้งานที่อยู่ในกลุ่ม sudo สามารถใช้คำสั่ง sudo ได้โดยไม่มีข้อจำกัด ดังนั้นหากเราต้องการเพิ่มผู้ใช้งานที่มีสิทธิใช้คำสั่ง sudo สามารถทำได้โดยเพิ่มผู้ใช้งานนั้นๆใน groups sudo ด้วยคำสั่ง usermod -a -G sudo username โดยแทนที่ username ด้วยชื่อผู้ใช้งานที่ต้องการ

     การแก้ไขไฟล์ /etc/sudoers ทำได้โดยใช้คำสั่ง visudo ซึ่งโปรแกรมนี้จะดูแลการแก้ไขไฟล์ว่าในแต่ละครั้งไฟล์จะถูกเปิดและแก้ไขโดยผู้ใช้งานทีละคนเท่านั้น โดยผู้ใช้งานต้องมีสิทธิในการแก้ไข และโปรแกรมจะปฏิเสธการแก้ไขหากมีข้อผิดพลาดเกิดขึ้น แต่การแก้ไขไฟล์ /etc/sudoers โดยตรงมีความเสี่ยงดังนั้นหากเราต้องการกำหนดขอบเขตการใช้งานคำสั่ง sudo สำหรับผู้ใช้งาน ควรทำโดยการเพิ่มไฟล์ที่มีชื่อเดียวกับผู้ใช้งานลงไปภายใต้ไดเร็คทอรี่ /etc/sudoers.d และกำหนดการตั้งค่าต่างๆเกี่ยวกับขอบเขตการใช้งานคำสั่ง sudo ของผู้ใช้งานนั้นๆลงในไฟล์ดังกล่าว

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

Dec 8 14:20:47 server1 sudo: op : TTY=pts/6 PWD=/var/log USER=root COMMAND=/usr/bin/whoami

     การกำหนดให้เฟโดร่าและซูเซ่อมีการใช้งานคำสั่ง sudo ด้วยรหัสผ่านของผู้ใช้งานในแบบเดียวกับอูบุญตูทำได้โดยการแก้ไขไฟล์ /etc/sudoers และยกเลิกคอมเมนท์ (#) ที่หน้าบรรทัดดังต่อไปนี้

# Defaults targetpw

# %wheel    ALL=(ALL) ALL 

จากนั้นให้เพิ่มผู้ใช้งานที่ต้องการใช้สิทธิ root ในกลุ่ม wheel 

ข้อแตกต่างระหว่างคำสั่ง sudo และคำสั่ง su

    เราสามารถใช้งานคำสั่ง sudo หรือคำสั่ง su ในการใช้งานสิทธิ root ชั่วคราว โดยความแตกต่างของทั้งสองคำสั่งมีดังนี้

1. การเรียกใช้คำสั่ง sudo ผู้ใช้งานจะระบุรหัสผ่านของตนเอง แต่การใช้คำสั่ง su ผู้ใช้งานต้องใส่รหัสผ่านของ root ซึ่งการให้ผู้ใช้งานทั่วไปรู้รหัสผ่านของ root เป็นสิ่งที่ไม่ควรทำ

2. การใช้คำสั่ง sudo ผู้ใช้งานจะมีสิทธิ root เฉพาะสิ่งที่จะทำ หากจะทำกิจกรรมอื่นต้องใส่รหัสผ่านใหม่ แต่คำสั่ง su จะเป็นการให้สิทธิ root แก่ผู้ใช้งานโดยผู้ใช้งานสามารถใช้งานสิทธิ root ในการทำกิจกรรมใดๆโดยไม่ตรวจสอบรหัสผ่านอีกจนกว่าจะออกจากหน้าจอคอนโซลที่ได้สิทธิ root  นั้น

3. การใช้คำสั่ง sudo จะมีการบันทึก log การใช้งานอย่างละเอียด แต่การใช้คำสั่ง su จะบันทึก log ไม่ละเอียด

     ดังนั้นจะเห็นว่าการใช้คำสั่ง sudo จะมีความปลอดภัยกว่าการใช้คำสั่ง su เพราะเป็นการใช้เป็นครั้งคราวโดยใช้ประกอบกับคำสั่งอื่นเมื่อต้องการใช้สิทธิ root 

การจัดการรหัสผ่าน

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

     เนื่องจากการเข้ารหัสสำหรับรหัสผ่านที่แข็งแรงเป็นสิ่งที่จำเป็น ดิสโทรส่วนใหญ่เลือกใช้อัลกอริธึมในการเข้ารหัสที่เรียกว่า SHA-512 (Secure Hashing Algorithm 512 bits) ซึ่งถูกพัฒนาโดย the U.S. National Security Agency (NSA)  SHA-512 และถูกใช้อย่างกว้างขวางโดยแอพพลิเคชั่ยและโปรโตคอลที่เกียวข้องกับเรื่องความปลอดภัย เช่น LS, SSL, PHP, SSH, S/MIME และ IPSec ตัวอย่างของการเข้ารหัสด้วย SHA-512 ด้วยคำว่า test จะได้ผลลัพธ์ดังภาพ โดยใช้โปรแกรม sha512sum

ภาพแสดงการเข้ารหัสด้วย SHA-512

     หลักปฏิบัติที่ดีในการรักษาความปลอดภัยของข้อมูลและรหัสผ่านคือ 

1. กำหนดอายุของรหัสผ่าน ผู้ใช้งานจะถูกเตือนให้เปลี่ยนรหัสผ่านอย่างสม่ำเสมอ เพื่อให้แน่ใจว่าหากรหัสผ่านถูกโขมยไปก็จะถูกนำไปใช้ได้ในช่วงเวลาที่จำกัด เราสามารถใช้คำสั่ง chage เพื่อกำหนดการหมดอายุของรหัสผ่านของผู้ใช้งาน

2. กำหนดให้ผู้ใช้งานตั้งรหัสผ่านที่แข็งแรงโดยใช้ Pluggable Authentication Modules (PAM) ตรวจสอบความแข็งแรงของรหัสผ่านที่ถูกสร้างโดยคำสั่ง passwd ว่ามีความแข็งแรงเพียงพอ การตั้งค่าให้ PAM ทำโดยไลบรารี่ pam_cracklib.so หรือ pam_passwdqc.so 

3. นอกจากนี้เราอาจติดตั้งโปรแกรมแกะรหัสผ่าน เช่น John The Ripper เพื่อปกป้องไฟล์รหัสผ่านและตรวจจับรหัสผ่านที่อ่อนแอ 

ภาพแสดงการใช้คำสั่ง chage

คำสั่ง who

     เราสามารถใช้คำสั่ง who เพื่อดูว่ามีผู้ใดกำลังใช้งานอยู่บ้าง และใช้ออปชั่น -a เช่น who -a เพื่อดูรายละเอียดผู้ใช้งานซึ่งออปชั่น -a จะแสดงชื่อผู้ใช้งานของระบบด้วย 

ภาพแสดงการใช้คำสั่ง who

   จากตัวอย่างจะเห็นว่ามีรายชื่อผู้ใช้งานที่เป็นของระบบคือ system boot และ run-lelvel 5 ถัดมาคือชื่อผู้ใช้งานที่เป็น root คือ homeuse และใช้งานหน้าจอคอนโซลภายใต้ GUI ซึ่งแสดงด้วย 0 และสุดท้ายคือผู้ใช้งานชื่อ testuser กำลังใช้งานหน้าจอคอนโซล tty3

คำสั่ง whoami

     หากเราใช้งานด้วยหลายชื่อผู้ใช้งานและลืมไปว่ากำลัง log on เป็นใครอยู่ เราสามารถตรวจสอบชื่อผู้ใช้งานที่เรากำลังใช้อยู่ได้โดยใช้คำสั่ง whoami

     ผู้ใช้งานในลินุกซ์จะมีเลขประจำตัว (user id – uid) ที่ไม่ซ้ำกัน เลขประจำตัวดังกล่าวจะเป็นเลขจำนวนเต็ม (integer) เริ่มจากเลข 1000 

ภาพแสดงการใช้คำสั่ง who และ whoami

     ลินุกซ์ใช้กลุ่ม (group) ในการจัดกลุ่มผู้ใช้งานโดยแต่ละกลุ่มนอกจากจะมีชื่้อกลุ่ม (group name) ตามที่เรากำหนดแล้วยังมีรหัสกลุ่ม (group id – gid) เพื่อใช้ในการอ้างอิงของระบบ ผู้ใช้งานที่อยู่ในกลุ่มเดียวกันจะมีสิทธิในการเข้าถึง สิทธิการใช้งาน และสิทธิด้านความปลอดภัยที่เหมือนกัน ดังนั้นการกำหนดสิทธิควรจะทำที่ระดับกลุ่มแทนที่จะกำหนดให้กับผู้ใช้งานแต่ละคนเพื่อให้ง่ายต่อการจัดการ เมื่อผู้ใช้งาน log on เข้าใช้งาน ผู้ใช้งานทุกคนที่อยู่ในกลุ่มเดียวกันจะได้รับสิทธิที่เหมือนกัน

     การจัดการสมาชิกในกลุ่มทำผ่านไฟล์ /etc/group ซึ่งจะมีรายชื่อของ กลุ่มและรายชื่อสมาชิกในกลุ่ม ตามค่าตั้งต้นของระบบผู้ใช้งานทุกคนจะเป็นสมาชิกของกลุ่มตั้งต้น (default group) หรือเรียกว่ากลุ่มหลัก ( primary group) ซึ่งจะมีชื่อกลุ่มเหมือนกับ use id โดยกลุ่มตั้งต้นจะถูกสร้างขึ้นมาโดยอัตโนมัติเมื่อมีการสร้างผู้ใช้งาน แต่ละผู้ใช้งานสามารถเป็นสมาชิกได้มากกว่าหนึ่งกลุ่มเราสามารถดูข้อมูลของผู้ใช้งานซึ่งจะแสดงชื่อกลุ่มด้วยจากไฟล์ /etc/passwd เช่น 

testuser:x:1001:1001:testuser,2,9999999999,8888888888,none:/home/testuser:/bin/bash และดูจากไฟล์ /etc/group เช่น testuser:x:1001: 

คำสั่ง adduser

     การเพิ่มผู้ใช้งานราจะใช้คำสั่ง adduser ซึ่งเป็นเชลล์สคริปที่ช่วยให้เราดำเนินการเพิ่มผู้ใช้งานได้อย่างสมบูรณ์ ในการเพิ่มผู้ใช้งานระบบจะสร้างไดเร็คทอรี่ home ให้ซึ่งตามตัวอย่างด้านล่างคือ /home/testuser และกำหนดค่าตั้งต้นของ shell ไปที่ /bin/bash และจัดเตรียมไฟล์พื้นฐานบางไฟล์ให้โดยสำเนามาจาก /etc/skel และเพิ่มบรรทัดใน /etc/passwd ดังตัวอย่าง

testuser:x:1001:1001:testuser,2,9999999999,8888888888,none:/home/testuser:/bin/bash 

ภาพแสดงการใช้คำสั่ง adduser

คำสั่ง deluser

     การลบผู้ใช้งานหากเราจะใช้คำสั่ง deluser ตามด้วยชื่อผู้ใช้งานที่ต้องการลบเช่น sudo deluser testuser การลบผู้ใช้งานจะไม่ได้ลบไดเร็คทอรรี่ home ของผู้ใช้งานออกไปด้วย ดังนั้นไดเร็คทอรี่ของผู้ใช้งานที่ถูกลบออกไปจะยังคงอยู่ แต่หากต้องการลบไดเร็คทอรรี่ home ของผู้ใช้งานออกไปด้วยพร้อมกับการลบชื่อผู้ใช้งานก็สามารถทำได้โดยใช้ออปชั่น -r เช่น sudo deluser -r testuser

ภาพตัวอย่างการลบ usertest1 

คำสั่ง id

     หากเราต้องการดูรายละเอียดของ user id สามารถดูได้โดยใช้คำสั่ง id โดยหากใช้คำสั่ง id  เฉยๆจะแสดงข้อมูลของผู้ใช้งานเอง หากต้องการดูข้อมูลของผู้ใช้งานอื่นให้ระบุ user id ด้วย ดังตัวอย่าง 

ภาพแสดงการใช้คำสั่ง id

คำสั่ง addgroup

     การเพิ่มกลุ่มทำโดยใช้คำสั่ง addgroup เช่น sudo addgroup anewgroup หลังจากที่เพิ่มกลุ่มแล้วเราสามารถตรวจสอบได้ด้วยคำสั่ง cat /etc/group

ภาพแสดงการใช้คำสั่ง addgroup

คำสั่ง delgroup

     การลบกลุ่มทำโดยใช้คำสั่ง delgroup เช่น sudo delgroup anewgroup เราสามารถตรวจสอบว่าได้ลบกลุ่มแล้วด้วยคำสั่ง

 cat /etc/group 

ภาพแสดงการใช้คำสั่ง delgroup

คำสั่ง groups

     เราสามารถตรวจสอบว่าผู้ใช้งานอยู่ในกลุ่มใดบ้างโดยใช้คำสั่ง groups ตามด้วยชื่อผู้ใช้งาน เช่น groups testuser ซึ่งจะได้ผลตอบกลับเป็น testuser : testuser ซึ่งค่าก่อนเครื่องหมาย : คือชื่อผู้ใช้งาน และค่าหลังเครื่องหมาย : คือชื่อกลุ่มนั่นเอง หากใช้แค่คำสั่ง groups โดยไม่ระบุชื่อผู้ใช้จะแสดงรายชื่อกลุ่มของตัวผู้ใช้งานเอง

ภาพแสดงการใช้คำสั่ง groups

คำสั่ง usermod

     การเพิ่มผู้ใช้งานในกลุุ่มทำได้โดยใช้คำสั่ง usermod เช่น sudo usermod -a -G anewgroup testuser เพื่อเพิ่ม testuser ในกลุ่ม anewgroup คำสั่ง usermod จะแก้ไขไฟล์ /etc/group โดยการเพิ่มผู้ใช้งานในกลุ่มและทุกครั้งอย่าลืมใส่ออปชั่น  -a (append) เพื่อเพิ่มรายชื่อผู้ใช้งานในกลุ่มโดยที่ยังคงความเป็นสมาชิกกลุ่มเดิมอยู่ หากไม่ระบุ -a  กลุ่มที่เป็นสมาชิกอยู่เดิมอาจจะถูกลบออกไปได้ ส่วนออปชั่น -G จะเป็นการระบุชื่อกลุ่มที่ต้องการเพิ่มผู้ใช้งานเข้าไป 

     การลบผู้ใช้ออกจากกลุ่มทำได้โดยใช้คำสั่ง usermod -G ตามด้วยชื่อกลุ่มและชื่อผู้ใช้งาน เช่น 

sudo usermod -G anewgroup testuser

ภาพแสดงการใช้คำสั่ง usermod

คำสั่ง groupmod

    หากเราต้องการเปลี่ยนคุณสมบัติของกลุ่ม เช่น เปลี่ยนรหัสของกลุ่ม (gid) ให้ใช้คำสั่ง groupmod -g ตามด้วยรหัสกลุ่มที่ต้องการกำหนดให้ใหม่ หรือหากต้องการเปลี่ยนชื่อกลุ่มให้ใช้คำสั่ง groupmod -n ตามด้วยชื่อใหม่ที่ต้องการ      

ภาพแสดงการใช้คำสั่ง groupmod