Управление пользователями и группами, разрешениями, атрибутами файлов и включение доступа sudo к учетным записям -- LFCS часть 8

Управление пользователями и группами, разрешениями, атрибутами файлов и включение доступа sudo к учетным записям — LFCS часть 8

Рубрики:

LFCS

Метки:

, , ,

Сегодня поговорим про управление пользователями и группами, разрешениями, атрибутами файлов и включение доступа sudo к учетным записям. В августе прошлого года Linux Foundation запустила сертификацию LFCS (Linux Foundation Certified Sysadmin), блестящую возможность для системных администраторов продемонстрировать с помощью экзамена, что они могут выполнять общую поддержку Linux-систем.

Эта статья является 8 частью серии 20 статей, в этом разделе мы расскажем вам, как управлять пользователями и группами разрешений в системе Linux.

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

 

 

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

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

 

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

1. Создается домашний каталог (/home/username).

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

 

3. Для пользователя создается почтовая папка в /var/spool/mail/username.

4. Группа создается и получает то же имя, что и новая учетная запись пользователя.

 

 

Что такое /etc/passwd?

Итак, как управлять атрибутами файлов? Полная информация учетной записи хранится в файле /etc/passwd. Этот файл содержит запись для каждой учетной записи пользователя системы и имеет следующий формат (поля разделяются двоеточием).

 

  • Поля [username] и [Comment] являются пояснительными.
  • X во втором поле указывает, что учетная запись защищена теневым паролем (в /etc/shadow), который необходим для входа в систему как [username].
  • Поля [UID] и [GID] представляют собой целые числа, которые представляют идентификатор пользователя и первичный идентификатор группы, к которому принадлежит [username].
  • В [Home directory] указывается абсолютный путь к домашнему каталогу [username]
  • [Default shell] — это оболочка, которая будет доступна этому пользователю при входе в систему.

 

 

Что такое /etc/group?

Информация о группе сохраняется в файле /etc/group. Каждая запись имеет следующий формат.

 

  • [Group name] — это имя группы.
  • X в [Group password] указывает, что групповые пароли не используются.
  • [GID]: то же, что и в /etc/passwd.
  • [Group members]: список пользователей, которые являются членами [Group name].

Управление пользователями и группами, разрешениями, атрибутами файлов и включение доступа sudo к учетным записям -- LFCS часть 8

 

После добавления учетной записи вы можете отредактировать следующую информацию (чтобы назвать несколько полей) с помощью команды usermod.

 

 

Установка даты истечения срока действия учетной записи

Используйте опцию -expiredate, а затем дату в формате YYYY-MM-DD.

 

 

Добавление пользователя в дополнительные группы

Используйте комбинированные опции -aG или -append -groups, а затем список разделенных запятыми групп.

 

 

Изменение местоположения по умолчанию в домашнем каталоге пользователя

Используйте опции -d или -home, а затем напишите полный путь к новому домашнему каталогу.

 

 

Изменение оболочки, которую пользователь будет использовать по умолчанию

Используйте -shell, а затем путь к новой оболочке.

 

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

 

 

Теперь давайте выполним все вышеперечисленные команды за один раз.

 

 

Управление пользователями и группами, разрешениями, атрибутами файлов и включение доступа sudo к учетным записям -- LFCS часть 8

В приведенном выше примере мы установим дату истечения срока действия учетной записи пользователя tecmint до 30 октября 2014 года. Мы также добавим учетную запись в группу root и users. Наконец, мы установим sh в качестве оболочки по умолчанию и изменим местоположение домашнего каталога на /tmp.

Для существующих учетных записей мы также можем сделать следующее.

Отключение учетной записи путем блокировки пароля

Используйте -L (верхний регистр L) или опцию -lock, чтобы заблокировать пароль пользователя.

 

 

Разблокировка пароля пользователя

Используйте опцию -u или -unlock, чтобы разблокировать пароль пользователя, который был ранее заблокирован.

 

