Portál AbcLinuxu, 6. května 2025 16:26

Dotaz: Jak zjistit cleny skupiny

polo23 avatar 25.7.2009 22:32 polo23 | skóre: 28 | blog: polo23
Jak zjistit cleny skupiny
Přečteno: 1879×
Odpovědět | Admin

Ahoj mam jeste takovy problem .... neznate nekdo prikaz ktery mi vypise cleny skupiny? Napr mam skupinu konstrukteri a chtel bych vedet kdo do ni patri. Vim da se dohledavat pres soubory passwd a group. Ale prece jen napsat prikaz ktery mi to vypise by bylo elegantnejsi.
 Diky

Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

25.7.2009 23:42 Franta Hanzlik
Rozbalit Rozbalit vše Re: Jak zjistit cleny skupiny
Odpovědět | | Sbalit | Link | Blokovat | Admin

groupmems -l -g konstrukteri

by mělo vypsat požadované. "groupmems" je z balíku "shadow-utils".

polo23 avatar 26.7.2009 12:47 polo23 | skóre: 28 | blog: polo23
Rozbalit Rozbalit vše Re: Jak zjistit cleny skupiny

Ten prikaz vypada ze by mohl vyresit muj problem. Bohuzel nevim jak ho zprovoznit.Shadow-utils samozrejme naistalovane mam le jak napisu groupmems tak mi to napise command not found:( Nevite jak to zprovoznit?

26.7.2009 07:45 pht | skóre: 48 | blog: pht
Rozbalit Rozbalit vše Re: Jak zjistit cleny skupiny
Odpovědět | | Sbalit | Link | Blokovat | Admin
Normálně se na to používá příkaz getent, který je součástí glibc. Např.
getent group
getent group konstrukteri
getent passwd
...
Tento příkaz spolupracuje s NIS takže není omezen na klasické /etc/group a passwd.
In Ada the typical infinite loop would normally be terminated by detonation.
polo23 avatar 26.7.2009 12:35 polo23 | skóre: 28 | blog: polo23
Rozbalit Rozbalit vše Re: Jak zjistit cleny skupiny

getent group konstrukteri mi vypsalo

konstrukteri:x:504

Ja jsem cekal jmena clenu...:(

Fuky avatar 26.7.2009 12:53 Fuky | skóre: 52 | blog: 4u
Rozbalit Rozbalit vše Re: Jak zjistit cleny skupiny

Však taky jména členů vypisuje, jsi si jistý, že máš v uvedené skupině nějaké uživatele?

$ getent group cdrom
cdrom:x:24:fuky,jitka,anysek
$ cat /etc/group |fgrep cdrom
cdrom:x:24:fuky,jitka,anysek

Fuky avatar 26.7.2009 13:08 Fuky | skóre: 52 | blog: 4u
Rozbalit Rozbalit vše Re: Jak zjistit cleny skupiny

BTW: není náhodou skupina 504 pro všechny uživatele "initial login group" tj. -g, ale ne -G, protože pak by nebyl záznam v /etc/groups, ale jen v /etc/passwd:

$ cat /etc/passwd |fgrep 504

Fuky avatar 26.7.2009 13:27 Fuky | skóre: 52 | blog: 4u
Rozbalit Rozbalit vše Re: Jak zjistit cleny skupiny
Příloha:

Jinak to co chceš Ti vypíše i následující skriptík, výstup si uprav dle potřeby.

#! /usr/bin/env python

import sys
import grp
import pwd

if (len(sys.argv) != 2):
    print "Usage: %s GROUP_NAME" % sys.argv[0]
    sys.exit()

group_name = sys.argv[1]
group_db = grp.getgrnam(group_name)

print "Users group %s:" % group_name
for user in group_db.gr_mem:
    print "    %s" % user

pwall = pwd.getpwall()

print "Users initial login group %s:" % group_name
for item in pwall:
    if (item.pw_gid == group_db.gr_gid):
        print "    %s" % item.pw_name

polo23 avatar 26.7.2009 21:35 polo23 | skóre: 28 | blog: polo23
Rozbalit Rozbalit vše Re: Jak zjistit cleny skupiny

Ja uz jsme zjistil ze to umi prikaz members. Bohuzel je jen pro debian. Sice jsme nasel source package ale neumim to z neho zkompilovat. Adresa je http://packages.debian.org/lenny/members. soubor se jmenuje members_20080128-4.tar.gz. Zkompilovat to neumim pac kdyz jsme to otevrel tak jsme tam nikde nevidel soubor configure atd. Ale zdrojak toho programu tam je. Tak kdyby nekdo vedel jak na to budu jen rad.

26.7.2009 21:39 Andrej Herceg | skóre: 43
Rozbalit Rozbalit vše Re: Jak zjistit cleny skupiny
Stačí spustiť program make (v tom adresári so súborom Makefile).
polo23 avatar 26.7.2009 22:03 polo23 | skóre: 28 | blog: polo23
Rozbalit Rozbalit vše Re: Jak zjistit cleny skupiny

to bylo prvni co me napadlo.... ale dopadlo to takto:


g++ -g -Wno-deprecated -c -o members.o members.cc
make: g++: command not found
make: ***: [members.o] error 127

Ted instaluju gcc podle me by mohl byt problem v tom.

26.7.2009 22:06 1john2 | skóre: 35 | blog: jo12hn | zlín, brno
Rozbalit Rozbalit vše Re: Jak zjistit cleny skupiny
je nutne nainstalovat make vcetne zavistlosti, plus gcc a g++ vy v tomhle pripadne potrebujete g++ a mozna neco dalsiho o co si make rekne
Fuky avatar 26.7.2009 22:06 Fuky | skóre: 52 | blog: 4u
Rozbalit Rozbalit vše Re: Jak zjistit cleny skupiny

Dík za info, o utilitě members jsem nevěděl. Koukal jsem na ní a je to defacto C++ obdoba skriptíku v Pythonu, ovšem již z roku 1997. ;-)

polo23 avatar 26.7.2009 13:23 polo23 | skóre: 28 | blog: polo23
Rozbalit Rozbalit vše Re: Jak zjistit cleny skupiny

No jo to je jasne tobe to proste vypise prislusny radek ze souboru group. Poslu ti jak vypada muj group a passwd.

passswd

root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
news:x:9:13:news:/etc/news:
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
gopher:x:13:30:gopher:/var/gopher:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
rpm:x:37:37::/var/lib/rpm:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
apache:x:48:48:Apache:/var/www:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
mailnull:x:47:47::/var/spool/mqueue:/sbin/nologin
smmsp:x:51:51::/var/spool/mqueue:/sbin/nologin
distcache:x:94:94:Distcache:/:/sbin/nologin
nscd:x:28:28:NSCD Daemon:/:/sbin/nologin
vcsa:x:69:69:virtual console memory owner:/dev:/sbin/nologin
rpc:x:32:32:Portmapper RPC user:/:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin
nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin
dovecot:x:97:97:dovecot:/usr/libexec/dovecot:/sbin/nologin
webalizer:x:67:67:Webalizer:/var/www/usage:/sbin/nologin
squid:x:23:23::/var/spool/squid:/sbin/nologin
pcap:x:77:77::/var/arpwatch:/sbin/nologin
haldaemon:x:68:68:HAL daemon:/:/sbin/nologin
xfs:x:43:43:X Font Server:/etc/X11/fs:/sbin/nologin
xmulle14:x:500:505::/home/xmulle14:/bin/bash
test:x:501:504::/home/test:/bin/bash
pavel:x:502:504::/home/pavel:/bin/bash
named:x:25:25:Named:/var/named:/sbin/nologin
spamfilter:x:503:503::/home/spamfilter:/bin/bash
novy:x:504:506::/home/novy:/bin/bash

group

root:x:0:root
bin:x:1:root,bin,daemon
daemon:x:2:root,bin,daemon
sys:x:3:root,bin,adm
adm:x:4:root,adm,daemon
tty:x:5:
disk:x:6:root
lp:x:7:daemon,lp
mem:x:8:
kmem:x:9:
wheel:x:10:root
mail:x:12:mail,postfix
news:x:13:news
uucp:x:14:uucp
man:x:15:
games:x:20:
gopher:x:30:
dip:x:40:
ftp:x:50:
lock:x:54:
nobody:x:99:
users:x:100:
rpm:x:37:
dbus:x:81:
utmp:x:22:
apache:x:48:
postdrop:x:90:
postfix:x:89:
mailnull:x:47:
smmsp:x:51:
distcache:x:94:
nscd:x:28:
floppy:x:19:
vcsa:x:69:
rpc:x:32:
sshd:x:74:
rpcuser:x:29:
nfsnobody:x:65534:
dovecot:x:97:
webalizer:x:67:
squid:x:23:
pcap:x:77:
utempter:x:35:
slocate:x:21:
haldaemon:x:68:
xfs:x:43:
pavel:x:502:
named:x:25:
konstrukteri:x:504:
spamfilter:x:503:
vedouci:x:505:
novy:x:506:

Vidis ja v group mam jen jmeno skupiny a GID. V passwd mam jmeno uzivatele UID a GID. No a myslel jsme ze je nejaky program ktery se podiva na GID do group pak se podiva na uzivatele do passwd a vypise ty kteri maji stejne GID.

26.7.2009 22:30 pavel
Rozbalit Rozbalit vše Re: Jak zjistit cleny skupiny
groups jmeno_uzivatele
26.7.2009 22:47 pavel
Rozbalit Rozbalit vše Re: Jak zjistit cleny skupiny
[root@pavel]#man groups
NAME
         groups - print the groups a user is in 

SYNOPSIS
       groups [OPTION]... [USERNAME]...

DESCRIPTION
       --help display this help and exit
       --version
              output version information and exit

       Same as id -Gn.  If no USERNAME, use current process.  

AUTHOR
       Written by David MacKenzie.

REPORTING BUGS
       Report bugs to bug-coreutils@gnu.org. 

 
[root@pavel]# groups petr1

petr1 : petr1 petr3 petr

[root@pavel]# id petr1

uid=502(petr1) gid=502(petr1) skupiny=502(petr1),503(petr3),504(petr6)

polo23 avatar 27.7.2009 10:24 polo23 | skóre: 28 | blog: polo23
Rozbalit Rozbalit vše Re: Jak zjistit cleny skupiny

Vypisuje skupiny jejichz je uzivatel clenem. Ja potrebuju zadat prikaz a jmeno skupiny a ma mi to vypsat cleny te skupiny. Ten prikaz uz jsme nasel jmenuje se members. Bohuzel je jen na Debian a na centos je jen zdrojak. Nejsem schopny ho ale zkompilovat

http://ftp.de.debian.org/debian/pool/main/m/members/members_20080128-4.tar.gz

pri kompilaci mi to pise g++ -g -Wno-deprecated -c -o members.o members.cc
make: g++: command not found
make: ***: [members.o] error 127.

Bylo mi doporuceno instalovat build-essential ale to mi nenasel yum v repozitari.

27.7.2009 11:23 1john2 | skóre: 35 | blog: jo12hn | zlín, brno
Rozbalit Rozbalit vše Re: Jak zjistit cleny skupiny
máte nainstalováno g++? build-essentials jev debianu, netuším jestli i v cent-os, musíte případně najít alternativu...
polo23 avatar 27.7.2009 11:26 polo23 | skóre: 28 | blog: polo23
Rozbalit Rozbalit vše Re: Jak zjistit cleny skupiny

Nemam to tam naistalovane a prave ani nevim jak yum zadne g++ nezna:(

27.7.2009 12:02 zigi | skóre: 14
Rozbalit Rozbalit vše Re: Jak zjistit cleny skupiny
yum install "gcc" "gcc-c++"
polo23 avatar 27.7.2009 12:30 polo23 | skóre: 28 | blog: polo23
Rozbalit Rozbalit vše Re: Jak zjistit cleny skupiny

I po instalaci g++ mi to pise...

g++ -g -Who-deprecated -c -o members.o members.cc

g++ -o members members.o

Fuky avatar 27.7.2009 12:49 Fuky | skóre: 52 | blog: 4u
Rozbalit Rozbalit vše Re: Jak zjistit cleny skupiny
Však to je správně. Dokončil jsi úspěšně kompilaci a v adresáři nalezneš mimo zdrojáků i zkompilovanou binárku members. Zkopíruj si ji kam je libo např. do /usr/local/bin.
polo23 avatar 27.7.2009 13:13 polo23 | skóre: 28 | blog: polo23
Rozbalit Rozbalit vše Re: Jak zjistit cleny skupiny

diky funguje, ale podle toho vypisu jsem usuzoval ze jde zase o nejakou chybu. Problem je vyresen!

27.7.2009 13:42 st. Grumpa | skóre: 12
Rozbalit Rozbalit vše Re: Jak zjistit cleny skupiny
Odpovědět | | Sbalit | Link | Blokovat | Admin

Tak mě po přečtení všech příspěvků napadlo, jak geniální je vytvářet pro každého uživatele jeho vlastní skupinu (uživ grumpa, skupina grumpa) (v Debianu je to automatické). Každý uživatel má tak svoji primární skupinu obsazenou velmi bezpečným způosobem. Když pak uživatele přidáme do dalších skupin, je to vždy evidováno v souboru groups; v passwd je primární skupina ta "stejnojmenná". Je to tedy taky o plánování a promýšlení. Díky za osvícení :o)

No a grep skupina /etc/group funguje na 100%.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.