Посмотреть права доступа для папки linux

Права доступа к файлам и каталогам в Linux

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

Общая информация о правах доступа

Всего предусмотрено три варианта прав:

  • чтение, обозначаемое буквой ® ,
  • запись, используется (w),
  • запуск файла (x).

Но это касается только файлов. Если речь идет о каталогах, то под правом доступа подразумевается, что пользователь сможет его открыть и просмотреть содержимое.

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

Узнать Linux права пользователя на папку очень просто. Для этого используется команда:

Наглядно её использование можно увидеть на следующем примере:

После введения такой команды вы получите в ответ:

Расшифровывается написанное так:

  • — (1 символ) — символьное обозначение файла, если каталог, то буква d;
  • r-(максимально 3 символа) — отображают непосредственно права доступа, то есть — чтение, запись и запуск на выполнение, в данном примере пользователь может лишь читать файл, внесение изменений и запуск запрещены;
  • r- (максимум 3 символа) — аналогично предыдущему, но показывают права уже группы владельцев, куда входит данный пользователь, соответственно, они могут читать файл, но не могут его отправлять на выполнение или изменять;
  • — (еще 3 символа) — показывают права доступа для других пользователей, то есть данный файл никто кроме администратора не сможет даже прочитать, при попытке зайти в него будет выведено на экран сообщение Access denied.

В операционной системе Linux права пользователя на папку можно задать при помощи команды chmod. Это можно сделать одним из двух способов — символьным или абсолютным. В первом случае задаются символы, которые обозначают для пользователя возможности работы с файлами — r, w, x (чтение, редактирование и запись). Но в UNIX намного практичнее использовать абсолютный метод. В чем он заключается можно детально разобраться на примере:

Этот набор символов означает, что пользователь может лишь читать и изменять файл (r и w). При этом члены его группы могут лишь открывать его для просмотра, а посторонние и вовсе не имеют к данным доступа.

Читайте также:  Обнаружение нового жесткого диска windows 10

Теперь давайте возьмем лишь права только владельца файла: rw-. Ему разрешено чтение, держим в памяти 1, а также редактирование, запоминаем ещё 1. Поскольку запуск запрещен, то добавляем 0 и получаем в итоге цифру 110. Если её перевести из двоичной системы в восьмеричную, то выйдет 6. Для перевода других чисел вы всегда сможете воспользоваться приведенной ниже таблицей.

Таблица 1. Преобразование из двоичной в восьмеричную систему

Двоичная система Восьмеричная система Двоичная система Восьмеричная система
000 0 100 4
001 1 101 5
010 2 110 6
011 3 111 7

Если по подобию разобрать на числа права группы владельца, то выйдет 100. При его переводе в восьмеричную систему останется 4. У посторонних набор и вовсе прост — 000. При переводе останется просто 0. Итак, общие права доступа для данного файла — 640 и чтобы их установить, требуется лишь внести команду следующего формата:

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

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

Источник

Инструкции

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

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

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

Читайте также:  Редакторы php для linux

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

На базовом уровне в Linux используются три параметра доступа к файлам. К ним относятся:

  • Чтение — этот параметр позволяет просматривать содержимое файлов и директорий, но не вносить в них изменения.
  • Запись — наличие этого параметра позволяет вносить в файл изменения и создавать/удалять файлы и папки в каталогах.
  • Выполнение — особый параметр, предоставляющий разрешение на запуск исполняемых файлов — приложений и скриптов. Без этого ключа файлы приложений не будут идентифицированы как исполняемые.

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

Таковыми категориями являются:

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

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

  • SUID — заменяет ID запускающего программу пользователя на ID другого юзера, того же Root .
  • SGID — работает так же, как и SUID , только при этом запускающий файл пользователь будет считаться членом группы, с которой этот файл связан.
  • Sticky-bit — в настоящее время флаг утратил актуальность, раньше он применялся при создании общих папок. Файлы, для которых он установлен, можно читать и исполнять, но нельзя удалять, если только желающий удалить файл не является его владельцем.

Смотрим права доступа

Но довольно теории, давайте теперь посмотрим, как просматривать и изменять права доступа в Linux. Узнать права доступа для файла или папки можно в свойствах объекта на вкладке «Права», но для получения полной картины лучше использовать терминал.

Откройте его в каталоге с файлами и выполните такую команду:

ls -l

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

Обратите внимание на набор из десяти символов в начале каждой строки, это символьное обозначение прав доступа в Линукс.

Первый символ обозначает тип данных, например, дефис означает, что вы имеете дело с обычным файлом, смотрите скриншоты ниже.

