2016-12-16 4 views
3

www- 데이터 사용자를 사용하여 systemd가 관리하는 Kestrel 서버 실행.MailKit dotnet core on Ubuntu 16.04

System.UnauthorizedAccessException: Access to the path '/var/www/.dotnet/corefx/cryptography/crls' is denied. ---> System.IO.IOException: Permission denied

하나의 솔루션이 가능 www-data에 대한 홈 디렉토리를 설정하는 것입니다,하지만 카운터 직관적 인 것 같습니다 : TLS와 MailKit를 사용하여 이메일을 보내려고 할 때 나는 다음과 같은 오류 메시지가있었습니다.

+0

가 직면 (이 서비스를 실행하는 그룹 인 경우) 같은 문제. LAN 데이터가 아닌 루트 아래에 –

+0

루트가이 경우 위험한 것처럼 보입니다. – v7d

답변

2

코드 스택 (MailKit 또는 해당 종속성 중 하나)이 인증서 캐시를 작성하고 액세스하려고한다는 것을 나타냅니다.
수동으로 디렉터리를 만들고 필요한 사용 권한을 부여 할 수 있습니다.
/var 최상위 디렉토리를 수정하지 마십시오.

첫째, 당신은 반복적으로 디렉토리를 작성해야

mkdir -p /var/www/.dotnet/corefx/cryptography/crls 

를하고 www가 데이터 그룹에 권한을 부여

sudo chgrp www-data /var/www/.dotnet/corefx/cryptography/crls