사용자 정의 사용자로 실행 중인 전송 데몬이 잘못된 경로에서 구성을 로드하려고 시도함

사용자 정의 사용자로 실행 중인 전송 데몬이 잘못된 경로에서 구성을 로드하려고 시도함

Debian 10 시스템에서 전송 데몬 2.94를 서비스로 실행하고 있습니다.

Apache가 저장 파일을 읽을 수 있고 반대로 전송이 Apache 파일을 읽을 수 있기를 원했기 때문에 전송 데몬을 실행하는 사용자를 기본값에서 Apache 사용자 debian-transmission로 변경했습니다.www-data

이를 위해 다음 프로필을 사용자 설정으로 변경했습니다.

  • User=www-data존재하다/lib/systemd/system/transmission-daemon.service
  • USER=www-data존재하다/etc/init.d/transmission-daemon
  • setuid www-data그리고setgid www-data/etc/init/transmission-daemon.conf

전송된 JSON 구성 파일은 여전히 ​​에 있습니다 . 디렉터리 와 www-data가 모두 새 사용자에 속하는지 /etc/transmission-daemon/settings.json확인했습니다 ./var/lib/transmission-daemon/etc/transmission-daemon

sudo systemctl start transmission-daemon그러나 서비스를 사용하거나 다시 시작하면 sudo service transmission-daemon start전송 로그에 다음이 표시됩니다.

Couldn't create "/var/www/.config": Permission denied (file-posix.c:189)
Couldn't read "/var/www/.config/transmission-daemon/settings.json": No such file or directory (utils.c:238)
Couldn't save temporary file "/var/www/.config/transmission-daemon/settings.json.tmp.jq3qtN": No such file or directory (variant.c:1285)

...그리고 기타 유사한 오류가 발생했습니다.

따라서 전송 데몬이 www-data사용자의 홈 경로를 사용하고 거기에 구성 디렉터리를 다시 만들려고 시도하는 것 같습니다.

왜 그런 겁니까? 전송을 위해 이전 기본 구성 경로를 어떻게 사용할 수 있습니까?사용자의 홈 경로에 의존하는 전송 구성이 표시되지 않습니다.

부가 질문:서비스를 실행하는 사용자를 설정하는 세 가지 구성 파일의 차이점은 무엇입니까?

답변1

Transmission-Daemon은 이를 실행하는 사용자의 홈 폴더에 구성을 저장합니다. 기본적으로 사용자의 transmissio-daemon홈 폴더는 다음과 같습니다.

/var/lib/transmission-daemon정의된 대로/etc/passwd

Debian에서 settings.json 파일은 /var/lib/transmission-daemon/.config/transmission-daemon/ 다음을 가리키는 포인터일 뿐입니다./etc/transmission-daemon/settings.json

홈 폴더이므로 쓰기가 가능해야 합니다. 발생하는 오류는 전송이 실행 중인 사용자의 홈 폴더에 설정/통계를 쓸 수 없기 때문에 발생합니다.

그러나 가장 좋은 접근 방식은 settings.json을 사용하여 umask다른 사람이 전송을 통해 생성된 파일에 액세스할 수 있도록 허용하고 다운로드 폴더를 웹 서버가 액세스할 수 있는 위치(아마도 /var/ 폴더)에 쓰기로 www를 설정하는 것입니다. 전송 권한)

사용 사례에 대한 자세한 내용을 제공하시면 전송 사용자를 변경하지 않고도 필요에 맞는 구성을 생성할 수 있습니다.

관련 정보