사용자에게 할당 된 subuid 및 subgid 값을 나열하는 도구 (!)가 있습니까?


13

usermod -v( --add-sub-uids) 및 usermod -w( --add-sub-gids)는 사용자 계정의 하위 및 하위 범위를 조작하는 데 사용할 수 있지만 단순히 나열 할 수있는 도구는없는 것 같습니다. 하나 있습니까?

적어도 내 우분투 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
네임 스페이스에 대한 툴 지원은 커널 지원보다 뒤떨어져 있으므로,“이 툴은 아직 존재하지 않습니다”또는 최소한“이 툴이 아직 대부분의 배포판에 포함되지 않았다”고 대답하는 것은 놀라운 일이 아닙니다.
Gilles '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.