Рейтинг:1

Как запускать команды sudo от системного пользователя?

флаг br

Я хочу запустить сервер minecraft в Docker, поэтому я начал следить за это руководство. В руководстве рекомендуется создать системный пользователь с домашним каталогом (/опт/майнкрафт), но без пароля (вы не сможете «войти» под этим пользователем) для запуска сервера. Он использует следующую команду: sudo useradd -r -m -U -d /opt/minecraft -s /bin/bash майнкрафт.

Я переключился на недавно созданного «системного пользователя» в minecraft --> судо су - майнкрафт.

Эта проблема
Итак, я хочу использовать докер или же docker-compose, и вот где возникает проблема:

  • Когда я пытаюсь запустить docker-compose, используя судо, он запрашивает у меня пароль (которого, очевидно, у этого пользователя нет).
  • когда я попробую без судо, Я получил не удается создать каталог пользовательских данных: /opt/minecraft/snap/docker/1458: разрешение отклонено.

Я не совсем уверен, что делать здесь. Я не могу запустить докер. Думаю, я не хочу удалять пароль пользователя (это было бы угрозой безопасности), и я не хочу добавлять пароль для пользователя (тогда вы можете войти через ssh или что-то в этом роде). Я подхожу к этому неправильно?

флаг cn
Для использования команд докера необходимо иметь права sudoer. Либо `sudo docker`, либо откройте корневую оболочку и выполните команды.
флаг br
Ну, это как раз моя проблема. См. пункт 1 — «Когда я пытаюсь запустить docker-compose **используя sudo**, он запрашивает пароль (которого, очевидно, у этого пользователя нет)». Этот пользователь должен иметь возможность запускать команды, иначе весь смысл этого пользователя будет спорным.
флаг cn
Я забыл упомянуть, что можно добавить группу Docker и сделать это таким образом. Я не использовал Docker довольно давно.
Рейтинг:1
флаг jo

Изучите возможность добавления привилегированной группы докеров https://docs.docker.com/engine/install/linux-postinstall/

Это позволит вам запускать команды Docker, не требуя root или sudo.

флаг br
Хорошая идея. Я сделал это, так что теперь мой пользователь ``minecraft`` находится в группе ``docker``. Однако я получаю точно такую ​​же ошибку («невозможно создать каталог пользовательских данных: /opt/minecraft/snap/docker/1458: Отказано в доступе»). Я также удалил каталог докеров, а также вышел из системы/вошел в систему и попытался снова. Та же ошибка. Он создает ``snap/docker/1458 + common + current`` и возвращает приведенное выше сообщение. Я что-то пропустил? Я мог бы добавить, что все под моими пользователями ``minecraft`` ``/`` принадлежит пользователю ``minecraft``.
флаг br
Может быть, это из-за того, что я использую ``snap``?
флаг br
Это БЫЛО, потому что я использовал ``snap``! Очевидно [``Snap`` не позволяет запускать что-либо, что не находится в ``home`` каталоге](https://askubuntu.com/questions/930437/permission-denied-error-when-running-apps-installed -as-snap-packages-ubuntu-17). Я удалил версию ``snap`` ``docker`` и вместо этого установил ее из ``apt``, и теперь она работает (с дополнением к ответу @madacoda, используя группу ``docker``).
Рейтинг:0
флаг br

Это потому, что я использовал щелчок.

По всей видимости щелчок не позволяет запускать что-либо, что не находится под дом каталог. я удалил щелчок докер версии и установил ее из подходящий вместо этого, и теперь он работает (с дополнением к ответу @madacoda, используя докер группа).

madacoda avatar
флаг jo
Конечно, было бы неплохо отметить мой ответ, если бы он решил часть вашей проблемы.
флаг br
В этом случае ваш ответ не решил мою проблему (Snap блокировал использование не домашних каталогов). На самом деле, это даже не решило часть моей проблемы, а решило отдельную проблему (запуск команд docker без использования sudo/root). Следовательно, нет смысла отмечать ваш ответ как решенный. Таким образом, следующий человек, который получит это сообщение об ошибке, сможет сразу перейти к правильному решению, вместо того, чтобы сбиваться с толку решением, которое не решает реальной проблемы. Тем не менее, я проголосовал за ваш ответ, так как он был полезен, и просто чтобы вы знали, я очень ценю вашу помощь и благодарю вас за нее!

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.