Go Back   За UNIX и Linux Форуми > Топ форуми > Shell Програмиране и скриптове
.
Google Site



Shell Програмиране и скриптове Пост въпроси за KSH, CSH, SH, Bash, Perl, PHP, SED, AWK И ДРУГИ черупки скриптове и черупки скриптови езици тук.

Closed Thread
English Japanese Spanish French German Portuguese Italian Осъществено от Powered by Google
 
Нишка Инструменти Търсене в тази нишка Оцени резба Покажи Режими
  #1 (Permalink)  
Old 05-20-2009
Регистрирани потребители
 

Присъедини Дата: Feb 2008
Мнения: 14
Списък на потребителите по 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)
Спонсорирани Връзки
  #2 (Permalink)  
Old 05-21-2009
...@...
 

Присъедини Дата: Feb 2004
Местоположение: NM
Мнения: 6172
Хм.
Някои системи имат listgroup команда - Провери ли за тази ваша команда?
  #3 (Permalink)  
Old 05-21-2009
Регистрирани потребители
 

Присъедини Дата: Sep 2006
Мнения: 2604
Цитат:
Първоначално Публикувано от ckmehta View Post
Има ли команда или по-добра комбинация от 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)
Ако имате Python, алтернативна

Код:
#!/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']

  #4 (Permalink)  
Old 05-21-2009
Регистрирани потребители
 

Присъедини Дата: Mar 2008
Мнения: 1643
Ако сте на "вход" команда:


Код:
logins -g <group name>

  #5 (Permalink)  
Old 05-21-2009
Регистрирани потребители
 

Присъедини Дата: May 2005
Мнения: 67

Код:
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

  #6 (Permalink)  
Old 05-27-2009
Регистрирани потребители
 

Присъедини Дата: Feb 2008
Мнения: 14
Благодаря на всички, на операционната система 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


Слава да Метил!
Спонсорирани Връзки
Closed Thread

Маркери

Нишка Инструменти Търсене в тази нишка
Търсене в тази нишка:

Разширено търсене
Покажи Режими Оцени тази тема
Оцени тази тема:

Правила за публикуване
Ти не може да публикувате нови конци
Ти не може да публикувате отговори
Ти не може да публикувате прикачени файлове
Ти не може да редактирате вашите мнения

BB код е На
Усмивки са На
[IMG] код На
HTML код е Отдалечаване
Trackbacks са На
Pingbacks са На
Refbacks са Отдалечаване


Още 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



Всички времена са GMT -4. В момента е: 08:54 ч..


Осъществено от: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Езикови преводи Осъществено от .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
За UNIX и Linux Форуми Content Copyright © 1993-2010. Всички права Reserved.Ad Управление чрез RedTyger

Съдържание съответно с URL адреси vBSEO 3.2.0