предположим, что в одной переменной $url
short=$(echo $url | sed -e s,%2F,/,g -e s,^index[^=]*=,, -e s,.file=,,)
mkdir -p $(dirname $short)
mv $url $short
mkdir -p
создаст каталог, вместе со всеми путями. $(dirname $short)
выдаст вам часть $short (например, IOP/FOO/BAR
) команда chmod
поддерживает s
-флаг: -флаг: устанавливает идентификатор пользователя или группы при выполнении (s). Раньше это было возможно даже в скриптах, хотя новые Unix'ы запрещают это в скриптах из соображений безопасности, так что это может подходить или не подходить для вашего окружения.
То, что вы ищете, это UMASK (1)
В вашем случае, попробуйте UMASK 007
, который создаст файл без доступа к другому.
Вам действительно нужно + х
бит?