ซีรี่ส์ RHCSA: วิธีจัดการผู้ใช้และกลุ่มใน RHEL 7 - ตอนที่ 3
การจัดการเซิร์ฟเวอร์ RHEL 7 เช่นเดียวกับเซิร์ฟเวอร์ Linux อื่นๆ จะต้องให้คุณรู้วิธีเพิ่ม แก้ไข ระงับ หรือลบบัญชีผู้ใช้ และให้สิทธิ์แก่ผู้ใช้ที่จำเป็นในการเข้าถึงไฟล์ ไดเร็กทอรี และทรัพยากรระบบอื่นๆ เพื่อดำเนินงานที่ได้รับมอบหมาย
การจัดการบัญชีผู้ใช้
หากต้องการเพิ่มบัญชีผู้ใช้ใหม่ให้กับเซิร์ฟเวอร์ RHEL 7 คุณสามารถเรียกใช้คำสั่งใดคำสั่งหนึ่งจากสองคำสั่งต่อไปนี้ในฐานะรูท:
adduser [new_account]
useradd [new_account]
เมื่อมีการเพิ่มบัญชีผู้ใช้ใหม่ ระบบจะดำเนินการดังต่อไปนี้ตามค่าเริ่มต้น
- โฮมไดเร็กตอรี่ของเขา/เธอถูกสร้างขึ้น (
/home/username
เว้นแต่จะระบุไว้เป็นอย่างอื่น) - ไฟล์ที่ซ่อน
.bash_logout
,.bash_profile
และ.bashrc
เหล่านี้จะถูกคัดลอกภายในโฮมไดเร็กตอรี่ของผู้ใช้ และจะถูกใช้เพื่อจัดเตรียมตัวแปรสภาพแวดล้อมสำหรับไฟล์ของเขา /เซสชันผู้ใช้ของเธอ คุณสามารถสำรวจแต่ละรายการเพื่อดูรายละเอียดเพิ่มเติมได้ - ไดเรกทอรีเก็บพักจดหมายถูกสร้างขึ้นสำหรับบัญชีผู้ใช้ที่เพิ่ม
- กลุ่มจะถูกสร้างขึ้นด้วยชื่อเดียวกันกับบัญชีผู้ใช้ใหม่
สรุปบัญชีทั้งหมดจะถูกจัดเก็บไว้ในไฟล์ /etc/passwd
ไฟล์นี้เก็บบันทึกตามบัญชีผู้ใช้ระบบและมีรูปแบบดังต่อไปนี้ (ฟิลด์จะถูกคั่นด้วยเครื่องหมายทวิภาค):
[username]:[x]:[UID]:[GID]:[Comment]:[Home directory]:[Default shell]
- สองฟิลด์นี้
[ชื่อผู้ใช้]
และ[ความคิดเห็น]
เป็นการอธิบายในตัวมันเอง - ไฟล์ที่สอง 'x' ระบุว่าบัญชีได้รับการรักษาความปลอดภัยด้วยรหัสผ่านที่ถูกซ่อน (ใน
/etc/shadow
) ซึ่งใช้ในการเข้าสู่ระบบด้วย[ชื่อผู้ใช้]
- ฟิลด์
[UID]
และ[GID]
เป็นจำนวนเต็มที่แสดง User IDentification และ Group IDentification หลักที่[username]
อยู่อย่างเท่าเทียมกัน .
ในที่สุด,
[Home directory]
แสดงตำแหน่งที่แน่นอนของโฮมไดเร็กตอรี่ของ[ชื่อผู้ใช้]
และ[Default shell]
คือเชลล์ที่มอบให้กับผู้ใช้รายนี้เมื่อเขา/เธอเข้าสู่ระบบ
ไฟล์สำคัญอีกไฟล์ที่คุณต้องคุ้นเคยคือ /etc/group
ซึ่งเป็นที่เก็บข้อมูลกลุ่ม ดังที่เป็นกรณีของ /etc/passwd
มีหนึ่งบันทึกต่อบรรทัด และฟิลด์จะถูกคั่นด้วยเครื่องหมายโคลอนด้วย:
[Group name]:[Group password]:[GID]:[Group members]
ที่ไหน,
[ชื่อกลุ่ม]
คือชื่อของกลุ่ม- กลุ่มนี้ใช้รหัสผ่านกลุ่มหรือไม่? (เครื่องหมาย “x ” หมายถึงไม่)
[GID]
: เช่นเดียวกับใน/etc/passwd
[สมาชิกกลุ่ม]
: รายชื่อผู้ใช้ที่เป็นสมาชิกของแต่ละกลุ่ม คั่นด้วยเครื่องหมายจุลภาค
หลังจากเพิ่มบัญชีแล้ว คุณสามารถแก้ไขข้อมูลบัญชีของผู้ใช้ได้ตลอดเวลาโดยใช้ 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 ของกลุ่มที่ถูกลบ