0Pricing
Cyber Security Academy · บทเรียน

การจัดการผู้ใช้และกลุ่ม

เพิ่ม ลบ และตรวจสอบผู้ใช้กับกลุ่ม กำหนดค่า sudo และใช้หลักสิทธิ์เท่าที่จำเป็น

การจัดการผู้ใช้และกลุ่ม เป็นบทเรียน Cyber Security Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Cyber Security Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Cyber Security Academy มีบทเรียนทั้งหมด 4 บทเรียน

โมเดลผู้ใช้ของ Linux

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

ไฟล์ /etc/passwd

/etc/passwd ใช้จัดเก็บข้อมูลบัญชีผู้ใช้ ได้แก่ ชื่อผู้ใช้ UID, GID, ไดเรกทอรีบ้าน และเชลล์ รหัสผ่านจะถูกจัดเก็บเป็นแฮชใน /etc/shadow ซึ่งอ่านได้เฉพาะ root

cat /etc/passwd
# format: username:x:UID:GID:comment:home:shell

การสร้างและจัดการผู้ใช้

คำสั่งสำคัญ:

useradd -m -s /bin/bash alice   # create user with home dir
passwd alice                    # set password
usermod -aG sudo alice          # add to sudo group
userdel -r alice                # delete user and home dir

กลุ่มและการควบคุมการเข้าถึง

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

groupadd developers
usermod -aG developers bob
id bob                          # show UID, GID, groups

ไฟล์ /etc/shadow

/etc/shadow มีรหัสผ่านแบบแฮชและข้อมูลอายุการใช้งานรหัสผ่าน เฉพาะ root เท่านั้นที่อ่านได้ รูปแบบแฮชคือ $id$salt$hash โดย id จะระบุอัลกอริทึม (6=SHA-512, 2y=bcrypt)

sudo cat /etc/shadow
# $6$salt$hash = SHA-512

หลักสิทธิ์น้อยที่สุด

ผู้ใช้และบริการแต่ละรายการควรทำงานด้วยสิทธิ์ขั้นต่ำเท่าที่จำเป็นเท่านั้น อย่าเรียกใช้แอปพลิเคชันในฐานะ root เว้นแต่จำเป็นอย่างยิ่ง ใช้บัญชีบริการเฉพาะที่ไม่มีเชลล์สำหรับเข้าสู่ระบบและมีไดเรกทอรีบ้านที่จำกัดสิทธิ์

sudo เทียบกับ su

sudo ใช้เรียกใช้คำสั่งเดียวด้วยสิทธิ์ที่สูงขึ้น พร้อมบันทึกการดำเนินการนั้น ส่วน su จะเปลี่ยนไปเป็นผู้ใช้อื่น (โดยปกติคือ root) ตลอดทั้งช่วงการใช้งาน ควรเลือกใช้ sudo เพื่อให้ตรวจสอบย้อนหลังได้ — คำสั่งที่ใช้สิทธิ์สูงขึ้นทุกคำสั่งจะถูกบันทึกไว้ใน /var/log/auth.log

sudo apt update              # single command as root
sudo -u postgres psql        # run as specific service user
su - alice                   # switch to alice (full login)

การกำหนดค่า Sudoers

ไฟล์ /etc/sudoers (แก้ไขด้วย visudo) จะควบคุมว่าผู้ใช้ใดสามารถเรียกใช้คำสั่งใดในฐานะ root ได้ ควรมอบสิทธิ์อย่างละเอียดแทนการให้ sudo ทั้งหมด ตัวอย่างเช่น อนุญาตให้ผู้ใช้ deploy เริ่มการทำงานของ nginx ใหม่ได้เท่านั้น

visudo
# deploy ALL=(ALL) NOPASSWD: /bin/systemctl restart nginx

การล็อกและหมดอายุบัญชี

ปิดใช้งานบัญชีที่ไม่ได้ใช้แทนการลบบัญชี เพื่อเก็บรักษาประวัติการตรวจสอบ:

passwd -l alice              # lock account
usermod -e 2024-12-31 alice  # set expiry date
chage -l alice               # view password aging info

บัญชีบริการ

แอปพลิเคชันควรทำงานภายใต้บัญชีบริการเฉพาะที่มีคุณสมบัติดังนี้: ไม่มีเชลล์สำหรับเข้าสู่ระบบแบบโต้ตอบ (/usr/sbin/nologin) ไม่มีสิทธิ์เขียนในไดเรกทอรีบ้าน และเป็นสมาชิกของกลุ่มเท่าที่จำเป็น อย่าเรียกใช้เว็บเซิร์ฟเวอร์หรือฐานข้อมูลในฐานะ root

การตรวจสอบกิจกรรมของผู้ใช้

ตรวจสอบการดำเนินการของผู้ใช้ผ่านบันทึก:

last                        # recent logins
lastb                       # failed login attempts
journalctl _UID=1000        # journal entries for UID 1000
grep sudo /var/log/auth.log # sudo usage

ตรวจสอบความเข้าใจ: การจัดการผู้ใช้

ไฟล์ใดเก็บรหัสผ่านแบบแฮชใน Linux และอ่านได้เฉพาะ root

ทบทวนบทเรียน

การจัดการผู้ใช้และกลุ่มของ Linux ควบคุมการเข้าถึงผ่าน UID, GID และการเป็นสมาชิกกลุ่ม ใช้ useradd, usermod, groupadd ปฏิบัติตามหลักสิทธิ์น้อยที่สุด โดยใช้บัญชีบริการที่ไม่มีเชลล์สำหรับเข้าสู่ระบบ ใช้ sudo แทน su เพื่อให้ตรวจสอบย้อนหลังได้ ตรวจสอบ /var/log/auth.log เพื่อค้นหากิจกรรมที่น่าสงสัย

คำถามที่พบบ่อย

บทเรียน “การจัดการผู้ใช้และกลุ่ม” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “การจัดการผู้ใช้และกลุ่ม” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Cyber Security Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Cyber Security Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “การจัดการผู้ใช้และกลุ่ม”

เพิ่ม ลบ และตรวจสอบผู้ใช้กับกลุ่ม กำหนดค่า sudo และใช้หลักสิทธิ์เท่าที่จำเป็น คุณปฏิบัติ Cyber Security Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Cyber Security Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Cyber Security Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน

บทเรียน “การจัดการผู้ใช้และกลุ่ม” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Cyber Security Academy นี้ได้ไหม

ได้ บทเรียน Cyber Security Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. สิทธิ์และความเป็นเจ้าของไฟล์
  2. การจัดการผู้ใช้และกลุ่ม
  3. การเสริมความปลอดภัย SSH และการยืนยันตัวตนด้วยคีย์
  4. กฎไฟร์วอลล์ iptables และ UFW
← กลับไปที่ Cyber Security Academy