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)