Как определить, создается ли директория системой или пользователем root?

Как определить, создан ли каталог системой Linux и пользователем, например root. Пример: в каталоге /etc есть каталог с именем sys созданный Linux. И я вошел в систему с помощью root и создал каталог sys1. то как я могу их отличить?

Пример: var – это созданный системой каталог, где в качестве теста пользователь создается с помощью root пользователя.

 drwxrwxrwx 34 root root 4096 Aug 25 22:52 var drwxr-xr-x 2 root root 4096 Aug 25 23:19 test 

3 Solutions collect form web for “Как определить, создается ли директория системой или пользователем root?”

Я не думаю, что существует понятие «каталог, созданный системой». Когда вы устанавливаете свою систему, установочный носитель часто выполняет задание для вас – вы видите результат (например, каталог / etc создан), но это действительно выполняется пользователем, который запускал сценарий.

Все, что создано «системой», можно рассматривать как созданное root, но нет способа сказать, было ли это автоматизировано или нет.

В зависимости от того, что вы подразумеваете под «созданной системой», вы можете использовать систему упаковки, чтобы определить, как был создан конкретный каталог.

Например, в системе на основе RPM (например, RedHat, Fedora, CentOS и т. Д.):

 rpm -qf /var 

даст что-то вроде

 filesystem-2.4.100.x86_64 

указав, что он был установлен как часть пакета filesystem системы, тогда как

 rpm -qf /test 

может дать

 file /test is not owned by any package 

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

Аналогично для систем на основе Apt (Debian, Ubuntu и т. Д.) Вы можете использовать

 dpkg -S /var 

для выполнения той же проверки.

Нет никакой разницы между файлами (включая каталоги), создаваемыми системой или пользователем, потому что в итоге это тот же системный вызов. Позже нельзя сказать, кто был владельцем процесса, который создал файл или каталог. Кстати, «система Linux» в основном является пользователем root : нет специального пользователя. Кроме того, установка всегда устанавливает владельца каталогов и файлов, поэтому впоследствии это не будет видно.

Если у вас есть менеджер пакетов, вы можете узнать, был ли каталог создан при установке пакета, например, с помощью Менеджера пакетов Debian:

 dpkg -S /var 

перечисляет несколько пакетов, которые все создавали бы каталог, если он отсутствует. Однако,

 dpkg -S /opt 

ничего не перечисляет, хотя могу сказать, что он был создан системным установщиком либо во время процесса установки, либо при запуске сценария после установки определенного пакета.

  • Где находятся файлы конфигурации systemd?
  • Изменение сетевых настроек Redhat От DHCP до STATIC IP через конфигурационные файлы
  • Установка с USB не выполняется
  • Использование образа диска DD на Red Hat
  • Есть ли простой способ создания «предварительно обработанного» изображения RHEL?
  • Что требуется: Python (пакет) для файлов спецификаций RHEL?
  • Rhel 7 не загружается
  • Режим обслуживания xfs в redhat 7
  • Устанавливать пакет локально для лучших пользователей?
  • локальный репозиторий yum с неработающим списком групп
  • Почему US International Keyboard нарушает Alt_R
  • Interesting Posts

    Возможно ли восстановить исходную среду в сценарии оболочки Bourne?

    Переменная среды $ PATH, по-видимому, не распознается

    Неверный синтаксис в sql

    Лучший способ подключения к существующему пользовательскому контексту через SSH

    Не уверен, какое аудиоустройство будет проходить через OVMF

    Передать только обновленные части файла

    Почему раздел будет использоваться системой, если он не установлен?

    Как я могу навсегда удалить предупреждение SSL для веб-браузера для сайтов HTTPS, которые не могут правильно идентифицировать себя?

    Запустить скрипт heredoc через su, прикрепленный к текущему tty

    Инструмент для расширения шрифта

    Устранение неполадок ядра – следующие шаги после анализа «сбоя»

    Будет ли установка Linux облегчить проблемы с Mac OS?

    Что означает эта запись в брандмауэре?

    Linux Mint Live не сохраняет данные

    Система утверждает, что мой USB установлен, когда я вставляю его, и я не могу (un) смонтировать его. Как это исправить?

    Linux и Unix - лучшая ОС в мире.