Мне было интересно, есть ли способ проверить заводские исходные разрешения на файлы важных системных файлов конфигурации в системах linux, solaris и freebsd и т. Д. Я создаю упрощающий программный инструмент в python который автономно редактирует файлы конфигурации, а затем устанавливает разрешения для желаемого владельца, группы и режима, которые в этом случае в идеале должны были быть установлены вначале. Кто-нибудь знает, как узнать, что такое первоначальный владелец, группа и режим определенных файлов?способ проверить исходные права доступа к файлам в linux
ответ
В Solaris 10 и старше, вы можете использовать pkgchk
:
# pkgchk -ap /etc/vfstab
ERROR: /etc/vfstab
permissions <0644> expected <0660> actual
group name <sys> expected <jlliagre> actual
В Solaris 11, вам нужно получить пакет имя файла принадлежит (например: pkg search -l /etc/vfstab
), а затем запустить pkg verify package-name
На BSD-системы, mtree
- это инструмент, который обычно выполняет эту задачу. Задача с mtree
заключается в том, что различные версии BSD обеспечивают различную степень завершения для своих спецификаций mtree. Например, FreeBSD не имеет правил mtree для/etc/* по умолчанию. OpenBSD, однако, предоставляет это (и там он используется сценарием /etc/security
, чтобы предупредить вас об изменениях в ночном прогоне). Это делает mtree не совсем переносимым в мире BSD, но это начало.
Кроме того, mtree уже предоставляет функции для исправления ситуации, описанной в вашем инструменте python, поэтому вы можете отключить эту работу, если вы можете найти/создать подходящий файл определения mtree.
Просто проверьте свою резервную копию. –
Вы можете получить копию исходного пакета, к которому принадлежит файл, и посмотреть, какие разрешения находятся в архиве внутри пакета ... – Celada