손가락은 기본적으로 어디에 연결되나요?

손가락은 기본적으로 어디에 연결되나요?

finger회사 네트워크 내에서 클라이언트 컴퓨터에서 인수 없이 실행하면 이름 등이 포함된 사용자 목록이 표시됩니다. 하지만 실행하면 finger @localhost"연결이 거부되었습니다"라는 메시지가 나타납니다. 그렇다면 손가락은 기본적으로 어디에 연결되나요?

답변1

에 따르면 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대신 a 인수를 사용하여 실행하면 @remote-system다음에서 정보를 가져옵니다.GECOS 필드in /etc/passwd및 홈 디렉토리(와 같은 파일의 경우 ~/.plan). 권한이 없으므로 사용자는 계획 파일 등을 표시하기 위해 읽을 수 있는 홈 디렉토리와 계획 파일이 필요합니다. 여기(또한 strace)에서 다른 사용자의 디렉토리(모드 750)에서 이러한 파일 중 일부를 열려고 시도하고 실패하는 것을 볼 수 있습니다(그리고 저는 그녀의 그룹에 속하지 않습니다).

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)

관련 정보