ผู้ดูแลระบบ Linux - การจัดการผู้ใช้
เมื่อพูดถึงการจัดการผู้ใช้เรามีคำศัพท์สำคัญสามคำที่ต้องทำความเข้าใจ -
- Users
- Groups
- Permissions
เราได้กล่าวถึงการอนุญาตในเชิงลึกที่ใช้กับไฟล์และโฟลเดอร์แล้ว ในบทนี้เราจะมาพูดถึงผู้ใช้และกลุ่ม
ผู้ใช้ CentOS
ใน CentOS มีบัญชีสองประเภท -
System accounts - ใช้สำหรับภูตหรือซอฟต์แวร์อื่น ๆ
Interactive accounts - โดยปกติจะกำหนดให้กับผู้ใช้เพื่อเข้าถึงทรัพยากรระบบ
ความแตกต่างหลักระหว่างผู้ใช้สองประเภทคือ -
System accountsถูกใช้โดย daemons เพื่อเข้าถึงไฟล์และไดเร็กทอรี โดยปกติสิ่งเหล่านี้จะไม่ได้รับอนุญาตจากการเข้าสู่ระบบแบบโต้ตอบผ่านเชลล์หรือการเข้าสู่ระบบคอนโซลจริง
Interactive accounts ถูกใช้โดยผู้ใช้ปลายทางเพื่อเข้าถึงทรัพยากรการประมวลผลจากเชลล์หรือล็อกอินฟิสิคัลคอนโซล
ด้วยความเข้าใจพื้นฐานของผู้ใช้ตอนนี้เรามาสร้างผู้ใช้ใหม่สำหรับ Bob Jones ในแผนกบัญชี มีการเพิ่มผู้ใช้ใหม่ด้วยไฟล์adduser คำสั่ง
ต่อไปนี้เป็นบางส่วน adduser สวิตช์ทั่วไป -
สวิตซ์ | หนังบู๊ |
---|---|
-ค | เพิ่มความคิดเห็นในบัญชีผู้ใช้ |
- ม | สร้างโฮมไดเร็กทอรีของผู้ใช้ในตำแหน่งเริ่มต้นหากไม่มีอยู่ |
- ก | กลุ่มเริ่มต้นเพื่อกำหนดผู้ใช้ |
- น | ไม่สร้างกลุ่มส่วนตัวสำหรับผู้ใช้โดยปกติจะเป็นกลุ่มที่มีชื่อผู้ใช้ |
- ม | ไม่สร้างโฮมไดเร็กทอรี |
- ส | เชลล์ดีฟอลต์นอกเหนือจาก / bin / bash |
-ยู | ระบุ UID (กำหนดโดยระบบ) |
- ก | กลุ่มเพิ่มเติมที่จะกำหนดให้ผู้ใช้ |
เมื่อสร้างผู้ใช้ใหม่ให้ใช้สวิตช์-c, -m, -g, -nดังนี้ -
[root@localhost Downloads]# useradd -c "Bob Jones Accounting Dept Manager"
-m -g accounting -n bjones
ตอนนี้เรามาดูกันว่าผู้ใช้ใหม่ของเราถูกสร้างขึ้นหรือไม่ -
[root@localhost Downloads]# id bjones
(bjones) gid = 1001(accounting) groups = 1001(accounting)
[root@localhost Downloads]# grep bjones /etc/passwd
bjones:x:1001:1001:Bob Jones Accounting Dept Manager:/home/bjones:/bin/bash
[root@localhost Downloads]#
ตอนนี้เราต้องเปิดใช้งานบัญชีใหม่โดยใช้คำสั่ง passwd -
[root@localhost Downloads]# passwd bjones
Changing password for user bjones.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
[root@localhost Downloads]#
บัญชีผู้ใช้ไม่ได้เปิดใช้งานเพื่อให้ผู้ใช้เข้าสู่ระบบ
ปิดการใช้งานบัญชีผู้ใช้
มีหลายวิธีในการปิดใช้งานบัญชีในระบบ ช่วงเหล่านี้มีตั้งแต่การแก้ไขไฟล์ / etc / passwd ด้วยมือ หรือแม้แต่การใช้คำสั่งpasswdกับไฟล์-lสวิตซ์. ทั้งสองวิธีนี้มีข้อเสียเปรียบใหญ่ประการหนึ่ง: หากผู้ใช้มีการเข้าถึงsshและใช้คีย์ RSA สำหรับการตรวจสอบสิทธิ์ผู้ใช้ยังสามารถเข้าสู่ระบบโดยใช้วิธีนี้ได้
ตอนนี้ให้ใช้คำสั่งchageเปลี่ยนวันหมดอายุของรหัสผ่านเป็นวันที่ก่อนหน้า นอกจากนี้คุณควรจดบันทึกไว้ในบัญชีถึงสาเหตุที่เราปิดใช้งาน
[root@localhost Downloads]# chage -E 2005-10-01 bjones
[root@localhost Downloads]# usermod -c "Disabled Account while Bob out of the country
for five months" bjones
[root@localhost Downloads]# grep bjones /etc/passwd
bjones:x:1001:1001:Disabled Account while Bob out of the country for four
months:/home/bjones:/bin/bash
[root@localhost Downloads]#
จัดการกลุ่ม
การจัดการกลุ่มใน Linux ทำให้สะดวกสำหรับผู้ดูแลระบบในการรวมผู้ใช้ภายในคอนเทนเนอร์โดยใช้ชุดสิทธิ์ที่เกี่ยวข้องกับสมาชิกกลุ่มทั้งหมด ตัวอย่างเช่นผู้ใช้ทั้งหมดในการบัญชีอาจต้องเข้าถึงไฟล์เดียวกัน ดังนั้นเราจึงสร้างกลุ่มบัญชีเพิ่มผู้ใช้บัญชี
โดยส่วนใหญ่สิ่งที่ต้องการการอนุญาตพิเศษควรทำในกลุ่ม วิธีนี้มักจะช่วยประหยัดเวลาในการใช้สิทธิ์พิเศษกับผู้ใช้เพียงคนเดียว ตัวอย่างเช่น Sally เป็นผู้รับผิดชอบรายงานและมีเพียง Sally เท่านั้นที่ต้องการเข้าถึงไฟล์บางไฟล์เพื่อการรายงาน อย่างไรก็ตามหากวันหนึ่งแซลลีป่วยและบ็อบรายงาน? หรือความจำเป็นในการรายงานเพิ่มขึ้น? เมื่อมีการสร้างกลุ่มผู้ดูแลระบบจะต้องทำเพียงครั้งเดียว ผู้ใช้ที่เพิ่มจะถูกนำไปใช้เมื่อความต้องการเปลี่ยนแปลงหรือขยาย
ต่อไปนี้เป็นคำสั่งทั่วไปที่ใช้สำหรับจัดการกลุ่ม -
- chgrp
- groupadd
- groups
- usermod
chgrp - เปลี่ยนความเป็นเจ้าของกลุ่มสำหรับไฟล์หรือไดเร็กทอรี
มาสร้างไดเร็กทอรีสำหรับคนในกลุ่มบัญชีเพื่อจัดเก็บไฟล์และสร้างไดเร็กทอรีสำหรับไฟล์
[root@localhost Downloads]# mkdir /home/accounting
[root@localhost Downloads]# ls -ld /home/accounting
drwxr-xr-x. 2 root root 6 Jan 13 10:18 /home/accounting
[root@localhost Downloads]#
ถัดไปขอให้กลุ่มเจ้าของไปยังบัญชีกลุ่ม
[root@localhost Downloads]# chgrp -v accounting /home/accounting/
changed group of ‘/home/accounting/’ from root to accounting
[root@localhost Downloads]# ls -ld /home/accounting/
drwxr-xr-x. 2 root accounting 6 Jan 13 10:18 /home/accounting/
[root@localhost Downloads]#
ตอนนี้ทุกคนในกลุ่มการบัญชีได้อ่านและดำเนินการอนุญาตไปที่/ home / Accountingแล้ว พวกเขาจะต้องมีสิทธิ์ในการเขียนเช่นกัน
[root@localhost Downloads]# chmod g+w /home/accounting/
[root@localhost Downloads]# ls -ld /home/accounting/
drwxrwxr-x. 2 root accounting 6 Jan 13 10:18 /home/accounting/
[root@localhost Downloads]#
เนื่องจากกลุ่มบัญชีอาจจัดการกับเอกสารสำคัญที่เราจำเป็นต้องใช้สิทธิ์ข้อ จำกัด บางอย่างสำหรับคนอื่น ๆหรือโลก
[root@localhost Downloads]# chmod o-rx /home/accounting/
[root@localhost Downloads]# ls -ld /home/accounting/
drwxrwx---. 2 root accounting 6 Jan 13 10:18 /home/accounting/
[root@localhost Downloads]#
groupadd - ใช้เพื่อสร้างกลุ่มใหม่
สวิตซ์ | หนังบู๊ |
---|---|
- ก | ระบุ GID สำหรับกลุ่ม |
-K | ลบล้างข้อกำหนดสำหรับ GID ใน /etc/login.defs |
-o | อนุญาตให้ลบล้างการไม่อนุญาตรหัสกลุ่มที่ไม่ซ้ำกัน |
-p | รหัสผ่านกลุ่มช่วยให้ผู้ใช้สามารถเปิดใช้งานตัวเองได้ |
มาสร้างกลุ่มใหม่ชื่อลับกันเถอะ เราจะเพิ่มรหัสผ่านให้กับกลุ่มเพื่อให้ผู้ใช้สามารถเพิ่มตัวเองด้วยรหัสผ่านที่ทราบ
[root@localhost]# groupadd secret
[root@localhost]# gpasswd secret
Changing the password for group secret
New Password:
Re-enter new password:
[root@localhost]# exit
exit
[centos@localhost ~]$ newgrp secret
Password:
[centos@localhost ~]$ groups
secret wheel rdc
[centos@localhost ~]$
ในทางปฏิบัติจะไม่ใช้รหัสผ่านสำหรับกลุ่มบ่อยๆ กลุ่มรองมีความเพียงพอและการแบ่งปันรหัสผ่านระหว่างผู้ใช้รายอื่นไม่ใช่แนวทางปฏิบัติด้านความปลอดภัยที่ดี
groupsคำสั่งใช้เพื่อแสดงว่าผู้ใช้อยู่ในกลุ่มใด เราจะใช้สิ่งนี้หลังจากทำการเปลี่ยนแปลงบางอย่างกับผู้ใช้ปัจจุบันของเรา
usermod ใช้เพื่ออัปเดตแอตทริบิวต์ของบัญชี
ต่อไปนี้เป็นสวิตช์usermodทั่วไป
สวิตซ์ | หนังบู๊ |
---|---|
- ก | ต่อท้ายเพิ่มผู้ใช้ในกลุ่มเสริมโดยใช้ตัวเลือก -G เท่านั้น |
-ค | แสดงความคิดเห็นปรับปรุงค่าความคิดเห็นของผู้ใช้ |
-d | โฮมไดเร็กทอรีอัพเดตโฮมไดเร็กทอรีของผู้ใช้ |
- ก | กลุ่มเพิ่มหรือลบกลุ่มผู้ใช้รอง |
- ก | กลุ่มกลุ่มหลักเริ่มต้นของผู้ใช้ |
[root@localhost]# groups centos
centos : accounting secret
[root@localhost]#
[root@localhost]# usermod -a -G wheel centos
[root@localhost]# groups centos
centos : accounting wheel secret
[root@localhost]#