Читайте также:  Linux convert cer to crt

В следующих девяти символах «закодированы» права доступа. На самом деле, права указаны в каждой тройке символов, то есть полученную строку rwxrwxrwx можно представить как rwxrwxrwx. Первая группа — это права доступа хозяина объекта, вторая группа — это права системной группы, третья тройка символов означает права на файл для всех прочих пользователей.

А вот что означают сами символы:

Зная обозначения, можно легко разобрать любую комбинацию. Например, rwx означает, что пользователь или группа имеет права на чтение, запись и исполнение, r-x — права на доступ и исполнение, но с запретом на изменение или удаление, rw- станет означать наличие прав на чтение и запись, но не право запускать файл как исполняемый.

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

Как вы уже знаете, права в Linux могут иметь не только пользователи, но и группы, в связи с чем может возникнуть вопрос: а как определить имя владельца и название группы? Элементарно, их выводит та же команда ls -l . В третьей колонке слева указано имя владельца объекта, название же связанной с объектом группы указано в четвертой колонке.

При желании вы можете заменить хозяина и группу для файла или папки, воспользовавшись такой командой:

sudo chown u:g file

chown — это сама команда замены, u — имя пользователя, которому желаем делегировать права, g — название группы, а file — название самого файла. В данном случае мы передаем права суперпользователю — root .

Меняем права в Линукс для объектов ФС

Если за замену пользователя и группы в Линукс отвечает команда chown , то для изменения прав доступа в системе предусмотрена команда chmod .

Она имеет следующий синтаксис:

chmod категория действие права объект

Что такое категории вы уже знаете, это владельцы файлов, группы и все остальные пользователи. Обозначаются категории как u, g и o соответственно. Для сразу всех категорий используется обозначение a. Категории можно группировать, например, ug станет означать, что мы хотим изменить права на объект для владельца и группы.

Действие — это изменение прав. Для присвоения прав используется ключ «=», для добавления указывается флаг «+», чтобы забрать права, нужно использовать ключ «-». С обозначениями прав вы также уже знакомы. Всё, можно формировать команды.

Сделаем для примера файл ntuser.ini недоступным для редактирования и исполнения:

chmod ug-wx ntuser.ini

В результате символьное представление прав стало таким: r—r—rwx. Как видите, права на файл были изменены для текущих владельца и группы, но не для категории «Все остальные» , если же бы мы вместо ug указали ugo или a, право на чтение и исполнение потеряли бы все категории. Обратите внимание, что в данном случае мы не использовали sudo в начале команды, поскольку и так являемся владельцем. Если же бы изменяли права root или другого пользователя, использование sudo было бы обязательным.

Ну вот, теперь в самых общих чертах вы знаете, чем отличаются организация прав доступа в Линукс от организации прав доступа в Windows, а самое главное, умеете просматривать и изменять права. Уверены, эти знания очень вам пригодятся, позволяя максимально эффективно управлять доступом к пользовательским и системным файлам.

Источник

Оцените статью

Посмотреть права доступа для папки linux

Права доступа к файлам и каталогам в Linux

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

Общая информация о правах доступа

Всего предусмотрено три варианта прав:

  • чтение, обозначаемое буквой ® ,
  • запись, используется (w),
  • запуск файла (x).

Но это касается только файлов. Если речь идет о каталогах, то под правом доступа подразумевается, что пользователь сможет его открыть и просмотреть содержимое.

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

Узнать Linux права пользователя на папку очень просто. Для этого используется команда:

Наглядно её использование можно увидеть на следующем примере:

После введения такой команды вы получите в ответ:

Расшифровывается написанное так:

  • — (1 символ) — символьное обозначение файла, если каталог, то буква d;
  • r-(максимально 3 символа) — отображают непосредственно права доступа, то есть — чтение, запись и запуск на выполнение, в данном примере пользователь может лишь читать файл, внесение изменений и запуск запрещены;
  • r- (максимум 3 символа) — аналогично предыдущему, но показывают права уже группы владельцев, куда входит данный пользователь, соответственно, они могут читать файл, но не могут его отправлять на выполнение или изменять;
  • — (еще 3 символа) — показывают права доступа для других пользователей, то есть данный файл никто кроме администратора не сможет даже прочитать, при попытке зайти в него будет выведено на экран сообщение Access denied.

