ค้นหาเว็บไซต์

ซีรี่ส์ RHCSA: วิธีจัดการผู้ใช้และกลุ่มใน RHEL 7 - ตอนที่ 3


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

การจัดการบัญชีผู้ใช้

หากต้องการเพิ่มบัญชีผู้ใช้ใหม่ให้กับเซิร์ฟเวอร์ RHEL 7 คุณสามารถเรียกใช้คำสั่งใดคำสั่งหนึ่งจากสองคำสั่งต่อไปนี้ในฐานะรูท:

adduser [new_account]
useradd [new_account]

เมื่อมีการเพิ่มบัญชีผู้ใช้ใหม่ ระบบจะดำเนินการดังต่อไปนี้ตามค่าเริ่มต้น

  1. โฮมไดเร็กตอรี่ของเขา/เธอถูกสร้างขึ้น (/home/username เว้นแต่จะระบุไว้เป็นอย่างอื่น)
  2. ไฟล์ที่ซ่อน .bash_logout, .bash_profile และ .bashrc เหล่านี้จะถูกคัดลอกภายในโฮมไดเร็กตอรี่ของผู้ใช้ และจะถูกใช้เพื่อจัดเตรียมตัวแปรสภาพแวดล้อมสำหรับไฟล์ของเขา /เซสชันผู้ใช้ของเธอ คุณสามารถสำรวจแต่ละรายการเพื่อดูรายละเอียดเพิ่มเติมได้
  3. ไดเรกทอรีเก็บพักจดหมายถูกสร้างขึ้นสำหรับบัญชีผู้ใช้ที่เพิ่ม
  4. กลุ่มจะถูกสร้างขึ้นด้วยชื่อเดียวกันกับบัญชีผู้ใช้ใหม่

สรุปบัญชีทั้งหมดจะถูกจัดเก็บไว้ในไฟล์ /etc/passwd ไฟล์นี้เก็บบันทึกตามบัญชีผู้ใช้ระบบและมีรูปแบบดังต่อไปนี้ (ฟิลด์จะถูกคั่นด้วยเครื่องหมายทวิภาค):

[username]:[x]:[UID]:[GID]:[Comment]:[Home directory]:[Default shell]
  1. สองฟิลด์นี้ [ชื่อผู้ใช้] และ [ความคิดเห็น] เป็นการอธิบายในตัวมันเอง
  2. ไฟล์ที่สอง 'x' ระบุว่าบัญชีได้รับการรักษาความปลอดภัยด้วยรหัสผ่านที่ถูกซ่อน (ใน /etc/shadow) ซึ่งใช้ในการเข้าสู่ระบบด้วย [ชื่อผู้ใช้]
  3. ฟิลด์ [UID] และ [GID] เป็นจำนวนเต็มที่แสดง User IDentification และ Group IDentification หลักที่ [username] อยู่อย่างเท่าเทียมกัน .

ในที่สุด,

  1. [Home directory] แสดงตำแหน่งที่แน่นอนของโฮมไดเร็กตอรี่ของ [ชื่อผู้ใช้] และ
  2. [Default shell] คือเชลล์ที่มอบให้กับผู้ใช้รายนี้เมื่อเขา/เธอเข้าสู่ระบบ

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

[Group name]:[Group password]:[GID]:[Group members]

ที่ไหน,

  1. [ชื่อกลุ่ม] คือชื่อของกลุ่ม
  2. กลุ่มนี้ใช้รหัสผ่านกลุ่มหรือไม่? (เครื่องหมาย “x ” หมายถึงไม่)
  3. [GID]: เช่นเดียวกับใน /etc/passwd
  4. [สมาชิกกลุ่ม]: รายชื่อผู้ใช้ที่เป็นสมาชิกของแต่ละกลุ่ม คั่นด้วยเครื่องหมายจุลภาค

หลังจากเพิ่มบัญชีแล้ว คุณสามารถแก้ไขข้อมูลบัญชีของผู้ใช้ได้ตลอดเวลาโดยใช้ usermod ซึ่งมีไวยากรณ์พื้นฐานดังนี้:

usermod [options] [username]

อ่านเพิ่มเติม:
15 ตัวอย่างคำสั่ง 'useradd'
15 ตัวอย่างคำสั่ง 'usermod'

