2015-03-18

Ubuntu Linux 用指令發送訊息給使用者 (2/3)

阿舍上一篇介紹的是發送訊息給所有的線上使用者的方法,而接下來的二篇就要介紹如何發送訊息給個別的線上使用者的方式,而這篇要介紹的,是怎麼發送訊息給同一個使用者帳號的個別連線,疑 ? ... 阿舍 ! 同一個使用者的不同連線為什麼還要互相傳訊息呢 ? 喔 ! 這個 ... 就有二種的可能哩 !



一種狀況是同一個使用者開了很多的終端機來連線,然後,為了在不同的連線間傳資料,用訊息的方式來傳會比較簡單和快一點,而另一種情況,則是多人共用同一個帳號的情況下,彼此需要傳送訊息的時候,不過,共用帳號的情況其實也有二種,一種是你知道,另一種是你根本不知道哩 ! 然後,有一天你發現多一個你的帳號也在線上的時候,就可以用這篇提到的方式來通知他,說你發現他了 ... 呵呵 !

收到的訊息會直接出現在命令列

做法其實很容易,就是直接把要傳送給對方的訊息透過 echo 指令重導向到使用者連線的 tty 或 pts 上,這樣 echo 的字串就會出現在對方的畫面上了,舉例來說,阿舍先用 who 指令找出 arthurtoday 這個使用者的所有連線 ip 和使用的 pts 編號,然後,發現 pts/2 這個連線不是阿舍在用的,所以,就用 echo 指令把 "請不要再偷用我的帳號 !" 的訊息傳給使用 dev/pts/2 裝置的這位使用者哩 !

$ who | grep arthurtoday
arthurtoday tty1         2015-03-16 22:29
arthurtoday pts/0        2015-03-16 21:02 (192.168.1.101)
arthurtoday pts/2        2015-03-16 22:30 (192.168.1.102)

$ echo "請不要再偷用我的帳號 !" > /dev/pts/2

阿舍 ! 阿舍 ! 那我可以不可以用這種方式傳給其它的使用者哩 ? ... 呵呵 ! 阿舍心裡也是有這樣的想過,然後,就偷偷的試了一下,結果,答案是不行的,為什麼呢 ?  ... 原因是卡在權限,因為 tty 或 pts 裝置的權限是在連線的時候,就把所有權指定給登入的那個使用者,所以,其他人就無法對它有存取權限了,雖然,還是有一些些的方式可以做到,不過,那樣就有點本末倒置了,因此,這種方式還是用在同一個帳號的連線上會比較好哩 ! 至於要傳給其他的使用者的話,就請參考阿舍的下一篇的方法囉 ! .... ^^=


推薦閱讀


有疑問? 問題還是沒解決嗎? 歡迎下方留言提問和討論 😁

沒有留言 :

張貼留言

歡迎留言提問和討論 .... 😁