Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

Autor Téma: Jak zjistit cleny skupiny  (Přečteno 4651 krát)

polo23

  • Aktivní člen
  • *
  • Příspěvků: 243
Jak zjistit cleny skupiny
« kdy: 25 Července 2009, 21:29:12 »
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

matyskovo

  • Aktivní člen
  • *
  • Příspěvků: 437
Re: Jak zjistit cleny skupiny
« Odpověď #1 kdy: 25 Července 2009, 22:56:10 »
Dobrý den, informace o jednotlivých skupinách a jejich členech je v souboru /etc/group. Celý ho vypíšete:
Kód: [Vybrat]
sudo cat /etc/groupPokud byste chtěl jen konkrétní skupinu, tak třeba pomocí
Kód: [Vybrat]
sudo grep skupina_kterou_chcete_vypsat /etc/group a vypíše Vám jen ten řádek, jak si z toho odfiltrovat jen jména uživatelů nechám na Vás viz
Kód: [Vybrat]
man grep
MB ASUS M2NPV-VM, grafika integrovaná nVidia GeForce 6100, zvukovka integrovaná ADI AD1986A, AMD D-C Athlon A64 X2 4200+ EE, paměť 2GB (KIT 2x1GB) DDR2 800MHz KINGSTON, 2x disk SEAGATE Barracuda 320GB, SATA II, DVD vypalovačka - LG GSA-H42L, UBUNTU 10.04 LL 32-bit.

Vojtěch Trefný

  • Příspěvků: 9307
  • Don Quijote
Re: Jak zjistit cleny skupiny
« Odpověď #2 kdy: 25 Července 2009, 22:58:46 »
matyskovo: /etc/group může číst každý, takže klidně bez toho sudo ;)

matyskovo

  • Aktivní člen
  • *
  • Příspěvků: 437
Re: Jak zjistit cleny skupiny
« Odpověď #3 kdy: 25 Července 2009, 23:04:53 »
matyskovo: /etc/group může číst každý, takže klidně bez toho sudo ;)
Se stydím... To je tak, když radí takový Linux nýmand jako já  ;), ale i se sudo to funguje  ;)
« Poslední změna: 25 Července 2009, 23:06:39 od matyskovo »
MB ASUS M2NPV-VM, grafika integrovaná nVidia GeForce 6100, zvukovka integrovaná ADI AD1986A, AMD D-C Athlon A64 X2 4200+ EE, paměť 2GB (KIT 2x1GB) DDR2 800MHz KINGSTON, 2x disk SEAGATE Barracuda 320GB, SATA II, DVD vypalovačka - LG GSA-H42L, UBUNTU 10.04 LL 32-bit.

polo23

  • Aktivní člen
  • *
  • Příspěvků: 243
Re: Jak zjistit cleny skupiny
« Odpověď #4 kdy: 26 Července 2009, 12:05:16 »
Asi jste me nepochopili... ja potrebuju prikaz ktery mi vypise cleny skupiny. Napriklad mam skupinu konstrukteri a ta ma dva cleny Pavel a Martin. No a ja se ptam na to jaky je prikaz ktery kdyz zadam mi vypise seznam clenu teto skupiny. Napriklad zadam "prikaz" konstrukteri a ono to vypise Pavel,Martin. O tohle mi slo.

TIBOR

  • Závislák
  • ***
  • Příspěvků: 6545
  • Som uzivatel linuxovej distribucie, som linuxak?
Re: Jak zjistit cleny skupiny
« Odpověď #5 kdy: 26 Července 2009, 12:37:11 »
A toto nefunguje?
Kód: [Vybrat]
cat /etc/group | grep -i konstrukteri
HP Laptop 17-ca1xxx Ubuntu Mate 24.04 FF 64bit.
Asus X751LB-TY014H Ubuntu Mate 20.04.1 FF 64bit.
Linus, Lajnas, Línus, Luínus, Lajnus a je mi naozaj jedno, ako ľudia vyslovujú moje meno. Ale "Linux" je vždy "Linux". LINUS TORVALDS, tvorca Linuxového jadra.(V dokumente Revolution OS)

polo23

  • Aktivní člen
  • *
  • Příspěvků: 243
Re: Jak zjistit cleny skupiny
« Odpověď #6 kdy: 26 Července 2009, 13:28:15 »


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.

qUAKER

  • Host
