
저는 서비스 파일인 Vaultwarden.service를 다음과 같이 만듭니다(여기에는 그 일부만 표시되어 있음).
# The user/group vaultwarden is run under. the working directory (see below) should allow write and read access to this user/group
User=vaultwarden
Group=vaultwarden
# The location of the compiled binary
ExecStart=/home/vaultwarden/vaultwarden # user is vaultwarden, binary vaultwarden
서비스 파일 부분이 위의 코드와 같을 때 오류가 발생했습니다.
vaultwarden.service: Failed at step EXEC spawning /home/vaultwarden/vaultwarden: Permission denied
하지만 바이너리 파일을 복사하면 작동합니다 vaultwarden
. /usr/bin/vaultwarden
문제가 무엇인지 모르겠습니다. 서비스 파일에서 일부 사용자의 홈 폴더에 있는 경로를 수행할 수 없다는 문제나 규칙이 있습니까? 관련 링크와 게시물을 모두 읽고 모두 시도해 보았으나 여전히 동일한 문제가 발생합니다.
PS 액세스 권한은 양호합니다. Vaultwarden 사용자의 홈 폴더 전체도 소유권을 777로 변경하고 루트 소유자로 변경하기도 합니다(루트가 바이너리를 실행해야 하지만 777에서 문제를 해결해야 하는 경우...)
어떤 단서가 있나요?
답변1
내 서비스 파일에는 다음 줄도 있었습니다.
PrivateDevices=true
ProtectHome=true
해당 매개변수는 홈 폴더 조작을 허용하지 않습니다. 서비스 파일에서 주석을 달거나 삭제해야 합니다.