O usuário logado pelo sftp não aparece em 'w'

4

Meu servidor é o Centos 5. Eu tenho um ambiente chroot configurado com o seguinte no meu sshd_config

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

Quando um usuário se conecta pelo sftp, uma linha é adicionada ao / var / log / secure:

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

No entanto, eles não estão presentes ao executar 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]

Mas quando os usuários se conectam por SSH (como o usuário acima), eles estão presentes. Esse comportamento é padrão?

    
por Mike 03.09.2011 / 21:59

1 resposta

3

man utmp :

The utmp file allows one to discover information about who is currently using the system. There may be more users currently using the system, because not all programs use utmp logging.

Portanto, deve ser que sshd não esteja adicionando uma entrada utmp ao manipular scp conexões. Parece normal porque scp instâncias não são sessões interativas.

Talvez algo possa ser feito usando ForceCommand ou Subsystem in sshd_config : pode ser possível envolver a execução do manipulador sftp dentro de um shell de login.

(Na verdade, eu não recomendaria isso, melhor mantê-lo simples e usar recursos de registro padrão.)

    
por 03.09.2011 / 23:00