by Rain Chu | 11 月 1, 2024 | Docker, MIS
如果遇到別人包裝好的 docker (99%都是),常會遇到沒有 root 密碼的情形,這時候有幾個解決方法,列舉如下
直接使用 root 的權限進入系統
docker exec -u 0 -it mycontainer bash
或是下面的指令也可以
docker exec -u root -it --workdir / <containerName> bash
修改 root 密碼
安裝 sudo
apt-get install sudo
usermod -aG sudo dev
參考資料
https://stackoverflow.com/questions/28721699/root-password-inside-a-docker-container
by Rain Chu | 4 月 16, 2024 | Nginx, SERVER, web, wordpress, 程式
sudoers
檔案控制了使用者及群組在使用 sudo
指令時的權限。為了安全編輯這個檔案,應該使用 visudo
指令,因為它會檢查語法錯誤,避免創建一個無法使用的 sudoers
檔案。
更新 sudoers
檔案的步驟:
開啟終端機:
開啟你的伺服器的命令行介面。
使用 visudo
編輯 sudoers
檔案: 輸入以下指令以安全方式編輯 sudoers
檔案:
新增規則:
在編輯器中,新增一條規則,允許 www-data
使用者無需密碼執行特定指令。
www-data ALL=(ALL) NOPASSWD: /usr/bin/rm -rf /path/to/nginx/cache/*
指令的意義是:
www-data:指定的使用者。
ALL=(ALL):這表示 www-data
使用者可以從任何主機以任何使用者身份執行指令。
NOPASSWD:允許 www-data
使用者在執行指定的指令時不需要輸入密碼。
/usr/bin/rm -rf /path/to/nginx/cache/*:指定 www-data
使用者無密碼可以執行的指令。
儲存並退出編輯器:
如果你使用的是 nano
,按 Ctrl+X
來退出,然後按 Y
鍵儲存更改,最後按 Enter
鍵確認檔案名稱。
測試配置:
為了確保設定正確無誤,可以用 www-data
份執行指令:
sudo -u www-data sudo /usr/bin/rm -rf /path/to/nginx/cache/*
如果不需要密碼且指令執行成功,代表 sudoers
檔案配置正確。
安全注意事項:
- 最小權限原則:只授權必要的最小權限,避免給予
www-data
使用者太廣泛的權限。
- 明確指令路徑:使用完整的指令路徑(如
/usr/bin/rm
),避免安全風險。
- 定期審計:定期檢查
sudoers
檔案,確保所有條目仍然符合組織的安全政策和操作需要。
近期留言