Найдите каталоги и файлы с полномочиями кроме 775 / 664

MonoServerPath example.com "/usr/bin/mod-mono-server4"

должен, вероятно, быть

MonoServerPath mydomain.org "/usr/bin/mod-mono-server4"
21
13.07.2014, 22:39
2 ответа

Используйте -пермальный тест, чтобы найти в сочетании с -not:

find -type d -not -perm 775 -o -type f -not -perm 664
  • -пермальный 775 совпадает со всеми файлами с разрешениями, в точности равными 775. -perm 664 делает то же самое для 664.
  • -not (bootlean NOT) отрицает следующий тест, поэтому он точно совпадает с тем, что имел бы: в данном случае, все те файлы, которые не имеют правильных разрешений.
  • -o (boolean OR) объединяет два набора тестов вместе, совпадая, когда любой из них: он имеет наименьший приоритет, поэтому разделяет наши тесты на две разные группы. Вы также можете использовать скобки для большей ясности. Здесь мы сравниваем каталоги с разрешениями, которые не являются 775, и обычные файлы с разрешениями, которые не являются 664.

Если Вам нужны две отдельные команды для каталогов и файлов, просто разрезайте их пополам на -o и используйте каждую половину по отдельности.

39
27.01.2020, 19:43

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

Это то, что я успешно использую в Ubuntu 16.04

find \! -perm 775 -type d -exec chmod 775 {} \;
find \! -perm 664 -type f -exec chmod 664 {} \;

Это демонстрирует ! экранированный символ

5
27.01.2020, 19:43

Теги

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