Как определить, создается ли директория системой или пользователем 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 

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

  • Что такое директива ifcfg IPV4_FAILURE_FATAL и по каким сценариям я хочу ее использовать?
  • Устранение недостающих зависимостей пакета при попытке установить октаву
  • Как переназначить клавишу F на определенной клавиатуре?
  • Google proxy-сервер api и rhel
  • dhclient выходы со статусом 0, но все равно нет адреса
  • Различия между комплектом разработчика RHEL и другими версиями
  • Samba Shared Folder
  • Когда именно (и самое раннее) все блок-устройства были перечислены во время загрузки Linux?
  • Удаление JDK rpm для переустановки
  • Как установить ncdu на Red Hat?
  • Почему создаются каталоги с разрешениями 2070 и файлы с 060 в каталоге с битом setgid?
  • Interesting Posts

    Как вернуть дату?

    sed: -e выражение # 1, char 44: команда unterminated 's

    Как я могу сделать несколько символических ссылок для нескольких каталогов, удобно

    Справка по разделам HDD и SDD

    Получить каждый столбец, который содержит несколько пробелов?

    общая переменная среды для установки темного или светлого фона терминала

    Разделить очень большой файл xml на маленькие кусочки с определенным номером номера строки

    Смонтируйте «спящий» раздел Windows, зашифрованный битлокатором

    Файл не найден для файла, который существует

    Как изменить все строки в файле python от snake_case до camelCase в sed

    Ошибка в проверке оболочки, когда строка является скобкой слева

    SLES12SP1: как добавить memcached в новый Service Manager

    Как узнать, сколько памяти занимает программа

    Добавление чрезвычайно больших чисел в сценарий оболочки

    Печать / тройник для консоли, не передавая выход в трубу

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