«Не удалось выполнить команду: разрешение запрещено» Ubuntu 18.04.3 LTS - PullRequest
0 голосов
/ 18 октября 2019

Попытка настроить игровой сервер для Ark на старом HP ProLiant под управлением Ubuntu (версия 18.04.3 LTS, 64-bit). Характеристики: 72 ГБ ОЗУ, Intel Xeon X5650 @ 2,67 ГГц x2. Я изучаю Ubuntu по пути, поэтому я почти не знаю, что делаю, и понимаю, что могу просто сделать какую-то глупую ошибку ... но я полностью потерян. Мне удалось сделать многое благодаря Google, но даже Google, похоже, больше мне не помогает.

Я использовал несколько руководств, чтобы помочь мне настроить его.

  1. https://ark.gamepedia.com/Dedicated_Server_Setup#Linux_.28via_systemd.29
  2. http://arksurvivalevolved.gamewalkthrough -universe.com / выделенные серверы / linux / Default.aspx
  3. https://survivetheark.com/index.php?/forums/topic/87419-guide-cluster-setup/

Я прошел каждый шаг в этих руководствах несколько раз и, по крайней мере, смог добраться до того момента, когда я застрял в этой ошибке «Отказано в доступе».

Я перепробовал все решения, представленные в этом Googlesearch: 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

Включая только 2 из 6 карт, которые находятся внутри кластера для экономии места, надеюсь, этого достаточно.

Ожидаемый результат: если он не запускается ... Сообщение об ошибке:

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.

1 Ответ

1 голос
/ 19 октября 2019

ваша служба systemd использует пользователя и группы steam

...
User=steam
Group=steam
...

вы запускаете свой сервер ark из дома 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?

Вы можете решить эту проблему несколькими способами:

  • дать пользователю Steam права на чтение из /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

  • смените пользователя и группу, используемые в файле службы systemd

    User=kinare
    Group=kinare
    

    ark теперь будетзапустить как пользователь kinare. Это менее предпочтительно, см .: https://unix.stackexchange.com/questions/314725/what-is-the-difference-between-user-and-service-account

    надеюсь, это поможет, удачи

...