Lock-User-Accounts

 

 

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

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

 

 

Удаление группы

Вы можете удалить группу со следующей командой.

 

Если есть файлы, принадлежащие group_name, они не будут удалены, но владелец группы будет установлен в GID группы, которая была удалена.

 

 

Разрешения файла Linux

Помимо основных разрешений на чтение, запись и выполнение, которые мы обсуждали в Инструменты архивирования и настройка атрибутов файлов — 3 часть этой серии статей, существуют другие менее используемые (но не менее важные) настройки разрешений, которые называются «специальные разрешения».

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

 

 

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

Вы можете удалить учетную запись (вместе с ее домашним каталогом, если она принадлежит пользователю, и все файлы, находящиеся в ней, а также почтовый спул), используя команду userdel с параметром -remove.

 

 

Управление группой

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

Например, предположим, что у вас есть следующие пользователи.

  • User1 (основная группа: user1)
  • User2 (основная группа: user2)
  • User3 (основная группа: user3)

Все они нуждаются в доступе для чтения и записи к файлу с именем common.txt, расположенному где-то в вашей локальной системе, или, возможно, к сетевому ресурсу, созданным user1. У вас может возникнуть соблазн сделать что-то вроде:

 

Однако это обеспечит доступ только для чтения и записи владельцу файла и тем пользователям, которые являются членами группы владельца  файла (в этом случае user1). Опять же, у вас может возникнуть соблазн добавить user2 и user3 в группу user1, но это также даст им доступ к остальным файлам, принадлежащим пользователю user1 и группе user1.

И вот что вы должны делать в таком случае.

 

 

Что такое Setuid?

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

Например, давайте проверим разрешения /bin/passwd. Этот двоичный файл используется для изменения пароля учетной записи и изменения файла /etc/shadow. Суперпользователь может изменить чей-либо пароль, но все остальные пользователи должны иметь возможность изменять свои собственные.

Управление пользователями и группами, разрешениями, атрибутами файлов и включение доступа sudo к учетным записям -- LFCS часть 8

Таким образом, любой пользователь должен иметь разрешение на запуск /bin/passwd, но только root сможет указать учетную запись. Другие пользователи могут изменять только соответствующие пароли.

Change-User-Password

 

 

Понимание Setgid

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

 

Чтобы установить setgid в восьмеричной форме, добавьте номер 2 к текущим (или желаемым) основным разрешениям.

 

 

Установка SETGID в каталоге

Управление пользователями и группами, разрешениями, атрибутами файлов и включение доступа sudo к учетным записям -- LFCS часть 8
Общие сведения о Sticky Bit

Когда «Sticky Bit» установлен в файлы, Linux просто игнорирует его, тогда как для каталогов он не позволяет пользователям удалять или даже переименовывать содержащиеся в нем файлы, если пользователь не владеет каталогом, файлом или не является root пользователем.

 

Чтобы установить липкий бит в восьмеричной форме, добавьте номер 1 к текущим (или желаемым) основным разрешениям.

 

Без «Sticky Bit» любой, кто имеет доступ в каталог, может удалить или переименовать файлы. По этой причине «Sticky Bit» обычно находится в каталогах, таких как /tmp, который критически важен для системы.

Add-Stickybit-to-Directory

 

 

Специальные атрибуты файла Linux

Существуют и другие атрибуты, которые дают дополнительные ограничения на действия, разрешенные для файлов. Например, запреты на: переименование, перемещение, удаление или изменение файла. Они задаются командой chattr и могут быть просмотрены с помощью инструмента lsattr следующим образом.

 

После выполнения этих двух команд file1 будет неизменен (это означает, что он не может быть перемещен, переименован, изменен или удален), тогда как file2 войдет в режим только для добавления (может быть открыт только в режиме добавления для записи).

Управление пользователями и группами, разрешениями, атрибутами файлов и включение доступа sudo к учетным записям -- LFCS часть 8

 

 

Доступ к корневой учетной записи (супер пользователь) и использование sudo

