mesgと同等のchmodは何ですか

mesgと同等のchmodは何ですか

chmodに該当するものは何ですか?mesg ymesg n

ベストアンサー1

注:JdeBPでコメントとして指摘するmesg、withの動作を再現するのは簡単ではありませんchmod

POSIX仕様の基本セクションmesg説明する

変更された端末mesgは、セッションの制御端末ではなく、標準の入力、出力、またはエラーに関連する端末です。。これは、複数回ログインしているユーザーがそのセッションで実行されているタスクを停止せずにログイン端末を変更できる必要があるためです。他のユーザーのエンドポイントに影響を与えるには適切な権限が必要なため、これは他のユーザーのエンドポイントに関連するセキュリティ上の問題ではありません。

端末が見つかるまで、最初の3つのファイル記述子を順番に確認する方法は、System Vから使用されました。

素朴なアプローチmesgこれは、シェルの制御端末(現在の対話型シェルの標準入力に接続されているデバイス)で権限の変更を表示するために使用されます。

シェルの制御端末はコマンドによって返されますtty。デバイスに対する権限が何をしているのかを判断するには、mesg n次のように変更を確認できます。mesg yls -l

$ ls -l "$(tty)"
crw--w----  1 myself  tty    5,   1 May  6 00:21 /dev/ttyp1

$ mesg n
$ ls -l "$(tty)"
crw-------  1 myself  tty    5,   1 May  6 00:21 /dev/ttyp1

$ mesg y
$ ls -l "$(tty)"
crw--w----  1 myself  tty    5,   1 May  6 00:21 /dev/ttyp1

mesg nしたがって、デバイスに対するグループ書き込み権限が削除され(rw--w----に変更されたrw-------mesg y、グループ書き込み権限が再び追加されたように見えます。

chmod私の場合は、次のようになります。

$ chmod g-w "$(tty)"     # for "mesg n"
$ chmod g+w "$(tty)"     # for "mesg y"

Unixの好みに合わせて塩とコショウを追加します。

ただし、シェルの標準入力が端末でない場合、tty文字列が返されnot a tty失敗chmodします。この場合、mesg端末デバイスを使用してシェルの標準出力を取得し、標準エラー(順番に)を取得しようとし続けます。だから上記の内容は子供のような方法。

おすすめ記事