Просматриваем список пользователей в Linux

Управление пользователями в Linux

Просматриваем список пользователей в Linux

В своих прошлых постах блога я уже затрагивал тему пользователей в операционной системе Linux.

Например в теме о правах доступа в Linux я затрагивал вопросы принадлежности пользователя к группе, а так же то, что пользователи и группы имеют свои UID и GID. Так же поднималась тема о сбросе пароля пользователя root.

Сегодня я бы хотел систематизировать знания о базе локальных пользователей в Linux, о том, как управлять пользователями и о файлах, отвечающих за управление пользователями.

Linux – это многопользовательская операционная система. Каждый пользователь в Linux принадлежит одной основной группе и одной или нескольким дополнительным группам.

В Linux, как и в большинстве других операционных системах работа с пользователями заключается в наборе следующих манипуляций: добавление пользователя/группы, удаление пользователя/группы, модификация настроек пользователя/группы.

Данные манипуляции производятся с помощью команд: useradd, groupadd, userdel, groupdel, usermod, groupmod, а так же passwd, gpasswd, id. Более подробно: Описание команд управления пользователями Linux.

Существуют так же и графические средства администрирования пользователями, обычно они расположены в оболочке X в разделе Администрирование – Пользователи и группы.

Особенности управления пользователями в Linux

Пример добавления пользователя с помощью шелла:

user-add-server:~# groupadd test user-add-server:~# useradd -c “Test Test” -g test -m test user-add-server:~# passwd test Введите новый пароль UNIX: Повторите ввод нового пароля UNIX: passwd: пароль успешно обновлён user-add-server:~# id test uid=1001(test) gid=1001(test) группы=1001(test) user-add-server:~# ls -ld /home/test/ drwxr-xr-x 2 test test 4096 Дек 16 10:24 /home/test/ user-add-server:~#

В примере мы добавляем группу для нового пользователя (groupadd), далее создаем нового пользователя с полным именем Test Test, имеющего основную группу test и логин test, далее задаем пароль для пользователя test (passwd test) и проверяем параметры созданного пользователя (id и созданный каталог пользователя /home/test/). В листинге видно, что UID и GID – более 1000. Данная особенность является признаком обычного пользователя. Значения ниже (меньше) 1000 (а в некоторых дистрибутивах – меньше 500) указывают на то, что пользователь является системным пользователем.

В соответствии с соглашением, системные пользователи обычно имеют id меньше, чем 100, а пользователь root имеет id, равный 0. Автоматическая нумерация обычных пользователей начинается со значения UID_MIN, установленного в файле /etc/login.defs, это значение обычно установлено в 500 или 1000.

Помимо учетных записей обычных пользователей и учетной записи пользователя root, обычно в системе бывает несколько учетных записей специального назначения для демонов, таких как FTP, SSH, mail, news и т.д.

Такие учетные записи часто управляют файлами, но к ним невозможно получить доступ путем обычной регистрации в системе.

Поэтому обычно они имеют login shell, определенный как /sbin/nologin или /bin/false, чтобы попытки зарегистрироваться в системе терпели неудачу.

В некоторых системах, команда(ы) добавления пользователей имеют расширенный функционал. То есть, для примера, команда useradd в дистрибутивах Fedora и Red Hat по умолчанию, для нового пользователя создает новую группу и для отмены данной функции, необходимо использовать опцию -n. Для уточнения таких вопросов, необходимо обратиться к документации дистрибутива.

При удалении пользователя, его каталог не удаляется. В результате можно получить интересную ситуацию:

user-add-server:~# userdel test user-add-server:~# groupdel test user-add-server:~# ls -ld /home/test/ drwxr-xr-x 2 1001 1001 4096 Дек 16 10:24 /home/test/ user-add-server:~# groupadd test123 user-add-server:~# useradd -c “Test Test” -g test123 -m test123 user-add-server:~# ls -ldn /home/test* drwxr-xr-x 2 1001 1001 4096 Дек 16 14:30 /home/test drwxr-xr-x 2 1001 1001 4096 Дек 16 14:29 /home/test123 user-add-server:~# ls -ld /home/test* user-add-server:~# ls -ld /home/test* drwxr-xr-x 2 test123 test123 4096 Дек 16 10:24 /home/test drwxr-xr-x 2 test123 test123 4096 Дек 16 14:25 /home/test123 user-add-server:~# passwd test123 Введите новый пароль UNIX: Повторите ввод нового пароля UNIX: passwd: пароль успешно обновлён user-add-server:~# su -l test123 test123@user-add-server:~$ pwd /home/test123 test123@user-add-server:/home/mc-sim$ ls /home/ mc-sim  test  test123 test123@user-add-server:~$ cd /home/mc-sim/ test123@user-add-server:/home/mc-sim$ ls -la итого 24 drwxr-xr-x 2 mc-sim mc-sim 4096 Ноя 15 12:31 . drwxr-xr-x 6 root   root   4096 Дек 16 14:25 .. -rw——- 1 mc-sim mc-sim   99 Ноя 15 13:45 .bash_history -rw-r–r– 1 mc-sim mc-sim  220 Окт  1 17:42 .bash_logout -rw-r–r– 1 mc-sim mc-sim 3116 Окт  1 17:42 .bashrc -rw-r–r– 1 mc-sim mc-sim  675 Окт  1 17:42 .profile test123@user-add-server:/home/mc-sim$ rm /home/mc-sim/.bash_logout rm: удалить защищенный от записи обычный файл `/home/mc-sim/.bash_logout'? y rm: невозможно удалить `/home/mc-sim/.bash_logout': Отказано в доступе test123@user-add-server:/home/mc-sim$ rm /home/test/.bashrc test123@user-add-server:/home/mc-sim$

