В настоящее время я пытаюсь запустить скрипт как пользователь, отличный от пользователя, в котором я вошел.
Я хотел бы запустить от имени main
пользователя следующую команду, чтобы пользователь local
выполнял сценарий:
sudo su local -c "/home/main/some/folders/script"
Но у меня есть Permission denied
выход.
Тем не менее, если я вхожу как локальный, используя sudo su local
, а затем запускаю сценарий, все идет хорошо. Права доступа к файлу: 775 main main
, и пользователь local является частью группы local main
. В чем может быть причина этого и как ее решить?
Спасибо
Имеет ли пользователь local права доступа к папкам в пути к файлу? То, что у него есть разрешения для файла, не означает, что он может получить доступ к файлу.
в качестве основного пользователя, попробуйте
su local
<enter password>
touch /home/main/some/folders/script
. Чтобы решить эту проблему, вам потребуется chmod g+rx
каждый каталог в пути
(обратите внимание, что для запуска скрипта пользователь фактически не нуждается в разрешениях на чтение, для каталога, просто для выполнения прав.)