- Настройка прав доступа в Linux
- Настраиваем права доступа в Linux
- Способ 1: Файловый менеджер
- Способ 2: Команда chmod
- Инструкции
- Командная строка Linux: краткий курс для начинающих
- Перенаправление ввода/вывода в Linux
- Работа с файлами и каталогами в Linux
- Как сгенерировать SSH-ключ для доступа на сервер
- Как установить и настроить веб-сервер Apache
- Руководство по написанию скриптов в Linux Bash
- Введение в Git: настройка и основные команды
- Как установить MySQL на Windows
- Как установить и использовать MySQL Workbench
- Создание нового пользователя и настройка прав в MySQL
- Понимание прав доступа к файлам в Linux
- Understanding Linux File Permissions
- В Linux права доступа к файлам, атрибуты и владение управляют уровнем доступа, который система обрабатывает, а пользователи имеют к файлам. Это гарантирует, что только авторизованные пользователи и процессы могут получить доступ к определенным файлам и каталогам.
- Права доступа к файлам в Linux
- Изменение прав доступа к файлу
- Символьный (текстовый) метод
- Числовой метод
- Заключение
Настройка прав доступа в Linux
В операционных системах, основанных на базе ядра Linux, присутствует инструмент настройки полномочий, который позволяет разделить права доступа между учетными записями. Благодаря этому выставляется ограничение на доступ к определенным файлам, директориям или приложениям. Всего существует три вида подобных прав — чтение, запись и выполнение. Любое из них может редактироваться отдельно под каждого зарегистрированного в ОС юзера с помощью специальных инструментов. Далее будет рассмотрено два метода конфигурации упомянутых параметров.
Настраиваем права доступа в Linux
Рассмотренные сегодня методы подойдут для всех дистрибутивов Линукс, поскольку они универсальны. Разве что первый способ будет недоступен тем юзерам, у кого нет установленного файлового менеджера, а управление системой производится исключительно через консоль. В таком случае сразу рекомендуем переходить ко второму варианту, где подробно расписано действие команды chmod. Другим пользователям, кто активно взаимодействует с графическим интерфейсом системы, советуем уделить время двум методам, ведь они имеют несколько разные возможности по настройке доступа.
Перед началом разборов способов убедитесь в том, что в системе присутствует необходимое число пользователей. Если вы знаете, что доступ к компьютеру будет еще у нескольких людей, следует создать каждому свою отдельную учетную запись, а уже потом переходить к назначению прав доступа. Детальное руководство по этой теме вы найдете в другой нашей статье по следующей ссылке.
Способ 1: Файловый менеджер
Практически каждый, кто хоть раз пользовался компьютером, сталкивался с работой файлового менеджера. В нем не только происходит переход по папкам и запуск файлов, в его функциональность входят и дополнительные инструменты по редактированию объектов и выполнению с ними других действий. Все детали мы сегодня затрагивать не будем, а лишь разберемся с выставлением привилегий и ограничений. Стоит отметить, что в дистрибутивах могут быть установлены разные менеджеры, все они различаются по интерфейсу, но в целом структура остается похожей. Возьмем за пример стандартное решение для Ubuntu — Nautilus.
- Запустите файловый менеджер, найдите там необходимый файл или папку, щелкните на объекте правой кнопкой мыши и выберите «Свойства». Если отыскать элемент не получается, задействуйте встроенную функцию поиска, она позволит найти файл по названию, формату, дате создания или изменения.
Во вкладке «Общедоступная папка локальной сети» выполняется публикация директорий для домашней группы устройств, входящих в вашу сеть. То есть после нажатия на «Опубликовать эту папку» ее смогут просматривать другие пользователи, подключенные к вашей локальной сети.
При переходе в свойства отдельного файла вы увидите немного другие разрешения, но в целом их применение остается таким же, как в случае и с директорией. Обратите внимание, что внизу добавлен параметр «Разрешить выполнение файла как программы» — активируйте его, если нужно, чтобы другие юзеры могли запускать выполнение этого объекта.
Конечно, настройки, присутствующие в файловом менеджере, позволяют быстро и без каких-либо проблем отредактировать права доступа к объектам, однако иногда набор функций достаточно ограничен, а некоторым пользователям нужна более гибкая конфигурация. В такой ситуации мы рекомендуем обратиться к следующему методу.
Способ 2: Команда chmod
Юзеры, которые уже сталкивались с выполнением определенных задач в операционных системах на Линукс, наверняка знают, что преимущественное большинство всех действий производится через классическую консоль с применением различных команд. Редактирование прав доступа для файлов и папок не стало исключением и пригодится для этого встроенная утилита chmod.
Синтаксис chmod
Каждая команда имеет свой синтаксис — набор опций и параметров, записывающихся в определенной последовательности для указания выполнения необходимых действий. Тогда последовательность ввода будет такой: chmod + опции + права + название объекта или путь к нему . Детальную информацию о том, как использовать chmod, читайте в консоли. Запустить ее можно через меню или комбинацию клавиш Ctrl + Alt + T.
В «Терминале» вам следует прописать chmod —help и нажать на клавишу Enter. После этого отобразится официальная документация на установленном по умолчанию языке, которая поможет разобраться с основами утилиты. Но мы все же приведем более детальное описание всех опций и прав.
Права доступа
Как вы уже знаете из представленной выше информации, в Linux присутствует три вида прав — чтение, запись и выполнение. Каждое из них имеет собственное буквенное обозначение в chmod, что и следует использовать при работе с командой.
- r — чтение;
- w — запись;
- x — выполнение;
- s — выполнение от имени суперпользователя. Данное право является дополнительным и подразумевает запуск программ и скриптов от главной учетной записи (грубо говоря, через команду sudo).
В первом способе заметно, что в свойствах элемента настройки разделены для каждой группы пользователей. Их тоже существует три и в chmod они определяются так:
- u — владелец объекта;
- g — группа;
- o — остальные юзеры;
- a — все перечисленные выше пользователи.
Помимо этого, рассматриваемая команда принимает обозначения прав в виде цифр. Цифры от 0 до 7 означают определенный параметр:
- 0 — отсутствие прав;
- 1 — исключительно выполнение;
- 2 — только запись;
- 3 — исполнение и запись вместе;
- 4 — исключительно чтение;
- 5 — чтение и исполнение;
- 6 — чтение и запись;
- 7 — все права вместе.
Все эти параметры одинаковы как для отдельных файлов, так и для директорий. Во время присвоения привилегий вы сначала указываете цифру для владельца, потом для группы и в конце для остальных юзеров. Тогда значение обретет вид, например, 744 или 712 . Одно или несколько из указанных прав вводятся после написания опций к утилите, поэтому их тоже следует детально изучить.
Опции
Права играют главную роль при использовании команды chmod, однако опции позволяют выполнить конфигурацию более гибко, задав дополнительные параметры. Самые популярные обозначения опций имеют такой вид:
- -c — отображение информации обо всех изменениях после активации команды;
- -f — исключить отображение всех уведомлений о возникших ошибках;
- -v — показывать всю информацию после активации команды;
- —reference — выбрать маску прав из определенного файла;
- -R — активация рекурсии. В таком случае указанные права будут применены для всех файлов и папок указанной директории;
Теперь вы ознакомлены с синтаксисом и основными обозначениями используемой сегодня утилиты под названием chmod. Осталось только ознакомиться с дополнительной полезной информацией, которая позволит упростить процесс редактирования прав, а также узнать о популярных примерах команды.
Дополнительные действия
Для повышения удобства работы в «Терминале» юзеру потребуется использовать еще несколько команд, оптимизирующих выполнение последующих действий. Например, после запуска можете прописать cd /home/user/folder , где /home/user/folder — условный путь к необходимой папке. После активации данной команды произойдет перемещение в указанную директорию и все последующие действия будут осуществляться через нее. Таким образом, исключается надобность ввода полного пути к файлу или папке в дальнейшем (конечно, если они располагаются в том расположении, куда был произведен переход).
Нельзя не отметить и команду ls с опцией -l . Такая утилита позволяет просмотреть текущие установки по правам доступа к объектам. Например, результат -rw-rw-r— означает, что владелец сможет читать и редактировать файл, группа делать то же самое, а остальные юзеры только читать. (Все обозначения соответствуют описанным выше правам доступа). Подробно о действии команды ls в Linux рассказано в другой нашей статье по следующей ссылке.
Примеры команды
Напоследок хотелось бы привести несколько примеров использования утилиты, чтобы у пользователей больше не осталось вопросов касаемо синтаксиса команды и ее применения. Обратите внимание на такие строки:
- chmod a+r File_Name — добавить всем права на чтение файла;
- chmod a-x File_Name — забрать права на исполнение объекта;
- chmod a+r File_Name — добавить права на чтение и запись;
- chmod -R u+w,go-w Folder_Name — включение рекурсии (применение команды для всей директории и ее содержимого), добавление прав на запись для владельца и удаление прав на запись у остальных пользователей.
Как видите, знаки + и — означают добавить или забрать права. Указываются они вместе с опциями и правами без пробелов, а затем идет название файла или полный путь к нему.
Сегодня вы узнали о двух методах настройки прав доступа в ОС, основанных на ядре Linux. Перечисленные способы являются универсальными и подходят всем дистрибутивам. Перед активацией каждой команды мы настоятельно советуем убедиться не только в правильности синтаксиса, но и названиях файлов и пути к ним.
Помимо этой статьи, на сайте еще 12315 инструкций.
Добавьте сайт Lumpics.ru в закладки (CTRL+D) и мы точно еще пригодимся вам.
Отблагодарите автора, поделитесь статьей в социальных сетях.
Источник
Инструкции
27 сентября 2021
Командная строка Linux: краткий курс для начинающих
27 сентября 2021
Перенаправление ввода/вывода в Linux
27 сентября 2021
Работа с файлами и каталогами в Linux
26 сентября 2021
Как сгенерировать SSH-ключ для доступа на сервер
23 сентября 2021
Как установить и настроить веб-сервер Apache
23 сентября 2021
Руководство по написанию скриптов в Linux Bash
21 сентября 2021
Введение в Git: настройка и основные команды
21 сентября 2021
Как установить MySQL на Windows
21 сентября 2021
Как установить и использовать MySQL Workbench
20 сентября 2021
Создание нового пользователя и настройка прав в MySQL
© ООО «Селектел», 2008—2021
Полностью изолированные физические серверы любой конфигурации с облачной готовностью
Виртуальные машины с моментальным масштабированием и поддержкой Infrastructure-as-code
В дата-центрах TIER III Москвы, Санкт‑Петербурга и ЛО
Инфраструктура на базе VMware для бизнес-критичных задач любой сложности
Готовые к работе управляемые базы данных PostgreSQL и MySQL™
Полностью готовый к работе кластер Kubernetes для управления контейнерами
Масштабируемое хранилище данных с гибким ценообразованием, поддержкой FTP и S3 API
Запуск кода по запросу или событию без создания и обслуживания сервера
Источник
Понимание прав доступа к файлам в Linux
Understanding Linux File Permissions
В Linux права доступа к файлам, атрибуты и владение управляют уровнем доступа, который система обрабатывает, а пользователи имеют к файлам. Это гарантирует, что только авторизованные пользователи и процессы могут получить доступ к определенным файлам и каталогам.
Права доступа к файлам в Linux
Базовая модель разрешений Linux работает, связывая каждый системный файл с владельцем и группой и назначая права доступа для трех разных классов пользователей:
- Владелец файла.
- Члены группы.
- Другие (все остальные).
Собственности файла можно изменить с помощью chown и chgrp команды.
К каждому классу пользователей применяются три типа прав доступа к файлам:
- Разрешение на чтение.
- Разрешение на запись.
- Разрешение на выполнение.
Эта концепция позволяет вам контролировать, какие пользователи могут читать файл, записывать в файл или выполнять файл.
Чтобы просмотреть права доступа к файлу, используйте ls команду:
Первый символ указывает тип файла. Это может быть обычный файл ( — ), каталог ( d ), символическая ссылка ( l ) или другие специальные типы файлов. Следующие девять символов представляют права доступа к файлу, три тройки по три символа каждая. Первый триплет показывает разрешения владельца, второй — разрешения группы, а последний триплет — разрешения для всех остальных.
В приведенном выше примере ( rw-r—r— ) означает, что владелец файла имеет права на чтение и запись ( rw- ), а группа и другие пользователи имеют только права на чтение ( r— ).
Права доступа к файлам имеют разное значение в зависимости от типа файла.
Каждый из трех триплетов разрешений может состоять из следующих символов и иметь разные эффекты, в зависимости от того, установлены ли они для файла или для каталога:
Влияние разрешений на файлы
Разрешение | Метка | Значение в файле |
---|---|---|
Чтение Read | — | Файл не читается. Вы не можете просматривать содержимое файла. |
r | Файл доступен для чтения. | |
Запись Write | — | Файл не может быть изменен или изменен. |
w | Файл можно изменить или модифицировать. | |
Выполнение Execute | — | Файл не может быть выполнен. |
x | Файл можно запустить. | |
s | Если он находится в user триплете, он устанавливает setuid бит. Если он находится в group триплете, он устанавливает setgid бит. Это также означает, что x флаг установлен. Когда для исполняемого файла установлены флаги setuid или setgid , файл выполняется с правами владельца и / или группы. | |
S | То же s , но x флаг не установлен. Этот флаг редко используется для файлов. | |
t | Если он находится в others триплете, он устанавливает sticky бит. Это также означает, что x флаг установлен. Этот флаг бесполезен для файлов. | |
T | То же, t но x флаг не установлен. Этот флаг бесполезен для файлов. |
Влияние разрешений на каталоги (папки)
Каталоги — это особые типы файлов, которые могут содержать другие файлы и каталоги.
Разрешение | Метка | Значение в каталоге |
---|---|---|
Чтение Read | — | Содержимое каталога не может быть отображено. |
r | Можно показать содержимое каталога. (например, вы можете перечислить файлы внутри каталога с помощью ls .) | |
Запись Write | — | Содержимое каталога не может быть изменено. |
w | Содержимое каталога может быть изменено. (например, вы можете создавать новые файлы , удалять файлы и т. д.) | |
Выполнение Execute | — | Каталог не может быть изменен на. |
x | По каталогу можно перемещаться с помощью cd . | |
s | Если он находится в user триплете, он устанавливает setuid бит. Если он находится в group триплете, он устанавливает setgid бит. Это также означает, что x флаг установлен. Когда setgid для каталога установлен флаг, новые файлы, созданные в нем, наследуют идентификатор группы каталогов (GID) вместо идентификатора основной группы пользователя, создавшего файл. setuid не влияет на каталоги. | |
S | То же s , но x флаг не установлен. Этот флаг бесполезен для каталогов. | |
t | Если он находится в others триплете, он устанавливает sticky бит. Это также означает, что x флаг установлен. Когда для каталога установлен бит закрепления, только владелец файла, владелец каталога или административный пользователь могут удалять или переименовывать файлы в каталоге. | |
T | То же t , но x флаг не установлен. Этот флаг бесполезен для каталогов. |
Изменение прав доступа к файлу
Права доступа к файлу можно изменить с помощью chmod команды. Только root, владелец файла или пользователь с привилегиями sudo могут изменять права доступа к файлу. Будьте особенно осторожны при использовании chmod , особенно при рекурсивном изменении разрешений. Команда может принимать в качестве аргументов один или несколько файлов и / или каталогов, разделенных пробелом.
Разрешения можно указать с помощью символьного режима, числового режима или справочного файла.
Символьный (текстовый) метод
Синтаксис chmod команды при использовании символьного режима имеет следующий формат:
Первый набор flags ( [ugoa…] ), флаги пользователей, определяет классы пользователей, для которых изменяются права доступа к файлу.
- u — Владелец файла.
- g — Пользователи, входящие в группу.
- o — Все остальные пользователи.
- a — Все пользователи, идентичные ugo .
Когда флаг пользователя опущен, по умолчанию используется a .
Второй набор flags ( [-+=] ), флаги операции, определяет, следует ли удалить, добавить или установить разрешения:
- — — Удаляет указанные разрешения.
- + — Добавляет указанные разрешения.
- = — Изменяет текущие разрешения на указанные разрешения. Если после = символа не указаны разрешения, все разрешения указанного класса пользователей удаляются.
Разрешения ( perms. ) явно устанавливается с помощью либо ноль , либо один или несколько из следующих букв: r , w , x , X , s , и t . Используйте одну букву из набора u , g и o при копировании разрешений из одного класса пользователей в другой.
При настройке разрешений для более чем одного пользовательского класса ( [,…] ) используйте запятые (без пробелов) для разделения символьных режимов.
Вот несколько примеров того, как использовать chmod команду в символьном режиме:
Дайте членам группы разрешение на выполнение файла, но не на чтение и запись в него:
Удалите разрешение на запись для всех пользователей:
Отвратительно удалите разрешение на выполнение для других пользователей:
Удалите права на чтение, запись и выполнение для всех пользователей, кроме владельца файла:
То же самое можно сделать с помощью следующей формы:
Предоставьте права на чтение, запись и выполнение владельцу файла, права на чтение для группы файла и запретите права всем другим пользователям:
Числовой метод
Синтаксис команды chmod при использовании символьного режима имеет следующий формат:
При использовании числового режима вы можете установить разрешения для всех трех классов пользователей (владельца, группы и всех остальных) одновременно.
Номер разрешения может быть трех- или четырехзначным. Когда используется трехзначный номер, первая цифра представляет права владельца файла, вторая — группу файла, а последняя — всех остальных пользователей.
Каждое разрешение на запись, чтение и выполнение имеет следующее числовое значение:
- r (читать) = 4
- w (написать) = 2
- x (выполнить) = 1
- нет разрешений = 0
Количество разрешений определенного класса пользователей представлено суммой значений разрешений для этой группы.
Чтобы узнать права доступа к файлу в числовом режиме, просто подсчитайте итоговые значения для всех классов пользователей. Например, чтобы предоставить права на чтение, запись и выполнение владельцу файла, права на чтение и выполнение для группы файла и только на чтение для всех остальных пользователей, вы должны сделать следующее:
- Владелец: rwx = 4 + 2 + 1 = 7
- Группа: rx = 4 + 0 + 1 = 5
- Другое: rx = 4 + 0 + 0 = 4
Используя описанный выше метод, мы подходим к числу 754 , которое представляет желаемые разрешения.
Для того, чтобы настроить setuid , setgid и sticky bit флаги, используйте номер четыре цифры.
Когда используется четырехзначный номер, первая цифра имеет следующее значение:
- setuid = 4
- setgid = 2
- липкий = 1
- без изменений = 0
Следующие три цифры имеют то же значение, что и при использовании трехзначного номера.
Если первая цифра равна 0, ее можно не указывать, а режим можно представить тремя цифрами. Числовой режим 0755 такой же, как 755 .
Для вычисления числового режима вы также можете использовать другой метод (двоичный метод), но он немного сложнее. Знания, как рассчитать числовой режим с использованием 4, 2 и 1, достаточно для большинства пользователей.
Вы можете проверить права доступа к файлу в числовом формате с помощью stat команды:
Вот несколько примеров того, как использовать chmod команду в числовом режиме:
Предоставьте владельцу файла разрешения на чтение и запись и только на чтение членам группы и всем остальным пользователям:
Предоставьте владельцу файла права на чтение, запись и выполнение, права на чтение и выполнение для членов группы и никаких разрешений для всех остальных пользователей:
Предоставьте разрешения на чтение, запись и выполнение, а также закрепите бит для данного каталога:
Рекурсивно установить разрешения на чтение, запись и выполнение для владельца файла и отсутствие разрешений для всех других пользователей в данном каталоге:
Заключение
В Linux доступ к файлам ограничен разрешениями, атрибутами и правами собственности на файлы. Чтобы изменить права доступа к файлу, используйте chmod команду.
Источник