ตัวอย่างที่ 1: การตั้งค่าวันหมดอายุสำหรับบัญชี

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

chage -l [username]

ก่อนและหลังการอัปเดตวันหมดอายุบัญชี ดังภาพต่อไปนี้

ตัวอย่างที่ 2: การเพิ่มผู้ใช้ในกลุ่มเสริม

นอกจากกลุ่มหลักที่สร้างขึ้นเมื่อมีการเพิ่มบัญชีผู้ใช้ใหม่เข้าสู่ระบบแล้ว คุณสามารถเพิ่มผู้ใช้ในกลุ่มเสริมได้โดยใช้ -aG รวมหรือ –ผนวก < ตัวเลือก–groups ตามด้วยรายการกลุ่มที่คั่นด้วยเครื่องหมายจุลภาค

ตัวอย่างที่ 3: การเปลี่ยนตำแหน่งเริ่มต้นของโฮมไดเร็กตอรี่ของผู้ใช้และ/หรือการเปลี่ยนเชลล์

หากด้วยเหตุผลบางอย่างคุณจำเป็นต้องเปลี่ยนตำแหน่งเริ่มต้นของโฮมไดเร็กตอรี่ของผู้ใช้ (นอกเหนือจาก /home/username) คุณจะต้องใช้ -d หรือ < ตัวเลือก –home ตามด้วยเส้นทางที่แน่นอนไปยังโฮมไดเร็กตอรี่ใหม่

หากผู้ใช้ต้องการใช้เชลล์อื่นที่ไม่ใช่ bash (เช่น sh) ซึ่งได้รับการกำหนดตามค่าเริ่มต้น ให้ใช้ usermod กับ –shell ตั้งค่าสถานะ ตามด้วยเส้นทางไปยังเชลล์ใหม่

ตัวอย่างที่ 4: การแสดงกลุ่มที่ผู้ใช้เป็นสมาชิก

หลังจากเพิ่มผู้ใช้ในกลุ่มเสริมแล้ว คุณสามารถตรวจสอบได้ว่าตอนนี้เป็นของกลุ่มดังกล่าวจริงหรือไม่:

groups [username]
id [username]

รูปภาพต่อไปนี้แสดงถึง ตัวอย่าง 2 ถึง 4:

ในตัวอย่างด้านบน:

usermod --append --groups gacanepa,users --home /tmp --shell /bin/sh tecmint

หากต้องการลบผู้ใช้ออกจากกลุ่ม ให้ละเว้นสวิตช์ --append ในคำสั่งด้านบน และแสดงรายการกลุ่มที่คุณต้องการให้ผู้ใช้เป็นสมาชิกตามแฟล็ก --groups

ตัวอย่างที่ 5: ปิดการใช้งานบัญชีโดยการล็อครหัสผ่าน

หากต้องการปิดใช้งานบัญชี คุณจะต้องใช้ตัวเลือก -L (L ตัวพิมพ์เล็ก) หรือตัวเลือก –lock เพื่อล็อครหัสผ่านของผู้ใช้ ซึ่งจะทำให้ผู้ใช้สามารถเข้าสู่ระบบได้

ตัวอย่างที่ 6: การปลดล็อครหัสผ่าน

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

usermod --unlock tecmint

รูปภาพต่อไปนี้แสดงให้เห็น ตัวอย่างที่ 5 และ 6:

ตัวอย่าง 7: การลบกลุ่มหรือบัญชีผู้ใช้

หากต้องการลบกลุ่ม คุณจะต้องใช้ groupdel ในขณะที่การลบบัญชีผู้ใช้ คุณจะต้องใช้ userdel (เพิ่มสวิตช์ –r หากคุณต้องการลบเนื้อหาของโฮมไดเร็กตอรี่และสปูลเมลด้วย):

groupdel [group_name]        # Delete a group
userdel -r [user_name]       # Remove user_name from the system, along with his/her home directory and mail spool

หากมีไฟล์ที่เป็นของ group_name ไฟล์เหล่านั้นจะไม่ถูกลบ แต่เจ้าของกลุ่มจะถูกตั้งค่าเป็น GID ของกลุ่มที่ถูกลบ