Ръководство за различни команди и техники в Linux за изброяване на групи
В екосистемата на Linux колекцията от потребители се нарича „група“. Когато потребител бъде добавен към група, ние дефинираме разрешенията на потребител на Linux. Групите също така определят до какви файлове, настройки и папки трябва да има достъп потребителят.
Най-просто казано, групите ви помагат да откриете и зададете привилегиите като read (r
), пиши (w
) и изпълни (х
) върху ресурс, споделен между потребителите. Можете също да променяте тези разрешения, както и когато е необходимо.
Намирането на групи, към които принадлежи даден потребителски акаунт, ще ви помогне да научите за разрешенията, които даден потребител има, както и да промените разрешенията, когато е необходимо.
Този кратък урок ще ви помогне да разберете групите, към които принадлежи даден потребител, като използвате някои доста прости команди и техники.
Важни предварителни условия
Преди да навлезем дълбоко в урока, би било полезно, ако имате основен преглед на някои от концепциите. Бих препоръчал на начинаещите първо да преминат през тези концепции.
група: Колекция от потребители на системата Linux. Един потребител може да бъде член на повече от една група. Групата определя какви разрешения има потребителят.
Основна група: Основната група е основната група, свързана с потребителския акаунт. Всеки потребител трябва да е член на една основна група. Създава се едновременно с създаването на потребителския акаунт и потребителят се добавя автоматично към тази група. Обикновено името на основната група е същото като името на потребителя.
Вторична група:Вторичната група е по избор и потребителят може или не може да има вторична група. Използва се за предоставяне на някои допълнителни права на потребителя. Потребителят може да бъде член на множество вторични групи.
/etc/group
файл: В Linux членството в групата се контролира от /etc/group
файл. Това е прост текстов файл, съдържащ списък с групи и потребителите, принадлежащи към всяка група.
/etc/passwd
файл: Този файл съдържа информация за всички потребителски акаунти в системата. Има запис на един потребителски акаунт на ред, представен в този файл.
Използвайки групи
команда
Използвайки групи
командата е супер прост процес за изброяване на групите, към които принадлежи текущият потребител. Можете също да използвате тази команда, за да изброите групите на конкретен потребител, регистриран в системата.
Синтаксис:
групи
Изход:
gaurav@ubuntu:~$ групи gaurav adm cdrom sudo dip plugdev lpadmin sambashare gaurav@ubuntu:~$
Намиране на група от конкретен потребител.
Синтаксис:
групи [потребителско име]
пример:
gaurav@ubuntu:~$ групи tomcat tomcat : tomcat lpadmin sambashare gaurav@ubuntu:~$
В този пример изброих групите, на които потребителят е посочил име котка принадлежи.
Използвайки документ за самоличност
команда
Използвайки документ за самоличност
командата показва информацията за групата на потребителя. Показва параметри като uid
(потребителски идентификатор), gid
(идентификатор на групата) и списъка с групи, към които принадлежи потребителят.
Синтаксис:
идентификатор [потребителско име]
пример:
gaurav@ubuntu:~$ id tomcat uid=1002(tomcat) gid=1002(tomcat) groups=1002(tomcat),113(lpadmin),128(sambashare) gaurav@ubuntu:~$
документ за самоличност
командата, когато се използва без аргумент, връща информацията за групата за текущия потребител.
пример:
gaurav@ubuntu:~$ id uid=1000(gaurav) gid=1000(gaurav) групи=1000(gaurav),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev) ,113(lpadmin),128(sambashare) gaurav@ubuntu:~$
Тук се показва информацията за групата на текущия потребител.
Използване на файла /etc/group
Както беше обсъдено в блока с предварителни условия, ние знаем това /etc/group
файлът съдържа цялата информация за групите, налични в системата. Можем да използваме този файл, за да видим списъка с групите, като използваме проста команда, както следва.
Можеш да използваш котка
, по-малко
или grep
команда за отваряне на списъка със съдържанието на този файл.
по-малко /etc/group
Изход:
root:x:0: daemon:x:1: bin:x:2: sys:x:3: adm:x:4:syslog,gaurav tty:x:5: disk:x:6: lp:x:7 : поща:x:8: новини:x:9: uucp:x:10: man:x:12: прокси:x:13: kmem:x:15: набиране:x:20: факс:x:21: глас :x:22: cdrom:x:24:gaurav floppy:x:25: лента:x:26: sudo:x:27:gaurav audio:x:29:pulse dip:x:30:gaurav,batman www-data :x:33:
Това ще изброи всички групи в системата Linux.
Изброяване на всички групи, които използват getent
команда
getent
командата може да се използва за показване на списък с всички налични групи във вашата Linux система. Резултатът е подобен на този на съдържанието на /etc/group
файл.
Използвайки getent група
командата показва записите от бази данни, конфигурирани в /etc/nsswitch.conf
файл.
Синтаксис:
getent група
пример:
gaurav@ubuntu:~$ getent group root:x:0: daemon:x:1: bin:x:2: sys:x:3: adm:x:4:syslog,gaurav tty:x:5: disk:x :6: lp:x:7: mse dip:x:30:gaurav,batman :x:39: stmp:x:43: video:x:44: sasl:x:45: plugdev:x:46:gaurav staff :x:50: игри:x:60: потребители:x:100: 106: crontab:x:107: vahi:x:120: bluetooth:x:121: скенер:x:122:saned colord:x:123: pulse:x:124: pulse-access:x:125: rtkit:x:126: saned:x:127: trinity:x:1000: sambashare:x:128:gaurav mongodb:x:130:mongodb guest-tqrhc7: x:999: guest-piinii:x:998: scala:x:997: sbt:x:996: guest-oi9xaf:x:995: tomcat:x:1001: tomcat7:x:132: tomcat8:x:133: geoclue:x:105: gdm:x:134: mysql:x:129: couchdb:x:131: временен:x:1002:
За да намерите групата на конкретен потребител, използвайте следната команда.
getent група | grep [потребителско име]
пример:
gaurav@ubuntu:~$ getent група | grep gaurav adm:x:4:syslog,gaurav cdrom:x:24:gaurav sudo:x:27:gaurav dip:x:30:gaurav,batman plugdev:x:46:gaurav lpadmin:x:113:gaurav gaurav: x:1000: sambashare:x:128:gaurav gaurav@ubuntu:~$
Всички групи, свързани с потребителя gaurav, вече са изброени на терминала.
Използвайки libuser-капак
команда
libuser-капак
командата показва информация за групи, съдържащи потребителско име или потребители, съдържащи се в името на групата.
ЗАБЕЛЕЖКА: Тази команда изисква sudo
привилегии. В противен случай ще срещнете грешка, както следва -
Грешка при инициализиране на libuser: не се изпълнява с привилегии на суперпотребителНе е посочено потребителско име,
В случай, че libuser-капак
помощната програма не е налична във вашите дистрибуции, можете да използвате следната команда, за да я инсталирате.
За Ubuntu и Debian потребители:
sudo apt-получи актуализация
sudo apt-get install libuser
За CentOS, Fedora и други дистрибуции:
sudo yum инсталирайте libuser
Синтаксис:
sudo libuser-lid [потребителско име]
пример:
gaurav@ubuntu:~$ sudo libuser-lid gaurav
Изход:
adm(gid=4) cdrom(gid=24) sudo(gid=27) dip(gid=30) plugdev(gid=46) lpadmin(gid=113) trinity(gid=1000) sambashare(gid=128)
Тук са изброени всички групи, които са свързани с въведеното потребителско име.
Заключение
В този супер прост урок сега се научихме да показваме групите, налични в системите на Linux. Командите, обяснени в този урок, могат да се прилагат към всички Linux дистрибуции по същия начин.