У меня есть сервер Lion, к которому обращаются несколько человек. Можно ли узнать, какие пользователи получили доступ к файлу?
2 ответа
После изучения предмета я не верю, что это возможно, так как вам нужно настроить программу регистрации, она по умолчанию не встроена. Вы можете получить доступ к файлу последнему человеку, но не к предыдущим.
Я менее квалифицирован, чтобы ответить на этот вопрос, поскольку у меня нет опыта работы со службами, работающими на Macos, но другой ответ, по-видимому, вводит в заблуждение, и я попытаюсь исправить это.
Если я не очень сильно ошибаюсь, реализация SMB в Macos - это Samba, которая также используется в большинстве операционных систем на базе Linux и BSD. Следующее объяснение справедливо для текущих установок Samba в Gentoo Linux, поэтому расшифровка путей к файлам, команд управления службами и особенностей ведения журналов оставлена для системного администратора падавана.
Откройте файл smb.conf и измените или добавьте следующую строку в глобальную часть конфигурации:
log level = 2
Также ищите эту запись, она говорит вам, где заканчиваются файлы журнала:
log file = /var/log/samba/log.%m
(IP-адрес клиента заменяется на часть %m
.)
Сохраните файл и перезапустите службу Samba. Посмотрите на файл журнала для адреса клиента (давайте пока воспользуемся петлей ipv4), /var/log/samba/log.127.0.0.1
. В оболочке Unix это можно сделать с помощью
$ tail -f /var/log/samba/log.127.0.0.1
Если вы теперь получаете доступ к общему ресурсу (в другой оболочке) через адрес обратной связи и get
файл, это будет указано вместе с именем пользователя, используемым для доступа.
$ smbclient ${whatever_options_you_need} //127.0.0.1/${sharename}
smb: \> get testfile.txt
Результат в файле журнала должен быть примерно таким:
[2012/09/16 13:10:13.562687, 2] smbd/open.c:704(open_file)
${user} opened file testfile.txt read=Yes write=No (numopen=1)
[2012/09/16 13:10:13.564096, 2] smbd/close.c:696(close_normal_file)
${user} closed file testfile.txt (numopen=0) NT_STATUS_OK