Linux
如何使用系統使用者執行 sudo 命令?
我想在 Docker 中執行我的世界伺服器,所以我開始遵循本指南。在指南中,建議創建一個具有主目錄 ( ) 的系統使用者
/opt/minecraft
,但沒有密碼(您應該無法使用該使用者“登錄”)來執行伺服器。它使用以下命令:sudo useradd -r -m -U -d /opt/minecraft -s /bin/bash minecraft
.我切換到新創建的 minecraft “系統使用者” –>
sudo su - minecraft
。問題
所以,我想使用docker或docker-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 命令