Làm thế nào để tìm ra nhóm người dùng nào có?


256

Trong Unix / Linux, làm thế nào để bạn tìm ra nhóm người dùng cụ thể đang ở trong dòng lệnh nào?


23
Để có được điều ngược lại, hãy xem ai thuộc nhóm nào, bạn có thể sử dụng getent group <groupname>.
iconoclast

1
@iconoclast: không liệt kê người dùng thuộc nhóm trong / etc / passwd.
dùng2284570

Câu trả lời:



102

Cái này cho thấy uid của người dùng cũng như tất cả các nhóm (có gids của họ) mà họ thuộc về

id userid

2
Điều này dường như là khá hữu ích là tốt. Nó có đầu ra dài dòng hơn lệnh 'nhóm', vì vậy nếu bạn cần id nhóm / id người dùng, hãy sử dụng cái này!
Alex Argo

Đây phải là câu trả lời chi tiết và chính xác nhất, có một upvote!
Harvey Lin

16

Trên Linux / OS X / Unix để hiển thị các nhóm mà bạn (hoặc người dùng được chỉ định tùy chọn) thuộc về, sử dụng:

id -Gn [user]

tương đương với groups [user]tiện ích đã bị lỗi thời trên Unix.

Trên OS X / Unix, lệnh id -p [user]được đề xuất cho tương tác bình thường.

Giải thích về các tham số:

-G, --groups- in tất cả ID nhóm

-n, --name- in tên thay vì số, cho-ugG

-p - Làm cho đầu ra con người có thể đọc được.


0

hoặc chỉ học / etc / nhóm (ok điều này có thể không hoạt động nếu nó sử dụng pam với ldap)


7
Thật vậy, đó là một câu trả lời tồi. "Nhóm nhận được" là một nhóm tốt hơn.
bortzmeyer

0

Dưới đây là tập lệnh được tích hợp vào bảng điều khiển và tạo bảng điều khiển ở định dạng CSV.

sh collection.sh

#!/bin/bash

HOSTNAME=`hostname -s`

for i in `cat /etc/passwd| grep -vE "nologin|shutd|hal|sync|root|false"|awk -F':' '{print$1}' | sed 's/[[:space:]]/,/g'`; do groups $i; done|sed s/\:/\,/g|tr -d ' '|sed -e "s/^/$HOSTNAME,/"> /tmp/"$HOSTNAME"_inventory.txt

sudo cat /etc/sudoers| grep -v "^#"|awk '{print $1}'|grep -v Defaults|sed '/^$/d;s/[[:blank:]]//g'>/tmp/"$HOSTNAME"_sudo.txt

paste -d , /tmp/"$HOSTNAME"_inventory.txt /tmp/"$HOSTNAME"_sudo.txt|sed 's/,[[:blank:]]*$//g' >/tmp/"$HOSTNAME"_inventory_users.txt

Đầu ra của tôi được lưu trữ trong các tập tin văn bản dưới đây.

cat /tmp/ANSIBLENODE_sudo.txt
cat /tmp/ANSIBLENODE_inventory.txt
cat /tmp/ANSIBLENODE_inventory_users.txt
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.