wall または write のいずれかを使用してメッセージを送信しようとしています。これをテストするために、gnome-terminal ウィンドウを 2 つ開きました。次に、1 つのウィンドウに次のように入力しました。
me@host>>wall
message to everyone
<ctrl> + d
メッセージを書き終えたとき、 (ctrl-d) で割り込み信号EOF 文字を送信しました。メッセージを送信する代わりに、無効な入力をしたかのように端末からビープ音が鳴りました。write でも同様の動作になります。何が間違っているのか、どなたか教えていただけませんか?
編集: 権限情報は次のとおりです:
me@host>>ls -l $(type -p wall)
-rwxr-sr-x 1 root tty 27368 May 26 18:31 /usr/bin/wall
答え1
wall
Debian(およびUbuntu)では、との両方write
がsetgid(グループIDの設定)特権をtty
グループを作成して、それらのプログラムが他のユーザーの端末に書き込むことを許可します。
ただし、共有コンピュータシステムの管理者がこの機能を無効にすることはよくあります。権限を確認するには、
ls -lL /usr/bin/write /usr/bin/wall
通常のシステムでは次のように表示されます (日付は関係ありません)。
$ ls -lL /usr/bin/write /usr/bin/wall
-rwxr-sr-x 1 root tty 23056 Dec 11 2012 /usr/bin/wall
-rwxr-sr-x 1 root tty 14624 Jun 11 2012 /usr/bin/write
のs
最初のフィールド-rwxr-sr-x
はsetgidビットで、4番目のフィールドはグループですtty
機能を動作させるには、両方 (または同等のグループ) が必要です。
権限以外にも、gnome-terminalを使用する際に遭遇する別の側面があります。wall
そして、write
メッセージを送信します。ログインしたユーザー. その情報は utmp データ ファイルから取得されますが、gnome-terminal ではサポートされていません。
参考文献: