尝试在运行 Ubuntu(版本 18.04.3 LTS,64 位)的旧 HP ProLiant 上为 Ark 设置游戏服务器。规范为 72GB RAM,Intel Xeon X5650 @ 2.67 GHz x2。我一直在学习 Ubuntu,所以我几乎不知道自己在做什么,并意识到我可能只是犯了一些愚蠢的错误......但我完全迷失了。多亏了谷歌,我设法完成了很多工作,但即使是谷歌似乎也无法再帮助我了。
我一直在使用多个指南来帮助我进行设置。
我已经多次检查了这些指南中的每一步,至少设法达到了我被这个“权限被拒绝”错误困住的地步。
我已经尝试了这个 Google 搜索下提供的所有解决方案:https://www.google.com/search?q=linux+%22failed+to+execute+command%3A+permission+denied%22
此外,我尝试执行命令以使用和不使用“sudo”来启动服务器。
我的猜测是它试图访问的文件由于某种原因是不允许的,但我似乎找不到适合我的解决方案。
[Unit]
Description=ARK: Survival Evolved dedicated server
Wants=network-online.target
After=syslog.target network.target nss-lookup.target network-online.target
[Service]
ExecStartPre=/home/kinare/steamcmd +login anonymous +force_install_dir /home/kinare/ark +app_update 376030
ExecStart=/home/kinare/ark/ShooterGame/Binaries/Linux/ShooterGameServer.exe Ragnarok?SessionName="Togerland - PVE Ragnarok"?AltSaveDirectoryName=RagSave?Port=7777?QueryPort=27015 -NoTransferFromFiltering -exclusivejoin -clusterid=Togerland
ShooterGameServer.exe Aberration_P?SessionName="Togerland - PVE Aberration"?AltSaveDirectoryName=AbSave?Port=7779?QueryPort=27017 -NoTransferFromFiltering -exclusivejoin -clusterid=Togerland
WorkingDirectory=/home/kinare/ark/ShooterGame/Binaries/Linux
LimitNOFILE=500000
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s INT $MAINPID
User=steam
Group=steam
[Install]
WantedBy=multi-user.target
仅包括集群内的 6 个 map 中的 2 个以节省空间,希望这就足够了。
预期的结果应该是它没有启动失败...错误消息:
ark-dedicated.service - ARK: Survival Evolved dedicated server
Loaded: loaded (/etc/systemd/system/ark-dedicated.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Fri 2019-10-18 15:35:19 EDT; 56s ago
Process: 6383 ExecStartPre=/home/kinare/steamcmd +login anonymous +force_install_dir /home/kinare/ark +app_update 376030 (code=exited, status=203/EXEC)
Oct 18 15:35:19 togerland-server systemd[1]: Starting ARK: Survival Evolved dedicated server...
Oct 18 15:35:19 togerland-server systemd[6383]: ark-dedicated.service: Failed to execute command: Permission denied
Oct 18 15:35:19 togerland-server systemd[6383]: ark-dedicated.service: Failed at step EXEC spawning /home/kinare/steamcmd: Permission denied
Oct 18 15:35:19 togerland-server systemd[1]: ark-dedicated.service: Control process exited, code=exited status=203
Oct 18 15:35:19 togerland-server systemd[1]: ark-dedicated.service: Failed with result 'exit-code'.
Oct 18 15:35:19 togerland-server systemd[1]: Failed to start ARK: Survival Evolved dedicated server.
最佳答案
您的 systemd 服务使用用户和组 Steam
...
User=steam
Group=steam
...
您正在 kinare 的家中启动您的方舟服务器
ExecStart=/home/kinare/ark/ShooterGame/Binaries...
并且您的系统日志显示:“权限被拒绝”:
Oct 18 15:35:19 togerland-server systemd[6383]: ark-dedicated.service: Failed to execute command: Permission denied
Steam 用户有权读取
/home/kinare
中的文件?您可以通过以下几种方式解决此问题:
/home/kinare
读取的权限# change the group of all files and dirs in /home/kinare to steam
chgrp -R steam /home/kinare
# give the group read rights on all files and dirs /home/kinare
chmod -R g+r /home/kinare
# allow the group to open folders under /home/kinare
find /home/kinare -type d -exec chmod 750 {} \;
将您的方舟和 Steam 移动到 Steam 用户的家(/home/steam)并更改
根据需要您的单元文件。请记住,您需要更改权限
/home/steam 中的文件。这是首选,您可以使用服务帐户
您的管理员用户 kinare
User=kinare
Group=kinare
ark 现在将以用户 kinare 运行。这是不太优选的,请参阅:
https://unix.stackexchange.com/questions/314725/what-is-the-difference-between-user-and-service-account
希望这有帮助,祝你好运
关于linux - "failed to execute command: permission denied"Ubuntu 18.04.3 LTS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58457592/