私のサーバーは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
ForceCommand
Subsystem
or inを使って何かをすることもできますsshd_config
。sftp
ログインシェルでハンドラの実行をラップできます。
(実際にはこれをお勧めしません。単純に保ち、標準のロギング機能を使用することをお勧めします。)