How to broadcast a message to all users and direct message to some user

Broadcast a message
เมื่อ Admin ต้องการส่งข้อความไปหาทุกคนที่กำลัง login อยู่ในระบบ (text mode) ก็มีหลายทางเลือกให้ใช้งาน และในบทความนี้ ผมจะเสนอวิธีการส่งข้อความไปหา user อื่น ง่ายๆ โดยแบ่งรูปแบบการส่งออกเป็น 2 วิธี ด้วยกัน คือ การส่งข้อความแบบ broadcast message (ส่งไปทุก user ที่ login อยู่) และการส่งข้อความตรงไปยัง user ที่ต้องการ ซึ่งทั้ง 2 วิธีสามารถทำตามวิธีข้างล่างได้ดังนี้

  1. การส่งข้อความแบบ broadcast message (ส่งไปทุก user ที่ login อยู่)

    การส่งข้อความแบบ broadcast เราจะใช้คำสั่ง “wall” ซึ่งเป็นคำสั่งที่เอาไว้ส่งข้อความแบบ broadcast และจะใช้คำสั่ง “echo” เพื่อใช้ print ข้อความที่ต้องการ
    รูปแบบคำสั่ง

    [user1Ezylinux ~]$ echo -e "Text for send" | wall

    ข้อความที่ user ทุกคนจะได้รับ

    Broadcast message from user1@ezylinux.com (Mon Nov 14 21:13:06 2011):
    
    Text for send
    

    หากต้องการส่งข้อความแบบมีการขึ้นบรรทัดให้ให้เพิ่ม “\n” เข้าไปยังข้อความสุดท้ายของบรรทัด

    ตัวอย่าง

    [user1Ezylinux ~]$ echo -e 'Message1 \nMessage2' |wall
    
    Broadcast message from user1@ezylinux.com (Mon Nov 14 21:13:18 2011):
    
    Message1
    Message2
    
  2. การส่งข้อความตรงไปยัง user ที่ต้องการ
    วิธีการนี้เราจำเป็นต้องรู้ก่อนว่า user ที่เราต้องการส่งข้อความหา login อยู่ที่ TTY อะไร โดยใช้คำสั่ง “w”

    [user1Ezylinux ~]$ w
     21:50:47 up 58 days, 21:27,  3 users,  load average: 0.00, 0.00, 0.00
    USER      TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
    user1     pts/1    56.7.8.8         20:57    0.00s  0.04s  0.00s w
    user2     pts/2    56.7.8.9         20:57   37:29   0.00s  0.00s -bash
    user3     pts/3    56.7.8.10        21:13   26:25   0.00s  0.01s sshd: user3 [priv]
    

    หลังจากนั้นให้เราดูที่ TTY เพื่อดูว่า user ที่ต้องการส่งหาอยู่ที่ pts หรือ tty ไหน และใช้คำสั่ง “echo” เพื่อส่งข้อมูลไปยัง /dev/pts/n โดยที่ n คือหมายเลขของ terminal

    ตัวอย่างเช่น ผมคือ user1 ต้องการส่งจะส่งข้อความ “Message1 ไปหา user2 โดยตรง ซึ่งผลลัพธ์จากคำสั่ง “w” ทำให้รู้ว่า user2 มี TTY เป็น pts/2 ดังนั้น สามารถใช้คำสั่งได้ดังนี้

    [user1Ezylinux ~]$ echo -e "\nMessage1" > /dev/pts/2
    

    user2 จะได้รับข้อความดังนี้

    [user2Ezylinux ~]$
    Message1
    

Related posts:

  1. Restrict some users to sending mail only to internal domain Postfix คือ MTA ที่มีความยืดหยุ่นในการใช้งานที่สูงมาก เราสามารถแก้ไขและปรับแต่งค่าได้ตามที่ต้องการ อย่างเช่นในบทความนี้ จะมาพูดถึง วิธีการกำหนดขอบเขตการส่ง...
  2. Linux last command – แสดงรายชื่อ user ที่ login เข้าสู่ระบบ ถ้าหากต้องการตรวจสอบรายละเอียดของการ login เข้าสู่ระบบ คุณจะนึกถึงอะไรเป็นอันดับแรก หลายคนคงตอบว่าให้เข้าไปดูที่ “/var/log/secure” สิ เพราะว่ามันเก็บประวัติการ...
  3. Force users to change their passwords upon the first login ในระบบปฏิบัติการ windows สามารถที่จะเซ็ตให้มีการเปลี่ยน password ใหม่เมื่อมีการ login เข้าสู่ระบบ ซึ่ง...
  4. Disable the auto complete feature of the BASH shell ข้อดีของ bash shell อีกข้อหนึ่งคือ feature auto complete ซึ่งจะทำให้เราไม่ต้องพิมพ์ตัวอักษรทั้งหมด...
  5. Setup SSH to disable direct root login. การป้องกันไม่ให้ ssh เข้าเครื่องโดย Login เป็น root สามารถแก้ไขที่ไฟล์ #vi...

You can skip to the end and leave a response. Pinging is currently not allowed.

Leave a Reply