Это перестало работать, потому что это не может найти исполняемый файл Netscape или сценарий обертки. Установите Netscape или попробуйте Firefox.
Я привычка дает Вам точный код, но может дать Вам шаги для достижения этого:
Найдите владельца каталога. Если это соответствует user
на который Вы ищете, затем проверяете полномочия владельца на том каталоге. Если это r+x(5)
или r+w+x(7)
, затем пользователь может искать в том каталоге, иначе нет.
Если владелец каталога не соответствует пользователю, проверьте группу каталога и узнайте ли вводимый user
принадлежит той группе или нет. Если пользователь принадлежит. Проверьте полномочия группы на том каталоге. Если это r+x(5)
или r+w+x(7)
, затем пользователь может искать в том каталоге, иначе нет.
Если вводимый user
не принадлежит группе каталога, проверяют другие полномочия на том каталоге. Если это r+x(5)
или r+w+x(7)
, затем пользователь может искать в том каталоге, иначе нет.
Я думаю, что вышеупомянутый алгоритм выполнит задачу, которую Вы хотите.
Править:
Метод 1:
Можно использовать, находят команду для этого:
$ find / -maxdepth 1 -type d -perm -u=rx
Это найдет все каталоги внутри / до одного уровня с полномочиями пользователя как по крайней мере (read+execute).
Метод 2:
$ stat <filename/directoryname> | grep Access | head -1 | awk 'BEGIN{FS="[/)]"} {print $2}'
Это даст Вам полномочия в rwx нотации (например, drwxr-xr-x)
$ stat <filename/directoryname> | grep Access | head -1 | awk 'BEGIN{FS="[(/]"} {print $2}'
Это даст Вам полномочия в 755 нотациях (например, 0755)
Я не уверен, понимаю ли я ваш вопрос в его нынешней форме.
Если вас не волнует, что подкаталог с доступом для чтения помещается в каталог без доступа для чтения, вы можете просто сделать:
find . -type d -perm -u+r
Если вы хотите знать, имеет ли конкретный пользователь доступ для чтения к каталог, затем найдите группу (ы), членом которой является он / она:
groups $userID
И выполните:
find . -type d -group $groupID -perm -g+r