Выполните команды на сервере, работающем в соответствии с системной учетной записью

Я устанавливаю сервер Minecraft в системе Ubuntu. Когда я запускаю сервер из командной строки, сервер слушает стандартный вход и отвечает на различные команды (такие как изменение игрового режима, уровня трудности или время суток):

enter image description here

(См. эту демонстрацию ввода команд в консоль сервера),

Мне не нравится запирать моего пользователя root для выполнения Minecraft, тем не менее, поэтому сегодня, я устанавливаю названного пользователя системы, просто, "Minecraft":

sudo adduser --system --no-create-home --home /srv/minecraft-server minecraft
sudo addgroup --system minecraft
sudo adduser minecraft minecraft # this adds user "minecraft" the group "minecraft"

и я использую файл конфигурации для запуска сервера Minecraft при том пользователе:

start on runlevel [2345]

console log
chdir /minecraft_server
setuid minecraft
setgid minecraft

respawn
respawn limit 20 5

exec /usr/bin/java -Xms1024M -Xmx1800M -jar minecraft_server.1.8.jar nogui

Я хочу отправить команды на сервер Minecraft через стандартный вход, так же, как я могу к тому, когда я запускаю его при текущем пользователе. Я попробовал su и sudo, но первое, кажется, проигнорировано и вторые продукты "команда, не найденная" ошибка. Так как Minecraft является пользователем системы, я предполагаю, что интерактивный вход в систему отключен.

enter image description here

Я работал с системами Linux немного в прошлом, но я вне своей глубины здесь. Как я могу передать команды пользователю Minecraft для передачи серверу Minecraft? Или разве который не возможен в моей текущей ситуации?

1
задан 19 September 2014 в 01:03

1 ответ

bodhi.zazen, упомянутый возможно" выполнение на экране ". Я не услышал о экран прежде, но это, кажется, решило проблему.

Первый, я должен был удалить пользователя Minecraft и воссоздать его как обычный пользователь. Тогда я дал пользователю Minecraft необходимые полномочия папке сервера Minecraft (использующий chmod). После того, как я успешно запустил сервер Minecraft с новой учетной записи пользователя Minecraft, я остановил его и запустил экранную сессию:

enter image description here

и затем запустил сервер Minecraft назад снова (в экране):

enter image description here

я тогда использовал стандартный экранный ярлык для отсоединения с экрана ( Ctrl + тогда просто d ). Сервер Minecraft продолжает работать в backround:

enter image description here

я могу легко повторно прикрепить для издания команд с помощью screen -r:

enter image description here

enter image description here

я могу закончить свою сессию SSH, не закрывая сервер, затем войти в от различной машины. Например, здесь я вхожу в использовании телефона на базе Android и JuiceSSH:

(noitce, что Вы видите команды, которые я ранее дал, так как экран никогда не завершался)

3
ответ дан 10 November 2019 в 19:22

Другие вопросы по тегам:

Похожие вопросы: