Меню

Linux как создать каталог и установить разрешения

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

Сегодня поговорим про управление пользователями и группами, разрешениями, атрибутами файлов и включение доступа 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. Этот файл содержит запись для каждой учетной записи пользователя системы и имеет следующий формат (поля разделяются двоеточием).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Читайте также:  Как установить на компьютер java без интернета

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

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

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

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

Что такое Setuid?

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

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

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

Понимание Setgid

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

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

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

Общие сведения о Sticky Bit

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

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

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

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

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

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

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

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

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

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

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

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

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

Читайте также:  Как установить программное обеспечение на ноутбук леново

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Итоги

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

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

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

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

Источник

ИТ База знаний

Полезно

— Онлайн генератор устойчивых паролей

— Онлайн калькулятор подсетей

— Руководство администратора FreePBX на русском языке

— Руководство администратора Cisco UCM/CME на русском языке

Читайте также:  Как научиться установить дверь

— Руководство администратора по Linux/Unix

Навигация

Серверные решения

Телефония

FreePBX и Asterisk

Настройка программных телефонов

Корпоративные сети

Протоколы и стандарты

Популярное и похожее

15 примеров команды PING для диагностики сети

Руководство по команде grep в Linux

15 примеров CURL в Linux

Использование timeout в Linux с примерами

Восстановление root пароля в Ubuntu

Захват пакетов с tcpdump: руководство с примерами

5 инструментов для сканирования Linux-сервера

Snom D715 white

Еженедельный дайджест

Как установить права доступа в Linux

Доступ к файлам ОС

При решении целого ряда задач администратору требуется изменить уровень доступа, который управляется командой chmod (change mode – изменить режим). Разберём подробнее как именно происходит изменение прав и какие ещё команды могут пригодиться Вам в этом процессе.

Введение

Структура разрешений для файлов и директорий в Linux являет собой матрицу 3 на 3 – есть три различных уровней доступа (read, write и execute – чтение, запись и выполнение), которые доступны для трёх типов пользователей – владельца файла, группы и others – «остальных».

Изменение уровня доступа

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

Для получения комбинаций прав – числа нужно сложить. Для уровня доступа rwx число будет равным 7 (4+2+1). Использовать можно также и буквенные обозначения, как удобнее конкретно для вас, но с численным представлением команды получаются короче 🙂 При изменении уровня доступа у файла нужно знать следующее:

К примеру, дадим права на чтение для пользователя, чтение для группы и нулевой уровень доступа для остальных:

Права на чтение, запись и исполнение для пользователя, группы и остальных:

И соответственно, так далее, в зависимости от ваших нужд.

Использование umask – настройка уровня доступа по умолчанию

У файла по умолчанию – 0666, то есть права rw-rw-rw-, но с учетом дефолтной маски 0022, файл будет создан со значением 0644 – rw-r—r—.

В случае директории результирующим значением будет 0755, то есть rwx-r-x-r-x.

С помощью команды umask xxxx всегда можно изменить значение маски по умолчанию. К примеру:

Как видно, права изменились с rw-r—r—для нового файла на –rw——-.

Несколько полезных примеров использования chmod

Было полезно?

Почему?

😪 Мы тщательно прорабатываем каждый фидбек и отвечаем по итогам анализа. Напишите, пожалуйста, как мы сможем улучшить эту статью.

😍 Полезные IT – статьи от экспертов раз в неделю у вас в почте. Укажите свою дату рождения и мы не забудем поздравить вас.

Источник

Как дать права на папку пользователю Linux

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

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

Права пользователя на папку Linux

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

Теперь давайте разберем как это реализуется на практике. Допустим, у нас есть папка /storage, владельцем которой является пользователь /root:

У папки такие права, что записывать в нее данные может только root, а другие пользователи могут их только смотреть. Нам надо предоставить к ней доступ на запись и чтение пользователю sergiy. Сейчас у него такого доступа нет:

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

Смотрим список групп нашего пользователя:

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

sudo chgrp storage /storage

Если нужно дать права на папку в Linux еще какому-нибудь пользователю, то достаточно добавить его в эту группу. Посмотрим список пользователей группы:

Теперь наша папка выглядит вот так:

Осталось подправить права для группы, нужно дать разрешение на чтение и запись:

Затем пользователь sergiy сможет записывать и читать файлы из этой папки, а все остальные пользователи только читать.

Выводы

Источник