การจัดการผู้ใช้และกลุ่ม
เพิ่ม ลบ และตรวจสอบผู้ใช้กับกลุ่ม กำหนดค่า 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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- สิทธิ์และความเป็นเจ้าของไฟล์
- การจัดการผู้ใช้และกลุ่ม
- การเสริมความปลอดภัย SSH และการยืนยันตัวตนด้วยคีย์
- กฎไฟร์วอลล์ iptables และ UFW