0

すべてのssh接続には、/dev/ttyp1 /dev/ttyp2などのように設定された関連する疑似端末があります。

一部のコード パスの openssh では、/dev/ttyp2 権限がcrw-rw-rw-(デフォルト) からcrwx-w----(接続セットアップ後) に変更されます。

opensshでこれを行うコードセクションを確認する方法はありますか? gdbデバッガーを使用している可能性があります。特定のファイルのアクセス許可を「監視」できる方法はありますか?

openssh の一部の関数ではsession *s、引数としてs->ttyが設定されており、その時までに perms には実行ビットが設定され/dev/ttyp2ていません。'x'しかし、接続が完全にセットアップされると、/dev/ttyp2 に「x」ビットが設定されます。

変数のアドレスを監視しようとしましs->ttyたが、役に立ちません。

何か案は?

4

1 に答える 1

0

openssh/sshpty.c には、セッションに割り当てられた tty デバイスで実際に chmod を実行する関数 pty_setowner() が存在します。

私が直面した問題は、chmod が tty dev ファイルで失敗し、tty dev ファイルが実行許可を取得していないため、端末にログが出力されないことでした。

とにかく、ありがとう。

于 2012-10-09T11:09:06.150 に答える