Проверка прав файла линукс

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

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

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

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

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

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

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

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

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

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

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

Свойства файла - Права

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

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

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

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

Ls -l

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

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

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

Типы объектов

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

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

Права доступа к файлу

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

Читайте также:  Extracting zip files in linux

Как в 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

Chmod

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

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

Читайте также:  Linux creating disk image

Источник

Проверьте права доступа к файлам с помощью ls Linux

bestprogrammer.ru

Как показать MOTD в Linux

Изучение

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

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

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

Команда ls используется для получения информации о правах доступа к каталогу. В режиме по умолчанию ls возвращает полный список каталога (текущий рабочий). Мы также можем указать конкретный каталог для отображения. Итак, давайте выполним разные команды ls и посмотрим на результат:

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

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

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

Команда -h предназначена для изменения типа

Команда -a отображает все скрытые файлы с их именами и другими деталями.

Команда -a отображает все скрытые файлы с их

Использование опции -l с ls предоставит дополнительную информацию о файлах в каталоге.

Первый символ каждой строки вывода показывает, является

Первый символ каждой строки вывода показывает, является ли указанный объект конкретным каталогом. (D) указывает, что список является каталогом. В первой строке нет буквы d, что означает, что это обычный файл.

Различные уровни разрешений обозначаются буквами rwx:

Разрешение Справочники Файлы
r Можно ли каталог может прочитать файл
w Изменяет содержимое каталога может записать файл
x Доступ к каталогу с компакт-диска может выполнить файл

X, g и r появляются несколько раз. Они сгруппированы в три группы в зависимости от уровня владения:

Разрешения владельца : первые три символа, следующие за слотом каталога (d), указывают настройки разрешений для конкретного владельца.

Разрешения группы : набор rwx представляет разрешения группы. Член группы может читать файл только при использовании команды -rw-r — r—. Члены группы могут просматривать и входить в каталог, если есть разрешения drwxr-xr-x.

Другие разрешения : «Другое» (в некоторых случаях также называемое «миром») — это последний набор RWX. В эту группу входят все, кто не входит в группу. Разрешения для них одинаковы и в обоих приведенных выше примерах.

Источник

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