Re: Jak zjistit cleny skupiny
« Odpověď #7 kdy: 26 Července 2009, 14:02:27 »
to co chceš dělá toto:
Kód: [Vybrat]
cat /etc/passwd | egrep "^.*:x:.*:$(cat /etc/group | egrep "^$GROUP:" | sed 's/^.*x://' | sed 's/:.*$//'):" | sed 's/:.*$//'
když předtím do proměnné GROUP zapíšeš co chceš najít...

jenže to nefunguje na všecko :)

třebas:
Kód: [Vybrat]
debian@debian-desktop:~$ cat /etc/group|grep fuse
fuse:x:116:debian,test,e17-testing

vypíše že ve skupině fuse jsem.

jenže:
Kód: [Vybrat]
debian@debian-desktop:~$ cat /etc/passwd|grep debian
debian:x:1001:1001:,,,:/home/debian:/bin/bash
v passwd o přítomnosti mého uživatele ve skupině fuse nic není :)

polo23

  • Aktivní člen
  • *
  • Příspěvků: 243
Re: Jak zjistit cleny skupiny
« Odpověď #8 kdy: 26 Července 2009, 15:04:40 »
Tak ten prvni prikaz je dobra brutalita:) Tudy opravdu ne:)
Pak ten druhy co mas ten je mi naprosto jasny a vim ze by byl resenim ale podivej se na muj vypis group. Ja tam nemam jako ty u kazde skupiny uzivatele kteri do ni pripadaji. Samozrejme kdyby to linux delal automaticky no tak je to pohoda - vygrepoval bych skupinu a s tim by se mi vypsali uzivatele co do nim patri ale v mem pripade to neni mozne tak jako u tebe
 
debian@debian-desktop:~$ cat /etc/group|grep fuse
fuse:x:116:debian,test,e17-testing

Ty je tam evidentne uvedene mas ... kdybys nemel tak ti je to taky neukaze a to je ten problem. Jedine co je pojitkem mezi uzivatelem a skupinou je GID.

nettezzaumana

  • Host
Re: Jak zjistit cleny skupiny
« Odpověď #9 kdy: 26 Července 2009, 17:04:31 »
coze?

tohle vypise jaci uzivatele jsou ve $skupine
Kód: [Vybrat]
egrep ^$skupina\: /etc/group | sed 's/.*://;s/,/\ /'

premet

  • Host
Re: Jak zjistit cleny skupiny
« Odpověď #10 kdy: 26 Července 2009, 17:28:31 »
coze?

tohle vypise jaci uzivatele jsou ve $skupine
Kód: [Vybrat]
egrep ^$skupina\: /etc/group | sed 's/.*://;s/,/\ /'
To nebude fungovat v tomhle případě ne ?
Kód: [Vybrat]
konstrukteri:x:504:
Kód: [Vybrat]
test:x:501:504::/home/test:/bin/bash
pavel:x:502:504::/home/pavel:/bin/bash
v tomhle případě to nevypíše nikoho  :)

nettezzaumana

  • Host
Re: Jak zjistit cleny skupiny
« Odpověď #11 kdy: 26 Července 2009, 18:19:45 »
hm.  vytvor si funkci na vytisknuti jakej uzivatel nalezi jakym skupinam:

alias ggg='while read line; do groups `echo $line | sed 's/:.*//'`; done </etc/passwd'

takze potom si s tim muzes delat co chces aka ::

ggg | grep users // vypise vsechy uzivatele co jsou ve skupine users vc dalsich skupin kde jsou apod ..

polo23

  • Aktivní člen
  • *
  • Příspěvků: 243
Re: Jak zjistit cleny skupiny
« Odpověď #12 kdy: 26 Července 2009, 20:04:04 »
Mne slo hlavne o to jestli na to neni nejaky jednoduchy prikaz... Takze jak vidim same berlicky:(

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. Potrebuju to totiz pro centos.
« Poslední změna: 26 Července 2009, 21:42:41 od polo23 »

nettezzaumana

  • Host
Re: Jak zjistit cleny skupiny
« Odpověď #13 kdy: 29 Července 2009, 10:30:09 »
Mne slo hlavne o to jestli na to neni nejaky jednoduchy prikaz... Takze jak vidim same berlicky:(
..
.. omg

polo23

  • Aktivní člen
  • *
  • Příspěvků: 243
Re: Jak zjistit cleny skupiny
« Odpověď #14 kdy: 29 Července 2009, 22:15:03 »
proc OMG? Ve windows to zjistis rychle nevim proc tady by se meli psat nejake silene skripty... ten members jsem nakonec zkompiloval chybela mi g++.

 

Provoz zaštiťuje spolek OpenAlt.