|
|
|
|
Google Site
|
|||||||
| Форуми | Регистрация | Блог | Човекът Страници | Форум Правила | Връзки | Албуми | Често задавани въпроси | Потребители | Календар | Търся | Днешната Постове | Марк Форуми Прочети |
| Shell Програмиране и скриптове Пост въпроси за KSH, CSH, SH, Bash, Perl, PHP, SED, AWK И ДРУГИ черупки скриптове и черупки скриптови езици тук. |
![]() |
|
|
Нишка Инструменти | Търсене в тази нишка | Оцени резба | Покажи Режими |
|
|||
|
Списък на потребителите по Unix група (основно и средно)
Има ли команда или по-добра комбинация от cmds че ще ми даде списък на Unix потребителите по-специално дали групата Unix основната им група е, че въпросната група (информация, съхранявани в / и т.н. / passwd) или те са в вторична група (информация съхранявани в / и т.н. / група).
Досега всичко, което имам е комбинация от следните неща: groupName \u003d XXXXX groupId \u003d $ (getent група | egrep "$ ^ (groupName):" | рязани-D:-F3) getent passwd | egrep "^.*:.*:.*:${ groupId) "| рязани-F1-D: getent група | egrep "$ ^ (groupName):" | рязани-F4-D: (Да за всички вас НРС и / или LDAP момчета, аз го използвате командите getent) ![]() |
| Спонсорирани Връзки |
|
|
|
|||
|
Цитат:
Код:
#!/usr/bin/env python
d={}
for line in open("/etc/group"):
line=line.strip().split(":")
users=line[3]
if users:
for u in users.split(","):
d.setdefault(u,[])
d[u].append(line[0])
for i,j in d.iteritems():
print "%s is in groups: %s" %(i,j)продукция Код:
# ./test.py daemon is in groups: ['bin'] user5 is in groups: ['dialout', 'video'] user2 is in groups: ['dialout', 'video'] user3 is in groups: ['dialout', 'video'] user1 is in groups: ['dialout', 'video'] nobody is in groups: ['nogroup'] |
|
|||
|
Код:
groupName="$1"
# Save some processing, no need to call getent so much.
#
groupEntry=$(getent group | grep "^${groupName}:")
if [ ! "$groupEntry" ]; then
echo "Group $groupName does not exist." >&2
exit 1
fi
# Note it IS possible that the same group is found in a local /etc/group
# as well as another source, you'll get two results. We'll assume the
# first one wins.
#
groupId=$(echo "$groupEntry" | cut -d: -f3 | head -1)
# A username could be in a primary group and have that SAME primary
# group redundantly set as a secondary group.
#
passwdUser=$(getent passwd | cut -d: -f1,4 | grep ":${groupdId}$" | cut -d: -f1)
echo "${groupEntry},${passwdUser}" | cut -d: -f4 | tr ',' '\012' | sed '/^$/d' | sort -u |
|
|||
|
Благодаря на всички, на операционната система Solaris и "вход-G <grp>" команда работи прекрасно и предлага някои видимост на първични спрямо средните групи, както следва:
вход-G unixGrpName myadm 10000 myadm 10000 myserv 10200 myserv 10200 dbadm 10300 myadm 10000 Cuser1 47001 unixGrpName 47000 GECOS за CUser1 CUser2 47002 unixGrpName 47000 GECOS за CUser2 CUser3 47003 unixGrpName 47000 GECOS за CUser3 Слава да Метил! |
| Спонсорирани Връзки | ||
|
|
![]() |
| Маркери |
| Нишка Инструменти | Търсене в тази нишка |
| Покажи Режими | Оцени тази тема |
|
|
Още UNIX и Linux Форум Теми Можете да намерим Полезни
|
||||
| Нишка | Нишка Начално | Форум | Отговори | Последно мнение |
| Синхронизирането първични и вторични име сървъри | a2z1982 | UNIX за манекени Въпроси & Отговори | 4 | 11-01-2008 04:18 ч. |
| първични-вторични синхронизация проблем | mbannout | UNIX за Разширено & експерт Потребители | 0 | 04-15-2008 06:52 AM |
| Промяна на потребителска група, след първична вход | terrym | UNIX за Разширено & експерт Потребители | 3 | 02-09-2007 03:03 AM |
| Възлагане на съществуващите потребители на вторична група | jyotipg | UNIX за манекени Въпроси & Отговори | 1 | 05-15-2002 04:45 AM |
| Как да намерите всички Първичен и Вторичен Група идентификатор на потребителя за | sanjay92 | UNIX за манекени Въпроси & Отговори | 2 | 03-27-2002 02:35 AM |