มีเครื่องมือ (!) ในการแสดงค่า subuid และ subgid สำหรับผู้ใช้หรือไม่?


13

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
การสนับสนุนเครื่องมือสำหรับเนมสเปซนั้นล้าหลังการสนับสนุนเคอร์เนลดังนั้นจึงไม่แปลกใจเลยถ้าคำตอบคือ“ เครื่องมือเหล่านี้ยังไม่มีอยู่” หรืออย่างน้อย“ เครื่องมือเหล่านี้ยังไม่ได้ทำการแจกจ่ายส่วนใหญ่”
Gilles 'หยุดความชั่วร้าย'

คำตอบ:


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.