if any are found to be less permissive than 750
Se os bits de permissão forem 0750
, isso corresponde a rwxr-x---
. Qualquer coisa que tenha, por exemplo bits definidos no grupo "outro", é (basicamente por definição) mais permissivo. Da mesma forma, algo como 0700
é menos permissivo (não dá acesso ao grupo).
No entanto, algo como 0644
/ rw-r--r--
seria mais e menos permissivo, pois permitiria o acesso de leitura a "outros", mas não permitiria o acesso de execução a ninguém.
To Clarify: I need to ensure NONE of the files in the home directory have ANY "other" attributes.
Isso, é claro, é diferente da definição acima. Mas também é mais fácil procurar por arquivos que tenham alguns dos conjuntos de permissões definidos, então vamos fazer isso, em vez de procurar por arquivos que tenham apenas um subconjunto de alguns conjuntos de permissões.
Supondo que você tenha o GNU encontrado, há a condição -perm /mode
, que significa "Qualquer um dos bits de permissão modo está definido para o arquivo." (veja página de manual ). Portanto, find -type f -perm /027
encontraria quaisquer arquivos regulares que tivessem algum dos bits ----w-rwx
set. A condição similar em, e. A localização do FreeBSD é -perm +027
( página man ).
Então, talvez algo nesse sentido:
x=$(find "$dir" -type f -perm /027 -print -quit)
if [ "$x" != "" ]; then
echo "some files were found"
fi