Один из способов, которым пользователи могут получить доступ к учетной записи root, — это ввести:

 

А затем введите пароль root.

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

 

А затем введите пароль root.

Enable-Sudo-Access-on-Users

Вышеупомянутая процедура требует, чтобы обычный пользователь знал пароль root, что создает серьезную угрозу безопасности. По этой причине системный администратор может настроить команду sudo, чтобы обычный пользователь мог выполнять команды как пользователь (обычно суперпользователь) очень контролируемым и ограниченным образом. Таким образом, ограничения могут быть установлены для пользователя, чтобы он мог запускать одну или несколько определенных привилегированных команд, а другие нет.

Для аутентификации с использованием sudo пользователь использует свой собственный пароль. После ввода команды нам будет предложено ввести наш пароль (а не суперпользователя), и если аутентификация завершится успешно (и если пользователю были предоставлены привилегии для запуска команды), указанная команда выполняется.

Чтобы предоставить доступ к sudo, системный администратор должен отредактировать файл /etc/sudoers. Рекомендуется, чтобы этот файл редактировался с помощью команды visudo, а не открывая его непосредственно текстовым редактором.

 

Эта команда открывает файл /etc/sudoers с помощью vim (вы можете следовать инструкциям, приведенным в разделе «Установка и использование vim как основного редактора» — 2 часть этой серии статей, чтобы отредактировать файл).

Ниже приведены самые важные строки файла конфигурации.

 

Давайте посмотрим на них подробнее.

 

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

Следующие строки используются для указания разрешений.

 

  • Первое ключевое слово ALL указывает, что это правило применяется ко всем хостам.
  • Второе ALL указывает, что пользователь может запускать команды с привилегиями любого пользователя.
  • Третье  ALL означает, что может быть запущена любая команда.

 

Если ни один пользователь не указан после знака =, sudo предполагает пользователя root. В этом случае пользователь tecmint сможет запустить обновление yum с правами root.

 

Директива NOPASSWD позволяет пользователю gacanepa запускать /bin/updatedb без необходимости вводить свой пароль.

 

Знак % указывает, что эта строка относится к группе под названием «admin». Значение остальной части строки идентично смыслу обычного пользователя. Это означает, что члены группы «admin» могут выполнять все команды как любой пользователь на всех хостах.

Чтобы узнать, какие привилегии предоставлены вам sudo, используйте параметр «-l», чтобы вывести их список.

Управление пользователями и группами, разрешениями, атрибутами файлов и включение доступа sudo к учетным записям -- LFCS часть 8

 

 

PAM (подключаемые модули аутентификации)

Подключаемые модули аутентификации (PAM) обеспечивают гибкость настройки конкретной схемы аутентификации для каждого приложения или службы с использованием модулей. Этот инструмент, присутствующий во всех современных дистрибутивах Linux, преодолел проблему, с которой часто сталкиваются разработчики в первые дни пользования Linux, когда каждая программа, требующая аутентификации, должна была быть скомпилирована отдельно, чтобы знать, как получить необходимую информацию. Важно отметить, что очень полезно управлять атрибутами файлов.

Например, с помощью PAM не имеет значения, сохранен ли ваш пароль в /etc/shadow или на отдельном сервере внутри вашей сети.

Когда программе входа в систему требуется аутентификация пользователя, PAM динамически предоставляет библиотеку, содержащую функции для правильной схемы аутентификации. Таким образом, изменение схемы аутентификации для приложения входа (или любой другой программы с использованием PAM) это очень просто, поскольку они включают только редактирование файла конфигурации (скорее всего, файл конфигурации, названный в честь приложения, расположенный внутри /etc/pam.d, и менее вероятно, в /etc/pam.conf).

Файлы внутри /etc/pam.d указывают, какие приложения используют PAM изначально. Кроме того, мы можем сказать, использует ли какое-либо приложение PAM, проверяя, связана ли с ним библиотека PAM (libpam):

 

