найдите файлы, которые имеют более высокое разрешение, чем xxx

Вам нужен mimencode от метапочтовой посылки... Debian имеет некоторую информацию о пакете, но пакет основан на древнем коде Bellcore.

Если Вы просто пытаетесь отправить почту, хотя, Вы могли бы изучить использование дурака; я думаю, что это может mimencode вложения от командной строки.

6
16.02.2012, 03:42
3 ответа

Я думаю, что Вы, после

find -perm -640 ! -perm 640

т.е. поисковые файлы, которые имеют по крайней мере все полномочия в 640 и которые не имеют 640 как биты полномочий. Или, другими словами, среди файлов, которые читаемы и перезаписываемы их владельцем и читаемы группой, поисковые файлы, которые являются исполняемым файлом или перезаписываемый кем-то другим, чем владелец или читаемый миром (принимающий ACLs). Можно хотеть добавить -type f ограничить регулярными файлами, или по крайней мере ! -type d -o -type d -perm 750 ! -perm 750 позволить каталогам иметь разрешение выполнения.

Если Вы хотите соответствовать файлам, биты полномочий которых, интерпретируемые как целое число, выше, чем 0o640 (который действительно не имеет никакого смысла), Вы оказываетесь перед необходимостью перечислять несколько случаев. При рассмотрении поразрядного представления существует два пути к числу между 0 и 0o777, чтобы быть больше, чем 0o640: или 0o100 укусил, установлен в дополнение к 0o600 битам, или 0o640 биты установлены. Удалите финал ! -perm 640 если Вы хотите, чтобы полномочия 0o640 соответствовали.

find -perm -700 -o -perm -640 ! -perm 640
6
27.01.2020, 20:27
  • 1
    Был комментарий, который сделал предложение find . -type f -perm /137. Вы знаете то, что было неправильным с этим? –  testing 21.02.2012, 12:49
  • 2
    @testing -perm /137 файлы поисков, которые имеют по крайней мере один из указанного набора битов, т.е. исполняемый файл любым или перезаписываемый любым, но владельцем или читаемый миром. Это может на самом деле быть тем, что Вы после, но это не то, что Вы спросили. –  Gilles 'SO- stop being evil' 21.02.2012, 15:05
  • 3
    Спасибо за Ваш ответ. Что делает -o средний? Или? и ! средства NOT? Делает ! -type d -o -type d -perm 750 ! -perm 750 означайте не находить каталоги или каталоги по крайней мере с 750 разрешениями с не 750 битов полномочий? find -perm -700 -o -perm -640 ! -perm 640 показывает мне много каталогов... Это управляет средний находить файлы с 700 разрешениями, или по крайней мере 640 разрешений без 640 битов полномочий установили? Я пытаюсь получить эту нотацию под своим капотом. –  testing 21.02.2012, 21:25
  • 4
    @testing -o или, ! не, и сопоставление и. Кроме того, test1-o test2 test3 означает test1 или (test2 и test3). -perm -700 -o -perm -640 ! -perm 640 находит файлы, что или иметь все биты в 700 наборах, или имеют все биты в 640 наборах и по крайней мере еще одном. –  Gilles 'SO- stop being evil' 21.02.2012, 21:27

Вот острота, которую Вы могли использовать:

find . -type f -printf %p:%m\\n | while read x; do name=${x%:*}; perm=${x#*:}; if [[ $perm -gt 640 ]]; then echo $name; fi done

Эта команда находит все регулярные файлы от Вашего текущего пути и печатает их имя (%p) и их полномочия (%m) разделенный двоеточием. Каждая строка вывода далее читается в переменную $x, который затем разделяется независимо в переменные $name и $perm:

${x%:*} средства возвращают значение x с его удаленным суффиксом

${x#:*} средства возвращают значение x с его удаленным префиксом

Если полномочия файла соответствуют критериям, распечатайте имя файла.

PS: Для простого использования можно присвоить команду псевдониму:

alias advfind='find ...'
0
27.01.2020, 20:27

Вот отличная команда, которую вы можете редактировать для собственного использования:

find -perm -o+r -exec stat --printf='%A %a %n --- %F\n' {} \;

Пример результата:

-rw-r--r-- 644 dir1//file4 --- regular file
lrwxrwxrwx 777 dir1/file5 --- symbolic link

Находит файлы с разрешением для чтения другими. Затем распечатайте разрешения в символической и восьмеричной форме, путь к файлу и тип файла.

1
27.01.2020, 20:27

Теги

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