Игнорирование регистрирует, который находка не может искать или открыть?

Это учебное руководство объясняет во всех деталях, как установить полномочия файла в Linux (и поэтому также в Ubuntu) таким образом, что можно управлять доступом.

3
04.11.2011, 07:49
2 ответа

find печатает ошибки к stderr. Если Вы просто хотите проигнорировать их, самая простая вещь сделать:

find ... 2> /dev/null

find также имеет -perm опция отфильтровать на основе полномочий.

12
27.01.2020, 21:08

Можно сказать find для поиска файлов с конкретными полномочиями но это не совсем, в чем Вы нуждаетесь здесь. Необходимо сказать find не исследовать каталоги, которые у Вас нет разрешения пересечь. На самом деле легко сказать find для не убывания в каталог — это -prune основной — но нет никакого простого способа соответствовать каталогам, которые у Вас нет разрешения пересечь. В GNU find, можно записать -readable -executable, но стандарт find не имеет такой опции (ни делает HP-UX find).

Можно восстановить права доступа из полномочий, но это болезненно. И в системах, которые имеют ACLs (который делает HP-UX), необходимо принять их во внимание также.

find . -type d \
       \! \( -user $(id -u) -perm -u+rx -o \
             \( -group $(id -G | sed 's/ / -o -group /g') \) -perm -g+rx -o \
             -perm -a+rx \) -prune -o \
     -type f -size +100000000c -exec …

На практике, если это не важнейший сценарий, Вы, вероятно, хотите проигнорировать ошибки от find. (И если это - важнейший сценарий, запишите это на некотором другом языке, который позволяет лучшую фильтрацию состояний ошибки, как Perl или Python.)

1
27.01.2020, 21:08
  • 1
    Спасибо, мне нравится Ваш ответ, потому что мне нравитесь Вы упоминающий, что, что я не могу сделать когда дело доходит до определенного *, отклоняют (как Unix HP), и подходящая опция для того, чтобы сделать это. хорошее объяснение. Спасибо –  munish 05.11.2011, 03:03

Теги

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