Check-Linux-PAM-Library

 

На приведенном выше изображении мы видим, что libpam связан с приложением входа. Это имеет смысл, поскольку это приложение задействовано в работе аутентификации пользователей системы, в то время как top — нет. Это поможет управлять атрибутами файлов.

Давайте рассмотрим конфигурационный файл PAM для passwd — известная утилита для изменения паролей пользователей. Он расположен по адресу /etc/pam.d/passwd:

 

PAM-Configuration-File-for-Linux-Password

 

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

 

Доступны следующие типы аутентификации:

  • Account: этот тип модуля проверяет, предоставил ли пользователь или услуга действительные учетные данные для аутентификации.
  • Auth: этот тип модуля подтверждает, что пользователь является тем, кем он утверждает, и предоставляет любые необходимые привилегии.
  • Password: этот тип модуля позволяет пользователю или услуге обновлять свой пароль.
  • Session: этот тип модуля указывает, что должно быть сделано до или после успешной проверки подлинности.

 

Второй столбец (называемый контролем) указывает, что должно произойти, если произошел сбой аутентификации:

  • requisite: если аутентификация через этот модуль выходит из строя, полная аутентификация будет немедленно отклонена.
  • required: аналогично requisite, хотя все другие перечисленные модули для этой службы будут вызваны до отказа в аутентификации.
  • sufficient: если аутентификация через этот модуль выходит из строя, PAM все равно будет продолжать аутентификацию, даже если предыдущий пункт помеченный как необходимый не удалось выполнить.
  • optional: если аутентификация через этот модуль завершается с ошибкой или завершается успешно, ничего не происходит, если только это не единственный модуль его типа, определенный для этой службы.
  • include: означает, что строки данного типа следует читать из другого файла.
  • substack: аналогичен include, но ошибки или успехи в аутентификации не вызывают выхода из полного модуля, но только для подстановки.

 

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

Первые три строки в /etc/pam.d/passwd (показано выше) загружают модуль system-auth для проверки того, что пользователь предоставил действительные учетные данные (учетная запись). Если это так, это позволяет ему менять пароль аутентификации, разрешая использовать passwd.

Например, если вы добавили:

 

Следующую строку:

 

В /etc/pam.d/system-auth:

 

Последние два хэшированных пароля каждого пользователя сохраняются в /etc/security/opasswd, так что они не могут быть повторно использованы:

Управление пользователями и группами, разрешениями, атрибутами файлов и включение доступа sudo к учетным записям -- LFCS часть 8

 

 

Итоги

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

 

 

Спасибо за уделенное время на прочтение статьи!

Если возникли вопросы, задавайте их в комментариях.

Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!

Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Cisco, курсы по кибербезопасностиполный курс по кибербезопасности от Академии Ciscoкурсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).

 

Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!

Спешите подать заявку! Группы стартуют 25 января, 26 февраля, 22 марта, 26 апреля, 24 мая, 21 июня, 26 июля, 23 августа, 20 сентября, 25 октября, 22 ноября, 20 декабря.
Что Вы получите?
  • Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
  • Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
  • Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
Как проходит обучение?
  • Проведем вечерние онлайн-лекции на нашей платформе.
  • Согласуем с вами удобное время для практик.
  • Если хотите индивидуальный график — обсудим и реализуем.
  • Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
  • Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
А еще поможем Вам:
  • отредактировать или создать с нуля резюме;
  • подготовиться к техническим интервью;
  • подготовиться к конкурсу на понравившуюся вакансию;
  • устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
Чтобы учиться на курсах Cisco, Linux LPI, кибербезопасность, DevOps / DevNet, Python, подайте заявку или получите бесплатную консультацию.

Рубрики:

LFCS

Метки:

, , ,

Больше похожих постов

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Заполните поле
Заполните поле
Пожалуйста, введите корректный адрес email.
Вы должны согласиться с условиями для продолжения


Поиск по сайту
Лучшее
Популярное
Рубрики
Меню