ผู้ดูแลระบบ 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]#