Как процесс (user1) может записывать журнал в каталог (root)

ls/ls -a... просто читает содержимое текущего каталога, ничего не делает с файлами.

ls -l или ls -F или ls --color должны получить информацию о мета-данных из самих перечисленных файлов (разрешение, тип, владение, время модификации...). Поэтому в дополнение к системному вызову getdents() для чтения содержимого каталога, ему необходимо выполнить lstat() для каждого перечисленного в нем файла, а также readlink() для симлинков (и stat() также для симлинков при некоторых реализациях ls с -F или --color).

Для + или @ и других необязательных флагов альтернативного метода доступа, иногда встречающихся после разрешений, может потребоваться выполнить несколько дополнительных системных вызовов (например, getxattr() в Linux для получения ACL).

При ls -l ему также необходимо запросить базу данных пользователей, чтобы перевести uid и gid в имя пользователя и имя группы.

Итак, хотя для простого ls нам нужно открыть один файл (текущий рабочий каталог) и прочитать его содержимое, легко заметить, что возможностей для сбоев при -l/-F/--color гораздо больше. ...:

  • функция lstat() может не сработать или зависнуть, если файл является точкой монтирования на недоступной файловой системе.
  • stat() на симлинке может завершиться неудачей, если целевая часть симлинка находится на недоступной файловой системе.
  • запрос к базе данных пользователей может завершиться неудачно или зависнуть (как в развертываниях с использованием сетевых (LDAP/NIS+) баз данных пользователей).
2
01.06.2017, 13:35
1 ответ
  1. ProFTPd, как и многие другие службы в Unix, использует syslogдля ведения журнала. syslog— это процесс, работающий с привилегиями суперпользователя. Это означает, что сам ProFTPd никогда не должен создавать файлы в каталоге журналов.

  2. Да. Так и должно быть. НЕ МЕНЯЙТЕ ЭТО

  3. Как правило, любые зарегистрированные действия пользователя должны быть доступны только суперпользователю. Это необходимо для защиты конфиденциальности пользователей. Это мое личное мнение.

Для получения дополнительной информации о регистрации с помощью ProFTPd см.http://www.proftpd.org/docs/howto/Logging.html

В целом предполагается, что установленная вами служба ведет себя так, как предполагалось, за исключением случаев, когда очевидно, что она ведет себя неправильно. Если это программа, установленная из менеджера пакетов, то она, очевидно, прошла тестирование на используемой вами версии Unix, и если вы обнаружите ошибку, вам следует связаться с сопровождающим пакета по этому поводу. Однако в большинстве случаев «ошибки» обычно являются результатом работы в сильно настроенной системе или с экстремальными или необычными конфигурациями и ошибкой. Установка по умолчанию очень редко бывает ошибочной, и ее следует «настраивать» только тогда, когда вы действительно знаете, что делаете.

Это относится особенно к изменению разрешений или прав собственности на файлы и каталоги.

4
27.01.2020, 21:58

Теги

Похожие вопросы