SFTP経由でログインしたユーザーは「w」には表示されません。

SFTP経由でログインしたユーザーは「w」には表示されません。

私のサーバーはCentos 5です。 sshd_configで次のようにchroot環境を設定しました。

Match group sftponly
    ForceCommand internal-sftp
    ChrootDirectory %h
    AllowTcpForwarding no
    PasswordAuthentication yes
Match

ユーザーが sftp を介して接続すると、/var/log/secure に次の行が追加されます。

Sep  3 15:30:20 servername sshd[26548]: pam_unix(sshd:session): session opened for user test by (uid=0)

ただし、次の実行時には存在しませんw

[root@servername home]# w
 15:30:47 up 156 days,  1:00,  3 users,  load average: 0.05, 0.18, 0.32
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
mike     pts/1    12.34.56.78      Fri16    0.00s  0.10s  0.03s sshd: mike [priv]

ただし、ユーザーがSSHを介して接続すると(上記のユーザーのように)存在します。これは標準的な行動ですか?

ベストアンサー1

man utmp:

utmpファイルを使用すると、現在システムを使用している人に関する情報を取得できます。すべてのプログラムがutmpロギングを使用しているわけではないため、現在このシステムを使用しているユーザーが多い可能性があります。

したがって、sshd接続を処理するときにutmpエントリを追加しないでください。インスタンスが対話型セッションではないscpため、これは正常に見えます。scp

ForceCommandSubsystemor inを使って何かをすることもできますsshd_configsftpログインシェルでハンドラの実行をラップできます。

(実際にはこれをお勧めしません。単純に保ち、標準のロギング機能を使用することをお勧めします。)

おすすめ記事