В приведенном примере мы удаляем пользователя и группу test, созданную ранее. При этом каталог данного пользователя остался не тронутым. Как видно из листинга, права у каталога остались для id 1001.

Далее мы создаем нового пользователя и группу, но уже с другим именем – test123. Данному пользователю присваивается UID и GID – ранее существующего пользователя test.

Посмотрев  список каталогов, начинающиеся на /home/test* с ключом -n и без него, видим, что получилось – каталог пользователя test стал принадлежать пользователю test123, о чем нам говорят права доступа -rw-r–r– test123 test123.

Входим в систему под пользователем test123 и для проверки прав доступа, в каталоге /home/test пробуем удалить файл, а так же пробуем удалить файл из каталога третьего пользователя – mc-sim. Данный пример хорошо иллюстрирует, что в Linux все привязано к идентификаторам.

Управление базами данных пользователей и групп в Linux

Основные файлы, содержащие информацию о пользователях и группах, — это четыре файла в каталоге /etc.

/etc/passwd

файл паролей, содержащий основную информацию о пользователях

/etc/shadow

файл теневых шифрованных паролей, содержащий зашифрованные пароли

/etc/group

файл групп, содержащий основную информацию о группах и принадлежащих этим группам пользователях

/etc/gshadow

файл теневых групп, содержащий шифрованные пароли групп

Данные файлы редактировать обычным текстовым редактором крайне не рекомендуется. Они (файлы), обновляются при выполнении вышеуказанных команд, при этом при изменении – блокируются и синхронизируются.

Если все же есть острая необходимость в редактировании указанный файлов, то при помощи команды vipw можно безопасно редактировать файл /etc/passwd, а при помощи команды vigr безопасно редактировать файл /etc/group. Эти команды заблокируют необходимые файлы на то время, пока при помощи редактора vi будут производиться изменения.

Если вы вносите изменения в файл /etc/passwd, команда vipw подскажет, что необходимо проверить, не нужно ли обновить и файл /etc/shadow. Подобным образом, если вы обновляете файл /etc/group при помощи команды vigr, вы получите подсказку, что необходимо обновить и файл /etc/gshadow.

Если необходимо удалить администраторов группы, необходимо использовать команду vigr, поскольку команда gpasswd позволяет только добавлять администраторов.

Обращаю внимание, что в современных системах, файлы passwd и group не хранят пароли в открытом виде. Это сделано из соображений безопасности. Сами файлы passwd и group должны быть доступными для чтения для всех, а зашифрованные пароли — недоступными для чтения для всех.

Поэтому зашифрованные пароли хранятся в теневых файлах, и эти файлы доступны для чтения только пользователю root.

Необходимый доступ для изменения аутентификационных данных обеспечивается при помощи suid-программы, которая имеет полномочия пользователя root, но может быть запущена любым пользователем.

Файл /etc/passwd

user-add-server:~# cat /etc/passwd root:x:0:0:root:/root:/bin/bash lp:x:7:7:lp:/var/spool/lpd:/bin/sh sshd:x:101:65534::/var/run/sshd:/usr/sbin/nologin test123:x:1001:1001:Test Test:/home/test123:/bin/sh

Файл /etc/passwd содержит одну строку для каждого пользователя системы. Каждая строка содержит семь полей, разделенных двоеточиями (:), описание полей на примере пользователя root:

полезначениеописание
Имя пользователяrootимя, используемое для входа в систему (логин)
Парольxпароль пользователя (если зашифрован, используется символ – x)
id пользователя (UID)0Идентификатор пользователя
id группы (GID)0Идентификатор группы

Источник: //www.k-max.name/linux/upravlenie-polzovatelyami-v-linux/

Как просмотреть список пользователей и групп в Linux? – ИТ Проффи

Просматриваем список пользователей в 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.

Источник: //ITProffi.ru/kak-prosmotret-spisok-polzovatelej-i-grupp-v-linux/

Пользователи и Группы в Linux

