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

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

Помечено: ,

  • В этой теме 0 ответов, 1 участник, последнее обновление 3 недели, 5 дней назад сделано Васильев Владимир Сергеевич.
Просмотр 0 веток ответов
  • Автор
    Сообщения
    • #6376
      @admin

      Управление доступом к файлам в Linux основано на разграничении прав на файлы между различными категориями пользователей и типами доступа.

      Каждый файл в Linux может иметь настройки для следующих типов доступа:

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

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

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

      Просмотр и изменение прав доступа к файлу

      Вывести содержимое каталога вместе с правами на файлы можно при помощи утилиты командной строки ls с параметром -l:

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

      Запись rwx означает, что у данной категории пользователь есть все права на данный файл. В нашем примере выше мы видим запись rw- для владельца файла. Это означает, что файл доступен как для чтения (r), так и для записи (w), но не доступен для исполнения(x отсутствует, т.к. это обычный текстовый файл, а не программа).

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

      Для изменения прав на файл существует команда chmod. В общем виде записывается следующим образом:

      chmod [параметры] <категория> <действие> <флаг> <имя файла>

      Прежде чем перейти к примерам, разберемся поподробнее:

      • категория — определяет, к кому должен быть применен результат выполнения данной команды(u — владелец файл, g — группа, o — остальные пользователи).
      • действие — наделить правами или отнять права (символы +/-).
      • флаг — какие права установить — дать или забрать(рассмотренные ранее rwx).
      • файл — имя файла, к которому эти права применяются.

      Теперь посмотрим на несколько примеров.

      Дадим право записи в файл всем пользователям из группы файла test1 и после этого снова вызовем команду ls -l:

      А теперь давайте заберем права на запись у владельца файла и также взглянем на результат:

      Ради примера добавим права на исполнение файла сразу для всех категорий:

      Поместим в этот файл простейший shell-скрипт — hello world и выполним его:

Просмотр 0 веток ответов
  • Для ответа в этой теме необходимо авторизоваться.