Я думаю, что это наиболее вероятно, потому что php
работает в apache или другом http-сервере под другим пользователем, чем вы запускаете скрипт bash.Или, возможно, файлы, загруженные в uploads /, принадлежат пользователю http-сервера, а не пользователю, который его вызывает.
Убедитесь, что вы запускаете скрипт bash под тем же пользователем, что и ваш http-сервер.
Чтобы узнать, какому пользователю принадлежит какой файл:
ls -l
Если вы запустите скрипт bash от имени root, вы все равно сможете его удалить, но это не рекомендуется.
Обновление
Чтобы запустить его как root для скрипта nautilus, используйте в качестве скрипта nautilus следующее:
gksudo runmydeletescript
Затем поместите весь другой код в другой файл с тем же путем, что и у васдля runmydeletescript
и запустить chmod +x
на нем. Это чрезвычайно опасно!