ค้นหาเว็บไซต์

วิธีบล็อกหรือปิดการใช้งานการเข้าสู่ระบบของผู้ใช้ปกติใน Linux


ในฐานะผู้ดูแลระบบ คุณจะต้องดำเนินการบำรุงรักษาระบบตามกำหนดเวลาอย่างหลีกเลี่ยงไม่ได้ในบางจุด ในบางครั้ง ระบบของคุณอาจประสบปัญหาบางอย่าง และคุณจะถูกบังคับให้วางระบบลงเพื่อแก้ไขปัญหา ไม่ว่าสถานการณ์จะเป็นอย่างไร เป็นความคิดที่ดีที่จะป้องกันไม่ให้ผู้ใช้ที่ไม่ใช่รูท (ปกติ) เชื่อมต่อกับระบบ

อ่านเพิ่มเติม: ปิดใช้งานหรือเปิดใช้งานการเข้าสู่ระบบรูท SSH และจำกัดการเข้าถึง SSH ใน Linux

ในบทความนี้ เราจะอธิบายวิธีการบล็อกการเข้าสู่ระบบของผู้ใช้ที่ไม่ใช่รูทโดยใช้ไฟล์ /etc/nologin รวมถึงเชลล์ nologin ใน Linux เราจะดูวิธีตั้งค่าข้อความที่อธิบายให้ผู้ใช้ทราบว่าเกิดอะไรขึ้นจริง

วิธีบล็อกการเข้าสู่ระบบของผู้ใช้โดยใช้ไฟล์ /etc/nologin

ฟังก์ชันหลักของไฟล์ /etc/nologin คือการแสดงข้อความ (จัดเก็บไว้ในไฟล์) ให้กับผู้ใช้ที่พยายามเข้าสู่ระบบในระหว่างกระบวนการปิดระบบ

เมื่อข้อความแสดงต่อผู้ใช้แล้ว ขั้นตอนการเข้าสู่ระบบจะสิ้นสุดลง ป้องกันไม่ให้ผู้ใช้เข้าสู่ระบบ

ซึ่งสามารถใช้เพื่อบล็อกการเข้าสู่ระบบของผู้ใช้โดยการสร้างไฟล์ด้วยตนเองดังนี้

vi /etc/nologin

เพิ่มข้อความด้านล่างลงในไฟล์ ซึ่งจะแสดงต่อผู้ใช้ที่พยายามเข้าสู่ระบบ

The Server is down for a routine maintenance. We apologize for any inconvenience caused, the system will be up and running in 1 hours time. For more information, contact the system admin [email . 

ตอนนี้คุณสามารถทดสอบได้ว่าทุกอย่างใช้งานได้หรือไม่ ดังที่คุณเห็นจากภาพหน้าจอด้านล่าง ผู้ใช้ปกติ tecmint ไม่สามารถเข้าสู่ระบบได้

วิธีบล็อกการเข้าสู่ระบบของผู้ใช้โดยใช้ nologin Shell

วิธีการนี้ทำงานแตกต่างออกไปเล็กน้อย: เพียงบล็อกผู้ใช้ไม่ให้เข้าถึงเชลล์เท่านั้น แต่เขาหรือเธอสามารถเข้าสู่ระบบผ่านโปรแกรมเช่น ftp ที่ไม่จำเป็นต้องมีเชลล์เพื่อให้ผู้ใช้เชื่อมต่อกับระบบ

นอกจากนี้ยังช่วยให้คุณสามารถบล็อกการเข้าถึงเชลล์สำหรับผู้ใช้เฉพาะในสถานการณ์พิเศษได้

บน RHEL/CentOS/Fedora

เพียงใช้คำสั่ง chsh (change shell) เพื่อเปลี่ยนเชลล์ผู้ใช้ในไฟล์ /etc/passwd จากสิ่งที่ต้องการ เช่น /bin/bash หรือ /bin/sh เป็น /sbin/nologin หมายถึงปฏิเสธการเข้าสู่ระบบ

chsh -s /bin/nologin tecmint

บนเดเบียน/อูบุนตู

ที่นี่ คุณต้องใช้ไฟล์ /bin/false คำสั่งด้านล่างเปลี่ยนเชลล์ tecmint's ของผู้ใช้เป็น /bin/false ซึ่งหมายความว่าไม่ต้องทำอะไรเลย (หลังจากที่ผู้ใช้ให้ข้อมูลรับรองการเข้าสู่ระบบแล้ว):

sudo chsh -s /bin/false tecmint

คุณอาจต้องการอ่านบทความที่เกี่ยวข้องต่อไปนี้

  1. วิธีเปิดใช้งานและปิดใช้งานการเข้าสู่ระบบรูทใน Ubuntu
  2. การรีเซ็ต/การกู้คืนรหัสผ่านบัญชีผู้ใช้รูทที่ถูกลืมใน RHEL/CentOS 7
  3. วิธีจำกัดผู้ใช้ SFTP ไว้ที่โฮมไดเร็กทอรีโดยใช้ chroot Jail
  4. วิธีการตั้งค่าและยกเลิกการตั้งค่าตัวแปรสภาพแวดล้อมภายใน ผู้ใช้ และระบบใน Linux

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