Просматриваем список пользователей в Linux

Пользователь — это любой кто пользуется компьютером. Пользователю назначается имя, имя должно быть уникальным в системе (linux есть зарезервированные имена, такие как «root», «hal», и «adm»).

Помимо системного имени, в систему может занестись и хранится полное имя (например Ф.И.О)(full name)  реального пользователя. Под каждого пользователя, создается свой каталог (home directory).

 Также, пользователю назначается командная оболочка (командный интерпретатор, используемый в операционных системах семейства UNIX). Например: /bin/bash, /bin/zsh, /bin/sh и.т.д.

У многих дистрибутивов linux, для пользователей, по умолчанию назначается командная оболочка bash.

Каждому пользователю назначается идентификационный номер (User ID). Сокращенно номер обозначается как UID, является уникальным идентификатором пользователя. Операционная система отслеживает пользователя именно по UID, а не по их имени. Каждый пользователь принадлежит минимум к одной или нескольким группам. (пользователи и группы в linux)

Группы:

Для разграничения прав в linux, помимо пользователей, существуют группы. Так же как и пользователь, группа обладает правам доступа к тем или иным каталогам, файлам, периферии (в системе есть зарезервированные группы).

Каждой группе назначается идентификационный номер (group ID). Сокращённо GID, является уникальный идентификатором группы. Принадлежность пользователя к группе устанавливается администратором.

Создание, управление и удаление пользователей

(пользователи и группы в linux)  При создании новых пользователей совершается последовательность определенных действий. Сначала заводится запись в файле /etc/passwd, где пользователю назначается уникальное имя, UID, GID и другая информация.

UID должен быть больше 1000, а GID более 100, это связано с тем, что система резервирует маленькие значения под свои нужды.

Также, создается каталог, устанавливаются права, помещаются файлы инициализации командной оболочки и модифицируются конфигурационные файлы.

Для того, чтобы не вводить эту информацию вручную, существует программа useradd (или adduser). Настройки этой программы хранятся в файле /etc/default/useradd.

# cat /etc/default/useradd

Вывод следующий:

GROUP=100HOME=/homeINACTIVE=-1EXPIRE=SHELL=/bin/bashSKEL=/etc/skelCREATE_MAIL_SPOOL=no

В нем можно изменить параметры по умолчанию. Например, директорию для пользователей с /home на /home/user или интерпретатор с /bin/bash на /bin/sh.

Для создания нового пользователя воспользуемся командой useradd:

# useradd -m -g users -G audio,lp,optical,storage,video,wheel,games,power,scanner -s /bin/bash newuser

Расшифровка:

# useradd -m -g [основная группа] -G [список дополнительных групп] -s [командный интерпретатор] [имя пользователя]

  • -m — создаёт домашний каталог, вида /home/[имя пользователя].
  • -g — имя или номер основной группы пользователя.
  • -G — список дополнительных групп, в которые входит пользователь.
  • -s — определяет командную оболочку пользователя.

Для более детальной информации воспользуйтесь мануалом:

# man useradd

Командой chfn можно внести или изменить информацию учетной запеси пользователя (ФИО, рабочий телефон, рабочие координаты и.т.д)(username — имя пользователя).

# chfn [-f полное-имя][-о office][-p рабочий-телефон][-h домашний-телефон][-u][-v][username]

Для задания пароля используется команда passwd:

# passwd [username]

Далее, нам будут предложено ввести новый пароль и повторить его.

Если мы хотим заставить пользователя сменить пароль на свой при первом входе в систему нужно применить команду:

# chage -d 0 [username]

Более подробно о команде chage можно почитать в мануале, введите:

# man chage

Для того, чтобы удалить пользователя существует команда userdel

# userdel -r [username]

Параметр -r указывает на то, что следуют вмести с пользователем удалить домашнею директорию и почтовый ящик.

Управление группами

Для просмотра всех групп системы и каким пользователем они принадлежат нужно ввести следующее:

# cat /etc/group

Файл /etc/group определят группы в системе. Чтобы посмотреть в каких групах состоит пользователь нужно набрать:

# groups [username]

Команда id показывает более подробную информацию.

# id [username]

Для создание новой группы:

# groupadd [group]

Чтобы занести пользователя в группу:

# gpasswd -a [user] [group]

Вывод пользователя из группы:

# gpasswd -d [user] [group]

И для того, чтобы удалить группу, введем следующие:

# groupdel [group]

(пользователи и группы в linux)  На этом в принципе все, самое основное изложено.

Источник: //ssvoracle.wordpress.com/2017/01/18/%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D0%B8-%D0%B8-%D0%B3%D1%80%D1%83%D0%BF%D0%BF%D1%8B-%D0%B2-linux/

Поделиться:
Нет комментариев

    Добавить комментарий

    Ваш e-mail не будет опубликован. Все поля обязательны для заполнения.