img

Как управлять пользователями в Linux?

21 ноября
20:00
Бесплатный вебинар
Введение в Docker
Ведущий — Филипп Игнатенко.
Руководитель центра разработки
Записаться
img
img

 

How to Manage Users in Linux

Linux – это операционная система с открытым исходным кодом, которая благодаря своим гибким возможностям, стабильности и безопасности широко используется в различных приложениях. Одна из основных функций Linux – это управление пользователями. Эта функция позволяет администраторам контролировать доступ к ресурсам и обеспечивать, таким образом, безопасность системы.

Наш мир технологий довольно быстро развивается, и эффективное управление пользователями является критически важным аспектом для обеспечения безопасной и хорошо организованной среды Linux. Эта статья выполняет функцию руководства по управлению пользователями в Linux. Основное внимание здесь уделяется потребностям CTechCo – некой гипотетической технологической компании.

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

Кто такие пользователи в Linux?

В системе Linux пользователи – это физические лица или организации, которые взаимодействуют с операционной системой путем входа в систему и выполнения каких-то задач. Управление пользователями играет главную роль в обеспечении контроля доступа, распределения ресурсов и системного администрирования. 

К пользователю в Linux привязывается учетная запись, которая содержит несколько свойств, определяющих его личность и привилегии в рамках системы. Под этими свойствами подразумевается имя пользователя, UID (User ID – идентификатор пользователя), GID (Group ID – идентификатор группы), yfxfkmysq каталог, оболочка по умолчанию и пароль.

Этими свойствами, перечисленными выше, обладают все учетные записи пользователей.

Типы пользователей в Linux

Linux поддерживает два типа пользователей: системные и обычные. 

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

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

Давайте познакомимся с персоналом CTechCo. Это люди, которые взаимодействуют с системой Linux через учетные записи пользователей. Познакомьтесь с Джоном – разработчиком, Лизой – системным администратором, и Сарой – маркетологом. У всех из них есть свои уникальные имена пользователей, а именно «johndoe», «lisasmith» и «sarasmith» соответственно. Эти имена пользователей выступают в роли их идентификаторов в системе Linux.

Как создать пользователя

Системный администратор CTechCo Алекс должен создать учетные записи пользователей для Джона, Лизы и Сары. Для начала Алекс должен воспользоваться командой useradd, то есть, например, чтобы создать учетную запись Джона, Алексу необходимо выполнить следующую команду:

useradd -u 1002 -d /home/john -s /bin/bash john

