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

[Unit]
Description= .NET Web API App for centos

[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

[Install]
WantedBy=multi-user.target

当我这样做时>sudo systemctl restart kestrel-dotnetapp.service出现错误。

Jun 04 22:51:28 主机名 systemd[1827]: kestrel-dotnetapp.service: 无法执行命令:权限被拒绝
Jun 04 22:51:28 主机名 systemd[1827]: kestrel-dotnetapp.service: 在步骤 EXEC 生成时失败/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

相关内容