- Как просматривать пользователей на сервере Linux Ubuntu
- Как просмотреть пользователей на VPS
- Просмотр групп на сервере
- Как определить вошедших в систему пользователей
- Итоги
- Как просмотреть список пользователей и групп в Linux?
- Просмотр пользователей
- Просмотр пользовательских групп
- Просмотр активных пользователей
- Заключение
- Похожие записи:
- Как посмотреть список пользователей Linux
Как просматривать пользователей на сервере Linux Ubuntu
Основополагающей частью системного администрирования является конфигурирование и управление пользователями и группами. Эта задача также включает мониторинг журналов всех элементов системы.
Данное руководство содержит основные идеи управления пользователями и их авторизацией.
Все эти понятия будут рассмотрены на примере сервера Ubuntu 12.04, но любой современный дистрибутив Linux будет работать таким же образом.
Итак, часть первая рассказывает, как просмотреть пользователей и выяснить, кто вошел в систему.
Как просмотреть пользователей на VPS
Каждый пользователь системы Linux вне зависимости от того, создан он для реального человека или используется как отдельный сервис или функция системы, хранится в файле по имени «/etc/passwd».
Данный файл содержит информацию о пользователях системы. Каждая строка описывает отдельного пользователя.
less /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/bin/sh
. . .
Каждая строка разбита на поля. Такие поля определяются символом двоеточия.
В данный момент нас интересует первое поле. Оно содержит список имен пользователей.
Этот список можно получить и другим способом:
cut -d : -f 1 /etc/passwd
root
daemon
bin
sys
sync
games
. . .
В данном списке можно найти пользователя «root», то есть, пользователя с правами администратора. В конце списка находится имя пользователя, с которого вы работаете в данный момент.
В списке можно найти и ряд других пользователей, чьи цели более или менее понятны. К примеру, пользователь «www–data» является владельцем процессов веб-сервера.
Это делается для того, чтобы отделить функциональные привилегии. Таким образом, если учетная запись пользователя взломана или используется неверно, ее действия будут изолированы.
Просмотр групп на сервере
Соответствующий файл для просмотра групп – файл «/etc/group».
Чтобы просмотреть данный файл, используйте:
Как можно видеть, имена многих групп повторяют имена существующих в системе пользователей. Эта часть схемы конфигураций называется «user private groups» («частные группы пользователей»), или UPG.
UPG создает закрытую группу для каждого пользователя и устанавливает ее в качестве основной группы. Тогда umask изменяется с 022 на 002.
Это позволяет более гибко использовать общие каталоги при помощи флага под названием «setgid», который устанавливает владельцем файла того же пользователя, что и владелец каталога, в котором находится данный файл. К сожалению, данная полезная опция выходит за рамки статьи.
Опять же, информацию из файла «/etc/group» можно сократить при помощи команды «cut»:
cut -d : -f 1 /etc/group
root
daemon
bin
sys
adm
tty
disk
. . .
Это выведет построчный список всех существующих в системе групп.
Как определить вошедших в систему пользователей
Часто бывает полезно узнать, какие пользователи активны в системе.
Команда «w» – это простой способ вывести список всех активных в данный момент пользователей, время их входа в систему, а также команду, которую они сейчас используют:
w
19:37:15 up 5:48, 2 users, load average: 0.33, 0.10, 0.07
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 rrcs-72-43-115-1 19:15 38.00s 0.33s 0.33s -bash
demoer pts/1 rrcs-72-43-115-1 19:37 0.00s 0.47s 0.00s w
Первая строка содержит информацию о времени работы системы. Следующие строки предоставляют информацию об активных пользователях.
Команда «who» является альтернативным способом получить данную информацию:
who
root pts/0 2013-09-05 19:15 (rrcs-72-43-115-186.nyc.biz.rr.com)
demoer pts/1 2013-09-05 19:37 (rrcs-72-43-115-186.nyc.biz.rr.com)
Итоги
Аутентификация пользователей – достаточно гибкая область системного администрирования, так как существует множество способов выполнить одну задачу с помощью разных простых инструментов.
Теперь можно узнать, где сервер хранит информацию о пользователях и группах, а также просмотреть активных в данный момент пользователей.
Как просмотреть список пользователей и групп в Linux?
Одной из важнейших задач в системном администрировании является управление пользователями. Не менее важно также иметь чёткое представление и о самих пользователях. Точнее, об их учётных записях в системе. Администраторам приходится очень часто выяснять и проверять информацию о пользователях в разных ситуациях. О том, как это делается в системах Linux и будет рассмотрено в данной статье.
Просмотр пользователей
Учётные записи в системах Linux – это универсальные компоненты. Которые представляют собой как реальных пользователей, так и виртуальных. Последние предназначены для функционирования системных сервисов Linux, являющихся неотъемлемыми составляющими системы. Или же это могут быть служебные, дополнительно добавленные в систему сервисы, предназначенные для расширения её функционала.
Независимо от того, каким пользователям (реальным или виртуальным) принадлежат учётные записи, вся основная информация о них хранится в файле /etc/passwd. Каждая учётная запись в этом файле представлена одной строкой, разделённой на поля символами двоеточия. Например, просмотреть этот файл можно командой less:
$ less /etc/passwd root:x:0:0:root:/root:/bin/bash daemon:x:1:1:daemon:/usr/sbin:/bin/sh bin:x:2:2:bin:/bin:/bin/sh sys:x:3:3:sys:/dev:/bin/sh sync:x:4:65534:sync:/bin:/bin/sync . . . games:x:5:60:games:/usr/games:/bin/sh
Имя пользователя (учётной записи) содержится в первом поле. Поэтому, чтобы упростить восприятие вывода, когда нужно получить например, только список имён пользователей, можно использовать соответствующие инструменты, например команду cut (или аналогичные sed или awk):
$ cut -d : -f 1 /etc/passwd root daemon bin sys sync . . . games
Конечно, для того, чтобы различать принадлежность некоторых учётных записей к реальным или виртуальным пользователям, необходим некоторый опыт администрирования Linux или UNIX. Например, в приведённом выводе пользователь root – это суперпользователь. А пользователи daemon, bin, sys и sync – учётные записи, от имени которых работают системные сервисы.
Вообще, изначально по устоявшимся соглашениям, по-умолчанию в системах Linux принято придерживаться определённых правил для наименования учётных записей, обслуживающих системные или служебные процессы и/или сервисы. Так, например, для работы веб-сервера Apache обычно используется учётная запись www-data. Это очень важно для обеспечения и контроля безопасности системы. Таким образом легко разделять привилегии по функциональному признаку для пользователей. Такие же соглашения действуют и для наименования системных или служебных процессов. Тот же Apache обычно представляется процессами httpd или apache.
Просмотр пользовательских групп
Аналогично учётным записям, информация о всех группах пользователей хранится в одном файле /etc/group :
$ less /etc/group root:x:0: daemon:x:1: bin:x:2: sys:x:3: adm:x:4: tty:x:5: disk:x:6:
Первое, на что нужно обратить внимание, это то, что имена многих групп идентичны именам некоторых имеющихся в системе пользователей. И это не просто совпадение. Дело в том, что таким образом реализуется механизм частных пользовательских групп (UPG) в системе. Он заключается в том, что для пользователя создаётся одноимённая закрытая группа. Которая назначается этому пользователю как основная. Этот механизм позволяет использовать в системе общие каталоги (и вообще ресурсы) без вреда для безопасности. Для этого существует такой полезный инструмент в системе прав доступа как бит setgid. Смысл этого бита в том, что в каталоге, для которого он установлен, можно создавать файлы, принадлежащие тому же владельцу, что и сам каталог с битом setgid.
Просмотр активных пользователей
Информацию о том, какие пользователи активны в данный момент времени в системе позволяют команды «w» и «who». Первая по-умолчанию выводит более подробные данные о пользователях, например:
$ w 11:45:24 up 6:34, 2 users, load average: 0.33, 0.10, 0.07 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT root pts/0 rrcs-72-43-115-1 19:15 38.00s 0.33s 0.33s -bash demoer pts/1 rrcs-72-43-115-1 19:37 0.00s 0.47s 0.00s w
В первой строке указаны время старта системы, продолжительность её работы, количество активных пользователей, а также данные о средней загруженности системы за прошедшие 1, 5 и 15 минут. Далее следует список активных пользователей и используемых ими командах/процессах. Более подробно о работе команды «w» можно узнать на страницах интерактивного руководства, используя команду man w.
Заключение
В заключение стоит еще раз отметить, насколько легко при помощи простых команд можно получить подробное представление о пользовательской среде системы. При этом составить картину о действиях самих пользователей в данный момент времени. А также определить принадлежность групп и учётных записей. Важно понимать, что без умения находить информацию о пользователях нереально полноценно и гибко ими управлять. Что является важнейшей частью системного администрирования.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Похожие записи:
Как посмотреть список пользователей Linux
Привет всем любителям и почитателям альтернативных операционных систем! Я, конечно, чаще всего работаю в Windows, но и с «Пингвином» приходится довольно часто общаться. Недавно мне понадобилось посмотреть список пользователей из старенького файлового сервера на Ubuntu Linux чтобы завести их всех на новом, более мощном под управлением CentOS. Старый уже практически отжил своё и вот-вот должен накрыться, но пока ещё запускается.
Итак, чтобы вывести список пользователей Линукс в консоли, достаточно просто вывести содержимое системного файла passwd , который лежит в директории /etc . Он содержит полную информацию о каждом логине.
Делается это с помощью команды:
Чтобы исключить из списка системные учётные записи и вычленить только несистемные логины, воспользуйсь вот таким вариантом:
Если полная информация не нужна и достаточно всего лишь логинов, то лучше использовать вот такую команду:
Мне именно такой вариант был удобнее, потому как я просто скопировал его и вставил в лист Excel, получив в каждой строчке по логину.
Есть и ещё один неплохой вариант получить список пользователей Linux (Ubuntu, Fedora, CentOS и т.д.) в консоли — это утилита getent . Она используется для того, чтобы выполнить чтение информации по базам данных операционной системы и вывести результат поиска. Команда будет выглядеть так:
Результат выполнения будет таким:
И ещё! Иногда надо посмотреть список активных пользователей Linux, то есть тех, которые сейчас залогинен в системе. Для этого надо воспользоваться другой командой:
Этим Вы вызовите системную утилиту users, которая перечислит все текущие логины, которые подключились к системе в отсортированном по имени виде.
Альтернативным вариантом может служить команда:
То есть Вы увидите таблицу, где будут отображены все виртуальные консоли с залогиненными в них юзерами.