답변:
기본적으로 유효 사용자 ID가 0 인 사용자 (예 : 루트)로 / var / run에만 쓸 수 있습니다. 이것은 좋은 이유이므로, 무엇을 하든지 가서 / var / run의 권한을 변경하지 마십시오. 대신 루트 로 / var / run 아래 에 디렉토리를 만드십시오 :
# mkdir /var/run/mydaemon
그런 다음 프로세스를 실행하려는 사용자 / 그룹으로 소유권을 변경하십시오.
# chown myuser:myuser /var/run/mydaemon
이제 / var / run 대신 / var / run / mydaemon을 사용하도록 지정하십시오.
문제의 사용자로 테스트를 실행하여 언제든지이를 테스트 할 수 있습니다.
/tmp
또는을 사용하십시오 ~
.
mkdir /var/run/mydaemon
chown myuser:myuser /var/run/mydaemon
다음에 다시 부팅 할 때 유실되므로 작동하지 않습니다 ( /var/run
우분투의 tmpfs입니다).
실행 가능한 유일한 솔루션은 시작 스크립트의 일부로 mkdir 및 chmod를 실행하는 것입니다.
프로그램 사용자를 루트 그룹에 두지 않으려면 다른 사람이 쓰기 액세스를 허용하십시오.
# chmod 757
chmod 757
다음에 다시 부팅 할 때까지만 작동합니다. 새 답변을 만드는 것에 대해 죄송하지만 다른 의견에 답변 할 방법이없는 것 같습니다.
chmod
에 /var/run
. 저자는 application 서브 디렉토리에 대한 의미 일 수 있습니다. 모든 소란이 무엇인지 확실하지 않습니다.
/var/run/mydaemon
디렉토리가 사라졌습니다.