손가락은 기본적으로 어디에 연결되어 있습니까? 실행 하지

회사 네트워크 내 finger에서 클라이언트 컴퓨터에서 인수를 실행 하지 않으면 이름 등을 가진 사용자 목록이 표시됩니다. 그러나 finger @localhost내가 달리면 “연결이 거부되었습니다”. 손가락은 기본적으로 어디에 연결되어 있습니까?



답변

에 따르면 strace finger내 시스템에서 현재 사용자 목록을 가져옵니다.

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

statpty를 사용하여 각각에 대한 세부 사항

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

인수없이 실행될 때. 로 실행 @localhost하면 fingerd데몬 을 사용하려고 시도하며 더 이상 1993이 아니기 때문에 실행되지 않습니다 connection refused.

user아닌 인수로 실행하면 편집 할 때 GECOS 필드 와 홈 디렉토리 (같은 파일의 경우 ) 에서 @remote-system정보를 가져옵니다 . 권한이 없으므로 계획 파일을 표시하기 위해 읽을 수있는 홈 디렉토리 및 계획 파일이 사용자에게 필요합니다. 여기에서 (또한 )에서 다른 파일을 750 모드 인 다른 사용자의 디렉토리에서 열려고 시도하는 것과 실패한 것을 볼 수 있습니다 (그리고 나는 그녀의 그룹에 없습니다)./etc/passwd~/.planstrace

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)