В операционной системе Linux права пользователя на папку можно задать при помощи команды chmod. Это можно сделать одним из двух способов — символьным или абсолютным. В первом случае задаются символы, которые обозначают для пользователя возможности работы с файлами — r, w, x (чтение, редактирование и запись). Но в UNIX намного практичнее использовать абсолютный метод. В чем он заключается можно детально разобраться на примере:

Этот набор символов означает, что пользователь может лишь читать и изменять файл (r и w). При этом члены его группы могут лишь открывать его для просмотра, а посторонние и вовсе не имеют к данным доступа.

Читайте также:  Windows 10 mobile 1703 lumia 640

Теперь давайте возьмем лишь права только владельца файла: rw-. Ему разрешено чтение, держим в памяти 1, а также редактирование, запоминаем ещё 1. Поскольку запуск запрещен, то добавляем 0 и получаем в итоге цифру 110. Если её перевести из двоичной системы в восьмеричную, то выйдет 6. Для перевода других чисел вы всегда сможете воспользоваться приведенной ниже таблицей.

Таблица 1. Преобразование из двоичной в восьмеричную систему

Двоичная система Восьмеричная система Двоичная система Восьмеричная система
000 0 100 4
001 1 101 5
010 2 110 6
011 3 111 7

Если по подобию разобрать на числа права группы владельца, то выйдет 100. При его переводе в восьмеричную систему останется 4. У посторонних набор и вовсе прост — 000. При переводе останется просто 0. Итак, общие права доступа для данного файла — 640 и чтобы их установить, требуется лишь внести команду следующего формата:

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

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

Источник

Инструкции

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

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

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

Читайте также:  Где включить компоненты windows

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

На базовом уровне в Linux используются три параметра доступа к файлам. К ним относятся:

  • Чтение — этот параметр позволяет просматривать содержимое файлов и директорий, но не вносить в них изменения.
  • Запись — наличие этого параметра позволяет вносить в файл изменения и создавать/удалять файлы и папки в каталогах.
  • Выполнение — особый параметр, предоставляющий разрешение на запуск исполняемых файлов — приложений и скриптов. Без этого ключа файлы приложений не будут идентифицированы как исполняемые.

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

Таковыми категориями являются:

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

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

  • SUID — заменяет ID запускающего программу пользователя на ID другого юзера, того же Root .
  • SGID — работает так же, как и SUID , только при этом запускающий файл пользователь будет считаться членом группы, с которой этот файл связан.
  • Sticky-bit — в настоящее время флаг утратил актуальность, раньше он применялся при создании общих папок. Файлы, для которых он установлен, можно читать и исполнять, но нельзя удалять, если только желающий удалить файл не является его владельцем.

Смотрим права доступа

Но довольно теории, давайте теперь посмотрим, как просматривать и изменять права доступа в Linux. Узнать права доступа для файла или папки можно в свойствах объекта на вкладке «Права», но для получения полной картины лучше использовать терминал.

Откройте его в каталоге с файлами и выполните такую команду:

ls -l

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

Обратите внимание на набор из десяти символов в начале каждой строки, это символьное обозначение прав доступа в Линукс.

Первый символ обозначает тип данных, например, дефис означает, что вы имеете дело с обычным файлом, смотрите скриншоты ниже.

Читайте также:  Загрузить приложение для windows phone

В следующих девяти символах «закодированы» права доступа. На самом деле, права указаны в каждой тройке символов, то есть полученную строку rwxrwxrwx можно представить как rwxrwxrwx. Первая группа — это права доступа хозяина объекта, вторая группа — это права системной группы, третья тройка символов означает права на файл для всех прочих пользователей.

А вот что означают сами символы:

Зная обозначения, можно легко разобрать любую комбинацию. Например, rwx означает, что пользователь или группа имеет права на чтение, запись и исполнение, r-x — права на доступ и исполнение, но с запретом на изменение или удаление, rw- станет означать наличие прав на чтение и запись, но не право запускать файл как исполняемый.

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

Как вы уже знаете, права в Linux могут иметь не только пользователи, но и группы, в связи с чем может возникнуть вопрос: а как определить имя владельца и название группы? Элементарно, их выводит та же команда ls -l . В третьей колонке слева указано имя владельца объекта, название же связанной с объектом группы указано в четвертой колонке.

При желании вы можете заменить хозяина и группу для файла или папки, воспользовавшись такой командой:

sudo chown u:g file

chown — это сама команда замены, u — имя пользователя, которому желаем делегировать права, g — название группы, а file — название самого файла. В данном случае мы передаем права суперпользователю — root .

Меняем права в Линукс для объектов ФС

Если за замену пользователя и группы в Линукс отвечает команда chown , то для изменения прав доступа в системе предусмотрена команда chmod .

