ตั้งเวลา logout ออกจาก bash shell โดยอัตโนมัติ

ในหลายครั้งเมื่อมีโอกาสใช้หน้าจอคอนโซลของลีนุกซ์ พบว่ามีการล็อกอินทิ้งไว้ ซึ่งค่อนข้างเป็นอันตรายโดยเฉพาะอย่างยิ่งหากล็อกด้วย  root ทิ้งไว้

เพื่อความปลอดภัยของเครื่อง แนะนำให้ตั้งเวลาไว้ ว่าถ้าไม่มีการใช้งานภายในเวลาที่กำหนด ให้ logout ออกโดยอัตโนมัติ

วิธีการตั้งค่าเวลา auto logout ในที่นี้ เป็นการตั้งค่าตัวแปร TMOUT ซึ่งจะมีผลเฉพาะล็อกอินแล้วใช้ BASH เป็น shell เท่านั้น ซึ่งลีนุกซ์ส่วนใหญ่จะใช้ shell นี้เป็นดีฟอลต์อยู่แล้ว

พิมพ์คำสั่ง set จะแสดงข้อมูล shell ที่ใช้อยู่

เริ่มทดสอบด้วยการล็อกอิน user อะไรก็ได้ แล้วตั้งค่าตัวแปร TMOUT เท่ากับเวลาเป็นวินาทีที่ต้องการให้ auto logout เช่น

[root@cent63 ~]# TMOUT=60

หมายเหตุ การตั้งค่าตัวแปรใน bash ต้องพิมพ์ชื่อตัวแปร (ไม่ต้องมีเครื่องหมาย $ นำหน้า) เครื่องหมายเท่ากับ และค่าที่กำหนด ติดกันทั้งหมด โดยไม่มีเว้นวรรค

แล้วปล่อยให้เวลาผ่านไป โดยไม่พิมพ์อะไรบนหน้าจอ เมื่อถึงเวลาที่ตั้งไว้ ระบบก็จะ auto logout

หลังทดสอบเป็นที่น่าพอใจ  หากต้องการให้มีผลกับทุก user ที่ล็อกอิน ไม่ว่าจะทางคอนโซลหรือผ่านทาง ssh เข้ามา ทำได้โดยตั้งค่าไว้ใน /etc/profile หรือสร้างเป็นไฟล์ย่อยๆ ในไดเร็คทอรี /etc/profile.d/ ซึ่งขอแนะนำวิธีหลัง

สร้างไฟล์สำหรับตั้งค่า auto logout เช่นต้องการให้ auto logout ภายใน 15 นาที (900 วินาที)

[root@cent63 ~]# vi /etc/profile.d/autologout.sh
TMOUT=900

ข้อมูลอ้างอิง

  • man bash

Leave a Reply