kestrel-dotnetapp.service: EXEC 단계에서 /usr/local/dotnet 생성에 실패했습니다. 권한이 거부되었습니다.

kestrel-dotnetapp.service: EXEC 단계에서 /usr/local/dotnet 생성에 실패했습니다. 권한이 거부되었습니다.

MS에 제공된 단계를 사용하여 Centos8에 .NET Core(3.1) 애플리케이션을 설치하려고 합니다.입력하다.

Microsoft 설명서에 따른 서비스 파일/etc/systemd/system/kestrel-dotnetapp.service

[단위]
설명= centos용 .NET 웹 API 앱

[Service]
WorkingDirectory=/var/Application/netcoreapp31
ExecStart=/usr/local/dotnet /var/Application/netcoreapp31/helloapp.dll
Restart=always # 10초 후에 다시 시작 서비스 dotnet 서비스가 충돌하는 경우:
RestartSec=10
KillSignal=SIGINT
SyslogIdentifier=dotnetapp
User=user
Environment=ASPNETCORE_ENVIRONMENT=Production
Environment=DOTNET_PRINT_TELEMETRY_MESSAGE=false

[설치]
WantedBy=multi-user.target

이렇게 하면 > sudo systemctl restart kestrel-dotnetapp.service오류가 발생합니다.

6월 4일 22:51:28 호스트 이름 systemd[1827]: kestrel-dotnetapp.service: 명령을 실행할 수 없습니다: 권한이 거부되었습니다.
6월 4일 22:51:28 호스트 이름 systemd[1827]: kestrel-dotnetapp.service: EXEC 단계에서 실패했습니다. build /usr/local/dotnet: 권한 거부됨
-- 제목: 프로세스 /usr/local/dotnet을 실행할 수 없음
-- 정의자: systemd

아래서 찾다ls-la:

[user@hostname dotnet]$ ls -la
total 108
drwxr-xr-x.  4 root root    94 Apr 22 09:34 .
drwxr-xr-x. 14 root root   154 Jun  4 21:11 ..
-rwxr-xr-x.  1 root root 73048 Apr 22 09:32 dotnet
drwxr-xr-x.  3 root root    17 Apr 22 09:34 host
-rw-r--r--.  1 root root  1116 Apr 22 09:29 LICENSE.txt
drwxr-xr-x.  4 root root    67 Apr 22 09:34 shared
-rw-r--r--.  1 root root 31330 Apr 22 09:29 ThirdPartyNotices.txt

내 애플리케이션 결과물 폴더

[user@hostname Application]$ ls -la
total 8
drwxr-xr-x.  3 root root     26 Jun  4 20:53 .
drwxr-xr-x. 22 root root   4096 Jun  4 20:53 ..
drwxr-xr-x.  2  777 user 4096 Jun  4 20:45 netcoreapp31

답변1

Redhat OS usr/bin/dotnet 권한 거부에 대한 다음 해결 방법을 찾으십시오.

  1. ExecStart=/usr/bin/dotnet/dotnet
  2. 서비스 파일 권한 부여(예:chmod 755 your filename.service
  3. 권한을 부여한 후 다음 명령을 실행하십시오.
    sudo systemctl enable Your filename.service
    sudo systemctl start  Your filename.service  
    sudo systemctl status Your filename.service          
    

파일 이름의 예:abc.service

관련 정보