Чи є інструмент (!) Для перерахування призначених для користувачів підзарядних та субгідрисних значень?


13

usermod -v( --add-sub-uids) та usermod -w( --add-sub-gids) можуть використовуватися для маніпулювання підвищеними та підкладними діапазонами для облікового запису користувача, але, мабуть, немає інструменту, який міг би просто перелічити їх. Є такий?

Принаймні, на моєму полі 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
Підтримка інструментів для просторів імен відстає від підтримки ядра, тому мене не здивує, якби відповідь була "ці інструменти ще не існують" або, принаймні, "ці інструменти ще не зробили її в більшості дистрибутивів".
Жиль 'ТАК - перестань бути злим'

Відповіді:


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]

Якщо ім'я користувача не вказано, усі будуть вказані в списку. Якщо ім’я користувача вказано, будуть показані лише записи для нього.

Помилка в обробці є неоптимальною, але якщо це допомагає комусь ...

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.