Users
adduser, addgroup ‘正在使用的組’
我正在嘗試創建一個系統範圍的 PulseAudio 守護程序*(我知道與之相關的安全問題)*。但是,通過 PulseAudio 守護程序(以 root 身份)播放時,我遇到了拒絕訪問錯誤。我認為這可能是因為 root 使用者不在脈衝訪問組中。
我嘗試添加它:
adduser root pulse-access
不幸的是,這讓我回到了這個錯誤:
addgroup: group 'root' in use
我在一個小型 BusyBox 上執行,它沒有更高級的 useradd 等命令。
為什麼我不能/我應該如何將使用者添加到特定組,只能訪問這兩個命令?
將 PulseAudio 作為系統範圍的守護程序執行 https://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/SystemWide/
BusyBox 可以在禁用 FEATURE_ADDUSER_TO_GROUP 的情況下編譯(buildroot-2017.08 的預設行為)。如果是這種情況,則無法將 addgroup 或 adduser 添加到組中。至少在理論上,因為當我啟用該功能時,我仍然遇到同樣的錯誤。
簡單的解決方案:直接編輯 /etc/group,然後自己添加使用者。例如:
pulse-access:x:1003:pulse,root
在為 buildroot 建構執行此操作時,您可能希望在 fakeroot 腳本步驟中添加它:
# Add root user to pulse-access group if [ -e ${TARGET_DIR}/etc/group ]; then sed -i '/^pulse-access:/s/\(.*\)/\1,root/;s/:,/:/' ${TARGET_DIR}/etc/group fi