Она имеет следующий синтаксис:

chmod категория действие права объект

Что такое категории вы уже знаете, это владельцы файлов, группы и все остальные пользователи. Обозначаются категории как u, g и o соответственно. Для сразу всех категорий используется обозначение a. Категории можно группировать, например, ug станет означать, что мы хотим изменить права на объект для владельца и группы.

Действие — это изменение прав. Для присвоения прав используется ключ «=», для добавления указывается флаг «+», чтобы забрать права, нужно использовать ключ «-». С обозначениями прав вы также уже знакомы. Всё, можно формировать команды.

Сделаем для примера файл ntuser.ini недоступным для редактирования и исполнения:

chmod ug-wx ntuser.ini

В результате символьное представление прав стало таким: r—r—rwx. Как видите, права на файл были изменены для текущих владельца и группы, но не для категории «Все остальные» , если же бы мы вместо ug указали ugo или a, право на чтение и исполнение потеряли бы все категории. Обратите внимание, что в данном случае мы не использовали sudo в начале команды, поскольку и так являемся владельцем. Если же бы изменяли права root или другого пользователя, использование sudo было бы обязательным.

Ну вот, теперь в самых общих чертах вы знаете, чем отличаются организация прав доступа в Линукс от организации прав доступа в Windows, а самое главное, умеете просматривать и изменять права. Уверены, эти знания очень вам пригодятся, позволяя максимально эффективно управлять доступом к пользовательским и системным файлам.

Источник

Оцените статью

Посмотреть права доступа для папки linux

Права доступа к файлам и каталогам в Linux

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

Общая информация о правах доступа

Всего предусмотрено три варианта прав:

  • чтение, обозначаемое буквой ® ,
  • запись, используется (w),
  • запуск файла (x).

Но это касается только файлов. Если речь идет о каталогах, то под правом доступа подразумевается, что пользователь сможет его открыть и просмотреть содержимое.

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

Узнать Linux права пользователя на папку очень просто. Для этого используется команда:

Наглядно её использование можно увидеть на следующем примере:

После введения такой команды вы получите в ответ:

Расшифровывается написанное так:

  • — (1 символ) — символьное обозначение файла, если каталог, то буква d;
  • r-(максимально 3 символа) — отображают непосредственно права доступа, то есть — чтение, запись и запуск на выполнение, в данном примере пользователь может лишь читать файл, внесение изменений и запуск запрещены;
  • r- (максимум 3 символа) — аналогично предыдущему, но показывают права уже группы владельцев, куда входит данный пользователь, соответственно, они могут читать файл, но не могут его отправлять на выполнение или изменять;
  • — (еще 3 символа) — показывают права доступа для других пользователей, то есть данный файл никто кроме администратора не сможет даже прочитать, при попытке зайти в него будет выведено на экран сообщение Access denied.

В операционной системе Linux права пользователя на папку можно задать при помощи команды chmod. Это можно сделать одним из двух способов — символьным или абсолютным. В первом случае задаются символы, которые обозначают для пользователя возможности работы с файлами — r, w, x (чтение, редактирование и запись). Но в UNIX намного практичнее использовать абсолютный метод. В чем он заключается можно детально разобраться на примере:

Этот набор символов означает, что пользователь может лишь читать и изменять файл (r и w). При этом члены его группы могут лишь открывать его для просмотра, а посторонние и вовсе не имеют к данным доступа.

Читайте также:  Продукты google для windows

Теперь давайте возьмем лишь права только владельца файла: rw-. Ему разрешено чтение, держим в памяти 1, а также редактирование, запоминаем ещё 1. Поскольку запуск запрещен, то добавляем 0 и получаем в итоге цифру 110. Если её перевести из двоичной системы в восьмеричную, то выйдет 6. Для перевода других чисел вы всегда сможете воспользоваться приведенной ниже таблицей.

Таблица 1. Преобразование из двоичной в восьмеричную систему

Двоичная система Восьмеричная система Двоичная система Восьмеричная система
000 0 100 4
001 1 101 5
010 2 110 6
011 3 111 7

Если по подобию разобрать на числа права группы владельца, то выйдет 100. При его переводе в восьмеричную систему останется 4. У посторонних набор и вовсе прост — 000. При переводе останется просто 0. Итак, общие права доступа для данного файла — 640 и чтобы их установить, требуется лишь внести команду следующего формата:

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

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

Источник

Инструкции

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

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

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

Читайте также:  Linux convert cer to crt

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

