Linux

如何使用系統使用者執行 sudo 命令?

  • March 6, 2022

我想在 Docker 中執行我的世界伺服器,所以我開始遵循本指南。在指南中,建議創建一個具有主目錄 ( ) 的系統使用者/opt/minecraft,但沒有密碼(您應該無法使用該使用者“登錄”)來執行伺服器。它使用以下命令:sudo useradd -r -m -U -d /opt/minecraft -s /bin/bash minecraft.

我切換到新創建的 minecraft “系統使用者” –> sudo su - minecraft

問題

所以,我想使用dockerdocker-compose,這就是問題出現的地方:

  • 當我嘗試使用 docker-compose 執行時sudo,它會要求我輸入密碼(顯然,該使用者沒有密碼)。
  • 當我嘗試不使用 sudo時,我得到了cannot create user data directory: /opt/minecraft/snap/docker/1458: Permission denied

我不確定在這裡做什麼。我無法執行 docker。我想我不想從使用者那裡刪除密碼(會有安全風險),我不想為使用者添加密碼(然後你可以通過 ssh 或其他方式登錄)。我是以錯誤的方式接近這個嗎?

這是因為我使用的是snap.

顯然snap不允許執行不在home目錄下的任何東西。我解除安裝了該snap docker版本並從中安裝了它apt,現在它可以工作了(除了@madacoda 的答案,通過使用該docker組)。

考慮添加一個特權 docker 組 https://docs.docker.com/engine/install/linux-postinstall/

這將允許您在不需要 root 或 sudo 的情況下執行 docker 命令

引用自:https://serverfault.com/questions/1095445