1

私はシステム管理者です。システムのユーザーは、プログラムをバックグラウンドで実行するために screen を使用します。ただし、ユーザー プログラムの実行中に画面のモードを 700 または 777 に変更すると、プログラムが停止することがあります。ユーザーが実行するとき

      screen -r process_id

次に、プロセスを再開できないことを示します。screen を 777 および 700 に chmod した後でもプログラムが停止しないように、ユーザーがプログラムを実行する方法について誰かがガイドできますか。

4

1 に答える 1

6

テストしたところ、画面上のデフォルトの権限は

-rwxr-sr-x 1 root utmp 421640 Sep 16  2012 /usr/bin/screen

したがって、実行すると明らかです:

root@system:~# chmod 777 /usr/bin/screen

あれは。。。になる:

-rwxrwxrwx 1 root utmp 421640 Sep 16  2012 /usr/bin/screen

これにより、実行可能ファイルから SGID ビットが削除されます。その重要性については、http: //en.wikipedia.org/wiki/Setuidで説明しています。Utmp についてはこちらで説明しています: http://en.wikipedia.org/wiki/Utmp

つまり、画面上の SGID ビットを設定解除しているため、UTMP は画面の実行可能ファイルに対するアクセス許可を失い、それによって画面セッションを追跡できなくなります。

元のアクセス許可に戻すには、次を実行できます。

root@system:~# chmod 2755 /usr/bin/screen

最後に一言: システムの実行可能ファイルのパーミッションは、影響を知らずに変更しないでください。 変更がシステムに与える影響を理解するために、ダミー/テスト マシンでこれらのことをいつでも試すことができます。

于 2013-05-03T17:03:28.767 に答える