Ubuntu
touch: não é possível tocar em `/var/run/test.pid ': permissão negada
Estou iniciando start-stop-daemon e gostaria de escrever o arquivo PID em / var / run start-stop-daemon é executado como meu usuário-programa
A configuração / var / run é raiz raiz drwxr-xr-x 9
Eu gosto de evitar colocar meu-programa-usuário no grupo raiz.
fonte
/var/run/mydaemon
diretório desapareceu./tmp
ou~
.isso não funcionará, pois será perdido na próxima reinicialização (
/var/run
é um tmpfs no Ubuntu).A única solução viável é executar mkdir e chmod como parte dos scripts de inicialização.
fonte
Você pode tentar isso. Crie um diretório / var / run / test / e altere a permissão desse diretório para o mesmo usuário que o seu programa é executado. msgstr "chown / var / run / test /". Agora, no seu aplicativo, altere o local do arquivo PID para /var/run/test/test.pid. Isso deve fazer as coisas funcionarem para você.
fonte
Que tal usar o bit "pegajoso" em / var / run?
chmod + t / var / executar?
Provavelmente atrapalhe alguns outros aplicativos, mas parece que seria outra solução.
No entanto, continuarei criando uma pasta / var / run separada por enquanto.
fonte
As entradas no
/etc/permissions
são permanentes. Faça uma entrada lá para tornar permanente a propriedade e as permissões de um diretório.fonte
Para evitar colocar o usuário do programa no grupo raiz, permita que outros acessem a gravação:
fonte
chmod 757
também funcionará apenas até a próxima reinicialização. Desculpe por criar uma nova resposta, mas parece não haver maneira de responder ao outro comentário.chmod
on/var/run
. O autor pode ter feito isso para o subdiretório do aplicativo. Não tenho certeza do que se trata.