Эта команда создаст учетную запись Джона с UID (-u) равным 1002, начальным каталогом (-d/home/john, и в качестве оболочки по умолчанию она установит (-s/bin/bash.

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

Для того, чтобы проверить новую учетную запись, Алекс может запустить команду id:

id john

В результате на экране отобразиться идентификатор пользователя и принадлежность пользователя «john» к группам. 

id-john

UID, GID и информация о группах пользователя John

Свойства учетных записей пользователей

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

  1. Имя пользователя: каждому пользователю присваивается уникальное имя пользователя, которое выступает в роли его идентификатора в системе Linux. Например, имя пользователя для Джона – john.
  2. UID (идентификатор пользователя) и GID (идентификатор группы): каждой учетной записи пользователя ставится в соответствие UID и GID. UID – это числовое значение, которое присваивается пользователю, а GID обозначает основную группу, к которой принадлежит пользователь. Например, UID Джона может быть равен 1002, и GID его основной группы также может быть равен 1002.
  3. Начальный каталог: у каждого пользователя есть специально предназначенный начальный каталог, в котором хранятся его личные файлы и настройки. Начальный каталог Джона - /home/john
  4. Оболочка по умолчанию: оболочка по умолчанию определяет командный процессор, который будет использоваться, когда пользователь будет заходить в систему. Она определяет интерактивную среду пользователя. В данном случае оболочка по умолчанию для Джона – это /bin/bash. Эта оболочка является самой популярной в Linux. 
  5. Пароль: для аутентификации и доступа к системе каждой учетной записи пользователя требуется пароль. Пользователи CTechCo, в том числе и Джон, обязаны создавать надежные пароли, чтобы обеспечить безопасность системы.
  6. Группа: принадлежность к той или иной группе определяет то, к каким системным ресурсам пользователь может получить доступ, а также то, какие пользователи могут получить доступ к файлам пользователя. 

Алекс может просмотреть список пользователей Linux, запустив следующую команду: cat /etc/passwd. Список будет отображаться вот в таком формате:

john:x:1002:1002:,,,:/home/john:/bin/bash

Ниже приведено описание того, что обозначает каждое из полей:

  • john: это имя пользователя учетной записи. 
  • x: это поле содержит зашифрованный пароль пользователя. Он заменяется символом «x», что говорит о том, что в целях безопасности пароль хранится в файле /etc/shadow.
  • 1002: это UID (идентификатор пользователя) учетной записи пользователя. Это уникальный числовой идентификатор, который был присвоен системой пользователю.
  • 1002: это GID (идентификатор группы) учетной записи пользователя. Этот идентификатор указывает на принадлежность пользователя к основной группе. 
  • ,,,: это поле GECOS, что расшифровывается как «General Electric Comprehensive Operating System». Это поле используется для хранения дополнительной информации о пользователе, например, его полного имени или контактной информации. В данном случае поле пустое, так как при создании учетной записи не было предоставлено никакой дополнительной информации.
  • /home/john: это начальный каталог учетной записи пользователя. В нем хранятся файлы и личные данные пользователя. 
  • /bin/bash: это оболочка по умолчанию для учетной записи пользователя. Иными словами, это командный процессор, который используется для обработки команд, вводимых пользователем через терминал. В данном случае оболочкой по умолчанию является Bash – самая популярная оболочка в Linux.

Как удалить пользователя

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

sudo userdel lisa

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

Как изменить учетную запись пользователя

По мере того, как штат сотрудников компании CTechCo будет расти, IT-специалистам может потребоваться внести некоторые коррективы в учетные записи пользователей. Давайте посмотрим, как они могут изменять учетные записи пользователей с учетом меняющихся потребностей и прав доступа. 

Например, компания возложила на Джона (разработчика) дополнительные обязанности. Для того, чтобы отобразить эти изменения, IT-специалисты могут изменить учетную запись Джона, воспользовавшись командой usermod. Давайте рассмотрим следующую ситуацию:

Как изменить группы пользователя в Linux

CTechCo создает новую группу development для управлением доступом к ресурсам, необходимым для разработки. Чтобы добавить в эту группу Джона, можно воспользоваться следующей командой:

sudo usermod -aG development john

Эта команда добавит Джона в команду development, предоставив ему все необходимые права доступа.

Как изменить оболочку по умолчанию в Linux

Если Джон хочет использовать другую оболочку (отличную от оболочки по умолчанию), IT-специалисты могут изменить его учетную запись соответствующим образом. Например, чтобы изменить оболочку по умолчанию для Джона на /bin/zsh, можно выполнить вот эту команду:

sudo usermod -s /bin/zsh john

Эта команда обновит информацию об учетной записи Джона. Теперь его оболочка по умолчанию – это /bin/zsh.

Вы можете снова запустить команду cat /etc/passwd, чтобы убедиться, что оболочка по умолчанию была изменена с /bin/bash на /bin/zsh.

zsh

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

Эффективное управление группами – это ключевой момент для обеспечения контроля доступа к ресурсам в среде Linux компании CTechCo. Давайте посмотрим, как IT-специалисты могут создавать группы и управлять ими, чтобы обеспечить достойный уровень контроля доступа. 

Как создать новую группу в Linux

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

sudo groupadd marketing

Эта команда создаст группу marketing, которую дальше можно использовать для того, чтобы предоставлять пользователям определенные полномочия и права доступа к ресурсам, относящимся к маркетингу. 

Чтобы просмотреть группу, которую вы только что добавили, запустите следующую команду:

cat /etc/group

В результате вы получите список всех групп, которые есть на вашем компьютере с ОС Linux. Прокрутив список вниз, вы найдете самые последние группы. 

linux-group

Помимо этого, вы можете использовать эту команду для того, чтобы просмотреть какую-то конкретную группу (в данном случае группу marketing):

cat /etc/group | grep marketing

Как определить пользователей в группы в Linux

После того, как вы создадите группу, в нее можно добавить пользователей. Например, с помощью следующей команды вы можете добавить в группу marketing Сару (маркетолога):

sudo usermod -aG marketing sarahsmith

Эта команда добавит Сару в группу и разрешит ей доступ к ресурсам, относящимся к этой группе. 

Управление паролями

Надежные методы управления паролями – важный аспект обеспечения безопасности учетных записей пользователей в среде Linux компании CTechCo. Давайте посмотрим, как IT-специалисты могут обеспечить соблюдение политик паролей и эффективно управлять паролями пользователей.

Установка политик паролей: IT-специалисты имеют право устанавливать специальные политики для того, чтобы обеспечить наличие надежных паролей. Сюда относятся требования к сложности паролей, их срокам действия и блокировке учетных записей. Все эти политики можно установить в файле /etc/login.defs.

Изменение паролей пользователей: настоятельно рекомендуется сделать так, чтобы пользователи периодически меняли свои пароли. Они могут делать это с помощью команды passwd. Например, Джон может изменить свой пароль с помощью следующей команды:

sudo passwd john

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

Аутентификация пользователей

Аутентификация пользователей – важнейший аспект управления пользователями в Linux. Он гарантирует, что только авторизованные пользователи смогут получить доступ к системе. Для защиты своей среды Linux компания CTechCo может реализовывать самые разные механизмы аутентификации. 

Аутентификация на основе пароля

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

Например, Джон, пытаясь войти в систему, вводит свое имя пользователя и пароль. После чего система сверяет предоставленный пароль с хранящимся в системе хэшем пароля, связанного с ученой записи Джона. 

Аутентификация на основе SSH-ключа

Аутентификация на основе ключа Secure Shell (SSH) – это более безопасная альтернатива аутентификации на основе пароля. Пользователи создают открытый и закрытый ключ. Закрытый ключ надежно храниться на устройстве пользователя, а открытый – на сервере. 

За счет такого способа аутентификации, такие пользователи, как Лиза (системный администратор), могут проходить аутентификацию, не предоставляя пароль. Вместо этого сервер проверяет личность пользователя по наличию закрытого ключа. 

Для того, чтобы настроить аутентификацию на основе SSH-ключа для Лизы, необходимо выполнить следующее:

  1. Сгенерировать пару SSH-ключей на компьютере Лизы с помощью команды ssh-keygen.
  2. Скопировать открытый ключ в файл /home/lisasmith/.ssh/authorized_keys, расположенный на сервере.
  3. Настроить сервер таким образом, чтобы он поддерживал аутентификацию на основе SSH-ключей. 

Лучшие методики управления пользователями в Linux

Для того, чтобы обеспечить безопасность и эффективность управления пользователями в Linux, компания CTechCo может придерживаться нескольких методик. Они минимизируют риски для безопасности, а также оптимизируют процесс управления в целом. 

Принцип минимальных привилегий

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

CTechCo может воспользоваться таким принципом и ограничить, таким образом, доступ пользователей и ослабить последствия потенциальных нарушений безопасности. Например, Джону предоставляются права администратора (с помощью команды sudo) только тогда, когда это необходимо для того, чтобы выполнить какие-то определенные задачи. То есть запустив следующую команду, Джон сможет выполнять команды, требующие полномочий более высокого уровня:

sudo command

Полномочия пользователя

IT-специалисты компании CTechCo могут назначать пользователям и группам соответствующие полномочия с целью контролировать доступ к файлам, каталогам и ресурсам. Для того, чтобы установить полномочия для файлов и каталогов, они могут воспользоваться командой chmod. Например, они могут установить полномочия на чтение, запись или полномочия на выполнение для владельца, группы и т.д.

В частности, чтобы предоставить полномочия на чтение и запись владельцу и разрешение только на чтение группе и другим пользователям, можно воспользоваться вот этой командой:

chmod 640 filename

Чтобы просмотреть полномочия для файла, вы можете выполнить команду ls -l. В результате вы увидите список привилегий для файла в следующем формате:

-rw-r--r-- 1 username username 0 Apr 5 11:24 filename.txt

Первые три символа обозначают полномочия владельца файла. 

Вторые три символа обозначают полномочия для членов группы файла.

Последние три символа обозначают полномочия для всех остальных пользователей.

В данном случае владелец файла имеет право на чтение и запись, а вот члены группы и все остальные пользователи – только на чтение.

Мониторинг и аудит

CTechCo может реализовать специальные механизмы для мониторинга и аудита, чтобы отслеживать действия пользователей и выявлять, таким образом, потенциальные нарушения безопасности. Для этого можно использовать специальные инструменты, например, auditd. С его помощью можно собирать данные из системных журналов, анализировать их и обнаруживать, таким образом, подозрительную активность и предпринимать соответствующие меры. 

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

Кроме того, Алекс может использовать команду tail, чтобы просматривать системные журналы в Linux. Например, чтобы просмотреть последние 10 срок файла системного журнала, вы можете выполнить следующую команду:

sudo tail /var/log/syslog

Обучение пользователей

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

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

Придерживаясь всех этих методик, CTechCo может обеспечить грамотно построенный процесс управления пользователями и минимизировать риски для безопасности в своей среде Linux.

Заключение

Управление пользователями в среде Linux просто необходимо для обеспечения безопасности и организованности системы. На примере CTechCo мы проанализировали различные аспекты управления пользователями и аутентификации:

  • Общую идея того, кто такие пользователи в Linux, их типы и роли в системе.
  • Свойства учетной записи пользователя (имена пользователей, UID, GID, корневые каталоги, оболочки по умолчанию и пароли).
  • Задачи управления пользователями, в том числе создание, удаление и изменение учетных записей пользователей с помощью таких команд, как useradduserdel и usermod.
  • Управление группами с помощью команд groupadd и usermod.
  • Механизмы аутентификации пользователей, в том числе аутентификацию на основе пароля и аутентификацию на основе SSH-ключа. 
  • Лучшие методики управления пользователями, например, соблюдение принципа минимальных полномочий.
  • Использование команды sudo для получения полномочий более высокого уровня.
  • Настройку полномочий пользователя и контроля доступа с помощью команды chmod.
  • Мониторинг и аудит действий пользователей с помощью специальных инструментов, например, auditd.
  • Программы обучения и повышения уровня осведомленности пользователей, которые способствуют обеспечению безопасности паролей и использованию передовых методов обработки данных.

Мы начали с объяснения того, кто такие пользователи в Linux, а также рассказали про их роли и значение для системы. Мы рассмотрели различные типы пользователей (обычные и системные), а также соответствующие свойства их учетных записей (имена пользователей, UID, GID, корневые каталоги, оболочки по умолчанию и пароли). 

Перейдя к управлению пользователями, мы рассмотрели процесс создания, удаления и изменения их учетных записей. Мы увидели, как можно использовать команды useradduserdel и usermod для выполнения этих операций. Плюс к этому, мы узнали, что такое управление группами, и как их можно создавать (с помощью команды groupadd), и как можно определять пользователей в эти группы (с помощью команды usermod). 

Помимо этого, мы рассмотрели механизмы аутентификации пользователей. Мы изучили аутентификацию на основе пароля, то есть когда пользователи для проверки предоставляют свое имя пользователя и пароль. Вдобавок мы изучили более безопасный вариант – аутентификация на основе SHH-ключа, в которой используется пара ключей - открытый и закрытый. 

Мы продемонстрировали некоторые лучшие методики, которыми могла бы пользоваться компания CTechCo. Например, принцип минимальных полномочий, при котором пользователям предоставляются только привилегии, необходимые для выполнения их задач. Однако при необходимости они могут использовать команду sudo, чтобы получить полномочия более высокого уровня. Настройка полномочий пользователя с помощью команды chmod подходит для контроля доступа к файлам и каталогам. А механизмы мониторинга и аудита, например, auditd, используются для отслеживания действий пользователей и выявления потенциальных нарушений безопасности. Кроме того, могут проводиться специальные ознакомительные программы обучения для того, чтобы донести до пользователей информацию о важности обеспечения безопасности паролей, использования передовых методов обработки данных и психологических атаках.

Применяя все эти рекомендации, IT-специалисты CTechCo могут обеспечить безопасность процесса управления пользователями, минимизировать риски для безопасности и поддерживать организованность среды Linux на высшем уровне.

Как и всегда, я надеюсь, что вам понравилась статья, и вы смогли узнать для себя что-то новое. 

Ссылка
скопирована
Получите бесплатные уроки на наших курсах
Все курсы
Программирование
Скидка 25%
Python-программист с нуля
Стань разработчиком на одном из самых популярных языков программирования.
Получи бесплатный
вводный урок!
Пожалуйста, укажите корректный e-mail
отправили вводный урок на твой e-mail!
Получи все материалы в telegram и ускорь обучение!
img
Еще по теме:
img
Гипервизор - это программное обеспечение для виртуализации, используемое для создания и запуска виртуальных машин (ВМ). Гипервиз
img
Виртуализация серверов позволяет запускать несколько виртуальных машин на одном физическом сервере. Запуск виртуальных машин (ВМ
img
Сегодня мы рассмотрим, как настроить и использовать PHP в проекте. Но прежде чем начать, нужно понять, что такое PHP. Что такое
img
Как разработчик, вы знаете, что HTML расшифровывается как HyperText Markup Language (язык разметки гипертекста). HTML — это язык
img
Бесконечные споры вокруг искусственного интеллекта приводят к путанице. Существует много терминов, которые кажутся похожими, но
img
SVG расшифровывается как масштабируемая векторная графика. Это веб-дружелюбный векторный формат файлов, используемый для отображ
21 ноября
20:00
Бесплатный вебинар
Введение в Docker