Я запускаю скрипт, предоставленный в SDK Android, для создания папки проекта. Но папка создается с корневым владением, и я должен работать в нем.
У меня была смелость для не установки SDK под моей домашней папкой, а скорее под usr/local/lib..., и я задаюсь вопросом, так как это - привилегированное местоположение, которое я обычно должен использовать sudo su
к доступу это могло быть причиной, папка проекта принадлежит корню? Или полномочия, присвоенные на создании папки, падают полностью на сценарий, который создает папку проекта?
Любые другие подсказки ценились бы, так как я не хочу проводить свои дни, имея необходимость к sudo
постоянно... Я должен настроить некоторые сложные сценарии сборки и предпочел бы его, если это может быть достигнуто пользователем т.е. мной, не корнем. P.S. Я не уверен, уместно ли пойти скрипка с этими полномочиями, если это - то, что было установлено любым приложением / сценарий, или я просто сделаю так.
Обычно все, что находится в / usr / local, принадлежит либо root, либо группе "staff" в дистрибутивах Debian. Вы можете создать группу, которая может писать в этот каталог и добавлять себя в него, если хотите.
sudo groupadd usrlocal
sudo usermod -a -G usrlocal $user
sudo chown -R /usr/local/* root:usrlocal
sudo chmod 750 /usr/local
Также вы можете использовать бит setuid, чтобы SDK всегда запускался пользователем root.
sudo chmod +t /usr/local/sdk/script
Я думаю, что это может быть причиной твоей проблемы, если я правильно понимаю. Если вам нужен доступ для записи, используйте «770».
Редактировать: (Ради полноты) Если не указано иное, любые файлы, создаваемые программой, будут принадлежать пользователю, который запускает программу. Если сценарию / программе не нужны привилегии суперпользователя, измените владельца на себя:
sudo chown /path/to/exec $user:$user