Посібник з різних команд і прийомів у Linux для перерахування груп
В екосистемі Linux набір користувачів називається «групою». Коли користувач додається до групи, ми визначаємо права користувача Linux. Групи також визначають, до яких файлів, налаштувань і папок користувач повинен мати доступ.
Простіше кажучи, групи допоможуть вам дізнатися та встановити привілеї, як-от read (р
), написати (w
) і виконати (x
) над ресурсом, яким користуються користувачі. Ви також можете змінити ці дозволи за потреби.
З’ясування груп, до яких належить обліковий запис користувача, допоможе вам дізнатися про дозволи певного користувача, а також змінити дозволи, коли це потрібно.
Цей короткий посібник допоможе вам дізнатися, до яких груп належить користувач, використовуючи досить прості команди та прийоми.
Важливі передумови
Перш ніж заглибитися в підручник, було б корисно, якщо у вас є базовий огляд деяких концепцій. Я б рекомендував новачкам спочатку ознайомитися з цими поняттями.
Група: Набір користувачів у системі 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:~$
У цьому прикладі я перерахував групи, до яких назвав користувач кіт належить.
Використання id
команда
Використання id
Команда відображає групову інформацію користувача. Він показує такі параметри, як uid
(ідентифікатор користувача), gid
(ідентифікатор групи) і список груп, до яких належить користувач.
Синтаксис:
id [ім'я користувача]
приклад:
gaurav@ubuntu:~$ id tomcat uid=1002(tomcat) gid=1002(tomcat) groups=1002(tomcat),113(lpadmin),128(sambashare) gaurav@ubuntu:~$
id
команда при використанні без аргументу повертає групову інформацію про поточного користувача.
приклад:
gaurav@ubuntu:~$ id uid=1000(gaurav) gid=1000(gaurav) groups=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 : mail:x:8: новини:x:9: uucp:x:10: man:x:12: проксі:x:13: kmem:x:15: dialout:x:20: факс:x:21: голос :x:22: cdrom:x:24:gaurav floppy:x:25: tape: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: games:x:60: users:x:100: 106: crontab:x:107: vahi:x:120: bluetooth:x:121: scanner: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 group | 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, тепер перераховані на терміналі.
Використання лібусер-кришка
команда
лібусер-кришка
Команда відображає інформацію про групи, що містять ім’я користувача, або користувачів, які містяться в імені групи.
ПРИМІТКА:Ця команда вимагає sudo
привілеї. В іншому випадку ви зіткнетеся з такою помилкою:
Помилка ініціалізації 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 однаково.