我想知道如何將服務器的本地用戶添加到 docker 容器中。我不需要匯入他們的檔案,我只需要一個用戶名/密碼/權限,在 docker 容器中為我系統中的每個用戶提供一個新的主目錄。例如,假設我的 docker 容器包含以下用戶:
主機系統:
admin:誰擁有所有 root 訪問權限和 rw 訪問權限
bob:一個普通的非 sudo 用戶
joe:另一個普通的非 sudo 用戶
那么 Docker 容器必須有用戶:
admin:誰擁有所有的 root 訪問權限和 rw 訪問權限
bob:一個普通的非 sudo 用戶
joe:另一個普通的非 sudo 用戶
Docker容器和系統都運行linux,雖然系統是red hat,容器是ubuntu。
編輯:如果可能的話,我不想掛載 /etc/ 檔案,因為這會造成一個雙向安全漏洞,正如@caveman所指出的
uj5u.com熱心網友回復:
你將不得不使用安裝所有相關的Linux檔案-v一樣/etc/passwd,/etc/shadow,/ect/group,和/etc/sudoers。雖然由于安全風險我不能推薦這個,但如果有人在容器中獲得 root 訪問權限,他們可以在主機上添加用戶或更改密碼,因為他的掛載是雙向的。
檔案串列并不詳盡,例如,您還必須確保容器中存在 shell 可執行檔案。當測驗此我不得不作出一個符號鏈接從/usr/bin/zsh到/bin/bash的例子,因為我的用戶配置zsh的外殼這是不存在的碼頭工人形象。
如果要使用這些用戶與掛載的檔案進行互動,還必須確保禁用用戶命名空間重新映射,或者指定要使用與帶有--userns=host標志的主機相同的用戶命名空間。同樣,不推薦,因為它是一項安全功能,因此請謹慎使用。
注意:完成所有這些操作后,您可以su - {username}切換到所有現有用戶。這些-u選項不起作用,因為 docker/etc/passwd在掛載前檢查檔案并會出錯。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/346788.html
