Unix / Linux - การดูแลระบบผู้ใช้
ในบทนี้เราจะพูดถึงรายละเอียดเกี่ยวกับการดูแลระบบผู้ใช้ใน Unix
มีบัญชีสามประเภทในระบบ Unix -
บัญชีรูท
นี้เรียกอีกอย่างว่า superuserและจะมีการควบคุมระบบที่สมบูรณ์และไม่มีข้อ จำกัด superuser สามารถรันคำสั่งใด ๆ โดยไม่มีข้อ จำกัด ควรถือว่าผู้ใช้รายนี้เป็นผู้ดูแลระบบ
บัญชีระบบ
บัญชีระบบเป็นบัญชีที่จำเป็นสำหรับการทำงานของส่วนประกอบเฉพาะของระบบเช่นบัญชีอีเมลและ sshdบัญชี โดยปกติบัญชีเหล่านี้จำเป็นสำหรับฟังก์ชันเฉพาะบางอย่างในระบบของคุณและการแก้ไขใด ๆ ก็ตามอาจส่งผลเสียต่อระบบ
บัญชีผู้ใช้
บัญชีผู้ใช้ให้การเข้าถึงระบบแบบโต้ตอบสำหรับผู้ใช้และกลุ่มผู้ใช้ โดยทั่วไปผู้ใช้ทั่วไปจะถูกกำหนดให้กับบัญชีเหล่านี้และโดยปกติจะมีการ จำกัด การเข้าถึงไฟล์ระบบและไดเร็กทอรีที่สำคัญ
Unix สนับสนุนแนวคิดของบัญชีกลุ่มซึ่งจัดกลุ่มบัญชีจำนวนหนึ่งอย่างมีเหตุผล ทุกบัญชีจะเป็นส่วนหนึ่งของบัญชีกลุ่มอื่น กลุ่ม Unix มีบทบาทสำคัญในการจัดการสิทธิ์ของไฟล์และการจัดการกระบวนการ
การจัดการผู้ใช้และกลุ่ม
มีไฟล์การดูแลระบบผู้ใช้หลักสี่ไฟล์ -
/etc/passwd- เก็บข้อมูลบัญชีผู้ใช้และรหัสผ่าน ไฟล์นี้เก็บข้อมูลส่วนใหญ่เกี่ยวกับบัญชีในระบบ Unix
/etc/shadow- ถือรหัสผ่านที่เข้ารหัสของบัญชีที่เกี่ยวข้อง ไม่ใช่ทุกระบบที่รองรับไฟล์นี้
/etc/group - ไฟล์นี้มีข้อมูลกลุ่มสำหรับแต่ละบัญชี
/etc/gshadow - ไฟล์นี้มีข้อมูลบัญชีกลุ่มที่ปลอดภัย
ตรวจสอบไฟล์ด้านบนทั้งหมดโดยใช้ไฟล์ cat คำสั่ง
ตารางต่อไปนี้แสดงรายการคำสั่งที่พร้อมใช้งานในระบบ Unix ส่วนใหญ่เพื่อสร้างและจัดการบัญชีและกลุ่ม -
ซีเนียร์ | คำสั่งและคำอธิบาย |
---|---|
1 | useradd เพิ่มบัญชีในระบบ |
2 | usermod แก้ไขแอตทริบิวต์ของบัญชี |
3 | userdel ลบบัญชีออกจากระบบ |
4 | groupadd เพิ่มกลุ่มในระบบ |
5 | groupmod แก้ไขแอตทริบิวต์ของกลุ่ม |
6 | groupdel ลบกลุ่มออกจากระบบ |
คุณสามารถใช้Manpage Helpเพื่อตรวจสอบไวยากรณ์ที่สมบูรณ์สำหรับแต่ละคำสั่งที่กล่าวถึงที่นี่
สร้างกลุ่ม
ตอนนี้เราจะเข้าใจวิธีสร้างกลุ่ม สำหรับสิ่งนี้เราจำเป็นต้องสร้างกลุ่มก่อนที่จะสร้างบัญชีมิฉะนั้นเราสามารถใช้ประโยชน์จากกลุ่มที่มีอยู่ในระบบของเราได้ เรามีกลุ่มทั้งหมดที่ระบุไว้ใน/etc/groups ไฟล์.
กลุ่มเริ่มต้นทั้งหมดเป็นกลุ่มเฉพาะของบัญชีระบบและไม่แนะนำให้ใช้กับบัญชีธรรมดา ดังนั้นต่อไปนี้เป็นไวยากรณ์ในการสร้างบัญชีกลุ่มใหม่ -
groupadd [-g gid [-o]] [-r] [-f] groupname
ตารางต่อไปนี้แสดงรายการพารามิเตอร์ -
ซีเนียร์ | ตัวเลือกและคำอธิบาย |
---|---|
1 | -g GID ค่าตัวเลขของ ID ของกลุ่ม |
2 | -o ตัวเลือกนี้อนุญาตให้เพิ่มกลุ่มด้วย GID ที่ไม่ซ้ำกัน |
3 | -r แฟล็กนี้สั่ง groupadd เพื่อเพิ่มบัญชีระบบ |
4 | -f ตัวเลือกนี้ทำให้ออกจากสถานะสำเร็จหากมีกลุ่มที่ระบุอยู่แล้ว ด้วย -g หากมี GID ที่ระบุอยู่แล้วจะมีการเลือก GID อื่น ๆ (เฉพาะ) |
5 | groupname ชื่อกลุ่มจริงที่จะสร้าง |
หากคุณไม่ได้ระบุพารามิเตอร์ใด ๆ ระบบจะใช้ค่าเริ่มต้น
ตัวอย่างต่อไปนี้สร้างกลุ่มนักพัฒนาที่มีค่าเริ่มต้นซึ่งเป็นที่ยอมรับสำหรับผู้ดูแลระบบส่วนใหญ่
$ groupadd developers
ปรับเปลี่ยนกลุ่ม
หากต้องการแก้ไขกลุ่มให้ใช้ไฟล์ groupmod ไวยากรณ์ -
$ groupmod -n new_modified_group_name old_group_name
ในการเปลี่ยนชื่อกลุ่ม developer_2 เป็น developer ให้พิมพ์ -
$ groupmod -n developer developer_2
นี่คือวิธีที่คุณจะเปลี่ยน GID ทางการเงินเป็น 545 -
$ groupmod -g 545 developer
ลบกลุ่ม
ตอนนี้เราจะเข้าใจวิธีการลบกลุ่ม ในการลบกลุ่มที่มีอยู่สิ่งที่คุณต้องมีคือgroupdel command และ group name. ในการลบกลุ่มการเงินคำสั่งคือ -
$ groupdel developer
ซึ่งจะลบเฉพาะกลุ่มเท่านั้นไม่ใช่ไฟล์ที่เกี่ยวข้องกับกลุ่มนั้น ไฟล์ยังคงสามารถเข้าถึงได้โดยเจ้าของไฟล์
สร้างบัญชี
ให้เราดูวิธีสร้างบัญชีใหม่ในระบบ Unix ของคุณ ต่อไปนี้เป็นไวยากรณ์ในการสร้างบัญชีของผู้ใช้ -
useradd -d homedir -g groupname -m -s shell -u userid accountname
ตารางต่อไปนี้แสดงรายการพารามิเตอร์ -
ซีเนียร์ | ตัวเลือกและคำอธิบาย |
---|---|
1 | -d homedir ระบุโฮมไดเร็กทอรีสำหรับบัญชี |
2 | -g groupname ระบุบัญชีกลุ่มสำหรับบัญชีนี้ |
3 | -m สร้างโฮมไดเร็กทอรีหากไม่มีอยู่ |
4 | -s shell ระบุเชลล์เริ่มต้นสำหรับบัญชีนี้ |
5 | -u userid คุณสามารถระบุรหัสผู้ใช้สำหรับบัญชีนี้ |
6 | accountname ชื่อบัญชีจริงที่จะสร้าง |
หากคุณไม่ได้ระบุพารามิเตอร์ใด ๆ ระบบจะใช้ค่าเริ่มต้น useradd คำสั่งปรับเปลี่ยน /etc/passwd, /etc/shadowและ /etc/group ไฟล์และสร้างโฮมไดเร็กทอรี
ต่อไปนี้เป็นตัวอย่างที่สร้างบัญชี mcmohdตั้งค่าโฮมไดเร็กทอรีเป็น /home/mcmohd และกลุ่มเป็น developers. ผู้ใช้รายนี้จะกำหนด Korn Shell ให้
$ useradd -d /home/mcmohd -g developers -s /bin/ksh mcmohd
ก่อนที่จะออกคำสั่งด้านบนตรวจสอบให้แน่ใจว่าคุณได้สร้างกลุ่มนักพัฒนาโดยใช้ไฟล์groupadd คำสั่ง
เมื่อสร้างบัญชีแล้วคุณสามารถตั้งรหัสผ่านโดยใช้ไฟล์ passwd คำสั่งดังนี้ -
$ passwd mcmohd20
Changing password for user mcmohd20.
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
เมื่อคุณพิมพ์ passwd accountnameมันให้ตัวเลือกในการเปลี่ยนรหัสผ่านหากคุณเป็น superuser มิฉะนั้นคุณสามารถเปลี่ยนเพียงรหัสผ่านของคุณโดยใช้คำสั่งเดียวกัน แต่ไม่ต้องระบุชื่อบัญชีของคุณ
แก้ไขบัญชี
usermodคำสั่งช่วยให้คุณสามารถเปลี่ยนแปลงบัญชีที่มีอยู่ได้จากบรรทัดคำสั่ง มันใช้อาร์กิวเมนต์เดียวกับuseradd คำสั่งบวกอาร์กิวเมนต์ -l ซึ่งอนุญาตให้คุณเปลี่ยนชื่อบัญชี
ตัวอย่างเช่นในการเปลี่ยนชื่อบัญชี mcmohd ถึง mcmohd20 และหากต้องการเปลี่ยนโฮมไดเร็กทอรีคุณจะต้องออกคำสั่งต่อไปนี้ -
$ usermod -d /home/mcmohd20 -m -l mcmohd mcmohd20
ลบบัญชี
userdelคำสั่งสามารถใช้เพื่อลบผู้ใช้ที่มีอยู่ นี่เป็นคำสั่งที่อันตรายมากหากไม่ใช้ด้วยความระมัดระวัง
มีอาร์กิวเมนต์หรืออ็อพชันเดียวที่ใช้ได้สำหรับคำสั่ง .rสำหรับการลบโฮมไดเร็กทอรีและไฟล์เมลของบัญชี
ตัวอย่างเช่นหากต้องการลบบัญชีmcmohd20ให้ใช้คำสั่งต่อไปนี้ -
$ userdel -r mcmohd20
หากคุณต้องการเก็บโฮมไดเร็กทอรีไว้เพื่อวัตถุประสงค์ในการสำรองข้อมูลให้ละเว้นไฟล์ -rตัวเลือก คุณสามารถลบโฮมไดเร็กทอรีได้ตามต้องการในภายหลัง