На базовом уровне в Linux используются три параметра доступа к файлам. К ним относятся:

  • Чтение — этот параметр позволяет просматривать содержимое файлов и директорий, но не вносить в них изменения.
  • Запись — наличие этого параметра позволяет вносить в файл изменения и создавать/удалять файлы и папки в каталогах.
  • Выполнение — особый параметр, предоставляющий разрешение на запуск исполняемых файлов — приложений и скриптов. Без этого ключа файлы приложений не будут идентифицированы как исполняемые.

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

Таковыми категориями являются:

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

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

  • SUID — заменяет ID запускающего программу пользователя на ID другого юзера, того же Root .
  • SGID — работает так же, как и SUID , только при этом запускающий файл пользователь будет считаться членом группы, с которой этот файл связан.
  • Sticky-bit — в настоящее время флаг утратил актуальность, раньше он применялся при создании общих папок. Файлы, для которых он установлен, можно читать и исполнять, но нельзя удалять, если только желающий удалить файл не является его владельцем.

Смотрим права доступа

Но довольно теории, давайте теперь посмотрим, как просматривать и изменять права доступа в Linux. Узнать права доступа для файла или папки можно в свойствах объекта на вкладке «Права», но для получения полной картины лучше использовать терминал.

Откройте его в каталоге с файлами и выполните такую команду:

ls -l

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

Обратите внимание на набор из десяти символов в начале каждой строки, это символьное обозначение прав доступа в Линукс.

Первый символ обозначает тип данных, например, дефис означает, что вы имеете дело с обычным файлом, смотрите скриншоты ниже.

Читайте также:  Загрузить приложение для windows phone

В следующих девяти символах «закодированы» права доступа. На самом деле, права указаны в каждой тройке символов, то есть полученную строку rwxrwxrwx можно представить как rwxrwxrwx. Первая группа — это права доступа хозяина объекта, вторая группа — это права системной группы, третья тройка символов означает права на файл для всех прочих пользователей.

А вот что означают сами символы:

Зная обозначения, можно легко разобрать любую комбинацию. Например, rwx означает, что пользователь или группа имеет права на чтение, запись и исполнение, r-x — права на доступ и исполнение, но с запретом на изменение или удаление, rw- станет означать наличие прав на чтение и запись, но не право запускать файл как исполняемый.

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

Как вы уже знаете, права в Linux могут иметь не только пользователи, но и группы, в связи с чем может возникнуть вопрос: а как определить имя владельца и название группы? Элементарно, их выводит та же команда ls -l . В третьей колонке слева указано имя владельца объекта, название же связанной с объектом группы указано в четвертой колонке.

При желании вы можете заменить хозяина и группу для файла или папки, воспользовавшись такой командой:

sudo chown u:g file

chown — это сама команда замены, u — имя пользователя, которому желаем делегировать права, g — название группы, а file — название самого файла. В данном случае мы передаем права суперпользователю — root .

Меняем права в Линукс для объектов ФС

Если за замену пользователя и группы в Линукс отвечает команда chown , то для изменения прав доступа в системе предусмотрена команда chmod .

Она имеет следующий синтаксис:

chmod категория действие права объект

Что такое категории вы уже знаете, это владельцы файлов, группы и все остальные пользователи. Обозначаются категории как u, g и o соответственно. Для сразу всех категорий используется обозначение a. Категории можно группировать, например, ug станет означать, что мы хотим изменить права на объект для владельца и группы.

Действие — это изменение прав. Для присвоения прав используется ключ «=», для добавления указывается флаг «+», чтобы забрать права, нужно использовать ключ «-». С обозначениями прав вы также уже знакомы. Всё, можно формировать команды.

Сделаем для примера файл ntuser.ini недоступным для редактирования и исполнения:

chmod ug-wx ntuser.ini

В результате символьное представление прав стало таким: r—r—rwx. Как видите, права на файл были изменены для текущих владельца и группы, но не для категории «Все остальные» , если же бы мы вместо ug указали ugo или a, право на чтение и исполнение потеряли бы все категории. Обратите внимание, что в данном случае мы не использовали sudo в начале команды, поскольку и так являемся владельцем. Если же бы изменяли права root или другого пользователя, использование sudo было бы обязательным.

Ну вот, теперь в самых общих чертах вы знаете, чем отличаются организация прав доступа в Линукс от организации прав доступа в Windows, а самое главное, умеете просматривать и изменять права. Уверены, эти знания очень вам пригодятся, позволяя максимально эффективно управлять доступом к пользовательским и системным файлам.

Источник

Оцените статью