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)