Сообщение, по-видимому, исходит от GNU tr
и, возможно, связано с какой-то проблемой с настройками локали. На странице info для tr
предлагается поместить -
последним в наборе, чтобы не путать его как часть диапазона , например,
cat myfile | tr '_[]()/-' ' '
if any are found to be less permissive than 750
Если биты разрешения равны 0750
, это соответствует rwxr-x---
. Все, что имеет, например. биты, установленные в «другой» группе, (в основном по определению )более разрешительны. Точно так же что-то вроде 0700
менее разрешающее (, оно не дает никакого доступа к группе ).
Однако что-то вроде 0644
/ rw-r--r--
было бы как более, так и менее разрешающим, так как разрешало бы доступ на чтение «другим», но не разрешало бы доступ на выполнение никому.
To Clarify: I need to ensure NONE of the files in the home directory have ANY "other" attributes.
Это, конечно, отличается от приведенного выше определения. Но также проще искать файлы, в которых установлен какой-то набор битов разрешений, поэтому давайте сделаем это вместо того, чтобы искать файлы, которые имеют только подмножество некоторого набора битов разрешений.
Предполагая, что у вас есть поиск GNU, есть условие -perm /mode
, которое означает «Для файла установлены любые биты разрешения режима ». (см. справочную страницу ). Таким образом, find -type f -perm /027
найдет любые обычные файлы, в которых установлен какой-либо из битов ----w-rwx
. Аналогичное состояние, например,. Найти FreeBSD можно на странице руководства-perm +027
().
Так что, возможно, что-то в этом направлении:
x=$(find "$dir" -type f -perm /027 -print -quit)
if [ "$x" != "" ]; then
echo "some files were found"
fi