Onde o dedo se conecta por padrão?

9

Em nossa rede corporativa, quando executo finger (sem argumentos) de uma máquina cliente, é apresentada uma lista de usuários com nomes e afins. Mas quando eu corro finger @localhost eu recebo "Conexão recusada". Então, onde o dedo se conecta por padrão?

    
por Paul 15.10.2015 / 11:30

1 resposta

13

De acordo com strace finger , no meu sistema, a lista de usuários atuais é obtida

open("/var/run/utmp", O_RDONLY|O_CLOEXEC) = 4

e detalhes sobre cada um deles por stat ing pty

stat("/dev//pts/0", {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 0), ...}) = 0

quando executado sem argumentos. Quando você o executa com @localhost , ele tenta usar o daemon fingerd , e como não é mais o 1993, isso não está em execução - daí o connection refused .

Editar quando executado com um argumento que é user , em vez de @remote-system , obtém as informações do campo GECOS em /etc/passwd e o diretório inicial (para arquivos como ~/.plan ). Ele não tem privilégio, portanto, os usuários precisarão de diretórios base e de arquivos planejados que você possa ler para exibir, e. o arquivo de plano. Aqui (também de strace ) você vê ambos tentando, e falhando, abrir alguns desses arquivos no diretório de outro usuário, que é o modo 750 (e eu não estou no grupo dela):

lstat("/home/cby/.pgpkey", 0x7fff52fcec60) = -1 EACCES (Permission denied)
lstat("/home/cby/.project", 0x7fff52fcec60) = -1 EACCES (Permission denied)
lstat("/home/cby/.plan", 0x7fff52fcec60) = -1 EACCES (Permission denied)
    
por 15.10.2015 / 11:35