adduser、addgroup "使用中のグループ"

adduser、addgroup "使用中のグループ"

システム全体のPulseAudioデーモンを作成しようとしています。(私はこれに関連するセキュリティ問題を知っています)。ただし、PulseAudioデーモンを介してrootとしてプレイすると、アクセス拒否エラーが発生します。おそらく、rootユーザーがpulse-accessグループに属していないためです。

私はそれを追加しようとしました:

adduser root pulse-access

残念ながら、このエラーが再発生します。

addgroup: group 'root' in use

私は高度なuseraddなどのコマンドがない小さなBusyBoxで実行しています。

これら2つのコマンドにのみアクセスできる特定のグループにユーザーを追加できないのはなぜですか。どうすればよいですか?

PulseAudioをシステム全体のデーモンとして実行する https://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/SystemWide/

答え1

BusyBoxはFEATURE_ADDUSER_TO_GROUPを無効にした状態でコンパイルできます(buildroot-2017.08のデフォルト動作)。この場合、addgroupまたはadduserをグループに追加することはできません。少なくとも理論的には、この機能を有効にしても同じエラーが発生するためです。

簡単な解決策:/ etc / groupを直接編集し、ユーザーを自分で追加します。たとえば、

pulse-access:x:1003:pulse,root

ビルドルートビルドに対してこれを行うと、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

関連情報