В нашей корпоративной сети, когда я бегу finger
(без аргументов) с клиентской машины, мне предоставляется список пользователей с именами и т.п. Но когда я бегу finger @localhost
Я получаю сообщение «В соединении отказано». Так куда же по умолчанию подключается finger?
В соответствии с strace finger
, в моей системе он получает список текущих пользователей из
open("/var/run/utmp", O_RDONLY|O_CLOEXEC) = 4
и подробности о каждом из stat
постигать
stat("/dev//pts/0", {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 0), ...}) = 0
при запуске без аргументов. Когда вы запускаете его с @localhost
, он пытается использовать fingerd
демон, и, поскольку сейчас не 1993 год, он не работает - отсюда и connection refused
.
редактировать при запуске с аргументом, который является user
, скорее, чем @remote-system
, он получает информацию из Поле GECOS в /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)