Отказано в доступе к скрипту оболочки, несмотря на флаг +x

Отказано в доступе к скрипту оболочки, несмотря на флаг +x

Это странно, это происходит только на одном сервере (общий хостинг, поэтому у меня ограниченный доступ к конфигурации и журналам), но я не могу в этом разобраться.

У меня есть скрипт оболочки, который запускает развертывание некоторого приложения. Файл имеет флаг +x, но я не могу запустить его, просто вызвав его имя из оболочки, я получаю ошибку "доступ запрещен". Вызов bash с именем файла в качестве аргумента работает как по маслу. Выглядит это примерно так:

[someuser@someserver:~] $cat test.sh
echo "hooray!"
[someuser@someserver:~] $chmod +x test.sh
[someuser@someserver:~] $ls -l test.sh
-rwxrwxr-x 1 someuser someuser 14 Oct  8 11:27 test.sh
[someuser@someserver:~] $./test.sh
-bash: ./test.sh: Permission denied
[someuser@someserver:~] $bash test.sh
hooray!

Добавление a #!/bin/bashв начале не помогает. Я также пробовал из другой оболочки (по умолчанию bash, пробовал в sh), произошло то же самое.

Это не такая уж большая проблема, но меня это сбивает с толку. В чем может быть причина?

решение1

Я думаю, это из-за опции монтирования "noexec" для папки, в которой находится ваш скрипт. Вы можете попробовать проверить это с помощью этой команды

mount | grep `df -P /path/to/folder/with/script | tail -1 | cut -d ' ' -f 1`

Связанный контент