วันพฤหัสบดีที่ 23 กุมภาพันธ์ พ.ศ. 2555

ลินุกซ์ การเพิ่มผู้ใช้ไปยังกรุ๊ป(Linux add user to group)


วิธีการเพิ่ม Linux User ไปยัง Group ในระบบปฏิบัติการลินุกซ์ 

คุณสามารถใช้คำสั่ง "useradd" หรือ "usermod" ในการเพิ่ม user ไปยัง Linux user group 

คำสั่ง "useradd" เป็นคำสั่งที่ใช้ในการสร้างหรือปรับปรุง(update) ข้อมูลเริ่มต้นของผู้ใช้ที่สร้างขึ้นใหม่

คำสั่ง "usermod" เป็นคำสั่งที่ใช้ในการเปลี่ยนแปลงบัญชีผู้ใช้ 

ตัวอย่างในการใช้คำสั่งนี้ได้ดีและเป็นประโยชน์มากคือการ เพิ่ม user ไปยัง group ที่มีอยู่แล้ว

Group มีอยู่สองแบบคือ กลุ่มแรกเป็น primary user group และกลุ่มที่สองใช้สำหรับเรียก group อื่นๆที่ไม่ใช่ primary group เรียกว่า secondary group

ข้อมูลทั่วไปของผู้ใช้ทั้งหมดจะถูกเก็บอยู่ในไฟล์
  /etc/passwd, /etc/shadow และ /etc/group 

ตัวอย่างการใช้คำสั่ง useradd : เพิ่มผู้ใช้ใหม่ไปยัง Secondary Group
เมื่อคุณต้องการสร้างผู้ใช้ใหม่และต้องการเพิ่มชื่อผู้ใช้นั้นไปยัง group ที่มีอยู่แล้ว 
syntax 
# useradd -G {group-name} username 
ตัวอย่างเช่น คุณต้องการสร้าง username "ikungolf" ไปยัง groupt "developers"
# useradd -G developers ikungolf
แต่ถ้าหากไม่แน่ใจว่า Group "developers" มีอยู่แล้วหรือไม่สามารถตรวจสอบได้ด้วยคำสั่งนี้
# grep developers /etc/group
*** หากมี group อยู่แล้วก็จะแสดงผลลัพออกมาเป็นชื่อ group "developers" ถ้าค้นหาแล้วปรากฏว่าไม่มี group นี้อยู่คุณสามารถสร้าง group ขึ้นมาด้วยคำสั่ง "groupadd"
# groupadd developers
หลังจากนั้นก็รันคำสั่ง เพื่อเพิ่มผู้ใช้ใหม่ไปยัง developers group
# useradd -G developers ikungolf
ตั้งค่ารหัสผ่านให้กับ User ที่สร้างขึ้นใหม่ด้วยคำสั่ง
# passwd ikungolf
จากนั้นดูข้อมูลต่างๆของผู้ใช้ด้วยการรันคำสั่ง
# id username
 #id ikungolf
* หมายเหตุ option G ที่เป็นอักษรตัวใหญ่สามารถเพิ่มผู้ใช้ไปยัง group หลายๆ  group ด้วยการใช้ "," คั่นระหว่าง group โดยไม่ต้องเว้นช่องว่าง
เช่น เพิ่ม ikungolf ไปยัง group admin, ftp, www-data และ developers ใช้คำสั่งต่อไปนี้
# useradd -G admin,ftp,www-data,developers ikungolf
ก่อนหน้านี้ได้พูดถึงการสร้าง User ใหม่และเพิ่มไปยัง Group ที่มีอยู่แล้ว ที่นี้หากต้องการเพิ่ม User ที่มีอยู่แล้วไปยัง Group ที่มีอยู่แล้วล่ะจะต้องทำยังไง 
ก็ไม่ยากครับ คำสั่งจะคล้ายกัน แตกต่างกันตรง option ที่ตัว g จะเป็นตัวพิมพ์เล็กและการใช้ -g จะหมายถึงการเพิ่ม Group นี้เป็นการเพิ่ม Group แบบ Primary group
# useradd -g developers redc0de
*** ในที่ให้ redc0de เป็นชื่อผู้ใช้ที่มีอยู่ในเครื่องแล้ว
ดูข้อมูลของ redc0de
# id redc0de


ต่อไปจะเป็นการใช้คำสั่ง usermod : เพิ่ม User ที่มีอยู่แล้วไปยัง Group ที่มีอยู่แล้ว
ตัวอย่างจะเป็นการเพิ่ม user ikungolf ไปยัง ftp group โดยให้เป็น group แบบ secondary group โดยการใช้คำสั่ง usermod option -a -G โดย "-G" เป็นการบอกว่าให้เพิ่ม Group แบบ secondary group

# usermod -a -G ftp ikungolf
การเปลี่ยน Primary group ของ User ที่มีอยู่แล้วในระบบไปยัง group ต่างๆ
# usermod -g {group-name} username
ตัวอย่าง ต้องการเปลี่ยน primary group ของ ikungolf เป็น developers
# usermod -g developers ikungolf