ユーザーに割り当てられたsubuidとsubgidの値をリストするツール(!)はありますか?


14

usermod -v--add-sub-uids)およびusermod -w--add-sub-gids)を使用して、ユーザーアカウントのsubuidおよびsubgidの範囲を操作できますが、それらを単に一覧表示できるツールはないようです。あるの?

少なくとも私のUbuntu 14.04ボックスでgetentは、/etc/subuidとからの情報を処理する準備ができていないようです/etc/subgid

現在、私はawk目的のために使用している小さなシェルスクリプトを使用しています。


ここからの抜粋ですusermod(8)

-v, --add-sub-uids FIRST-LAST
    Add a range of subordinate uids to the users account.
[...]
-V, --del-sub-uids FIRST-LAST
    Remove a range of subordinate uids from the users account.
[...]
-w, --add-sub-gids FIRST-LAST
    Add a range of subordinate gids to the users account.
[...]
-W, --del-sub-gids FIRST-LAST
    Remove a range of subordinate gids from the users account.
[...]

3
名前空間のツールサポートはカーネルサポートに遅れをとっています。そのため、答えが「これらのツールはまだ存在しない」、または少なくとも「これらのツールはまだほとんどのディストリビューションに組み込まれていません」であったとしても驚かないでしょう。
ジル「SO-悪であるのをやめる」

回答:


1

とりあえず、私が使用しているシェルスクリプトを次に示します。

#!/bin/bash
SUBUID=/etc/subuid
SUBGID=/etc/subgid
for i in $SUBUID $SUBGID; do [[ -f "$i" ]] || { echo "ERROR: $i does not exist, but is required."; exit 1; }; done
[[ -n "$1" ]] && USERS=$1 || USERS=$(awk -F : '{x=x " " $1} END{print x}' $SUBUID)
for i in $USERS; do
        awk -F : "\$1 ~ /$i/ {printf(\"%-16s sub-UIDs: %6d..%6d (%6d)\", \$1 \",\", \$2, \$2+\$3, \$3)}" $SUBUID
        awk -F : "\$1 ~ /$i/ {printf(\", sub-GIDs: %6d..%6d (%6d)\", \$2, \$2+\$3, \$3)}" $SUBGID
        echo ""
done

構文:

showsubids [username]

ユーザー名が指定されていない場合、すべてがリストされます。ユーザー名を指定すると、そのユーザーのエントリのみが表示されます。

エラー処理は最適ではありませんが、誰かを助ければ...

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.