Linux: Как проверять и изменять разрешения файлов

Linux, как и другие Unix-подобные операционные системы, позволяет нескольким пользователям работать на одном сервере одновременно, не мешая друг другу.

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

linux

Проверка разрешений в командной строке с помощью команды Ls

Вы можете легко найти параметры разрешения файла с помощью команды ls, используемой для вывода списка информации о файлах/каталогах. Вы также можете добавить опцию -l к команде, чтобы увидеть информацию в формате длинного списка.
Чтобы проверить конфигурацию разрешений файла, используйте команду:

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

Linux: Как проверять и изменять разрешения файлов

Как видно на изображении выше, вывод предоставляет следующую информацию:

  • разрешение файла
  • владелец (создатель) файла
  • группа, к которой принадлежит этот владелец
  • дата создания.

Он показывает параметры разрешения, сгруппированные в строку символов (-, r, w, x), классифицированных по четырем разделам:

  • Тип файла. Существует три варианта типа. Это может быть обычный файл (-), каталог (d) или ссылка (i).
  • Разрешение на файл пользователя (владельца)
  • Разрешение на файл группы владельца
  • Разрешение на файл других пользователей

Символы r, w и x означают чтение, запись и выполнение.

Категории могут иметь все три привилегии, только определенные, или вообще не иметь их (обозначаются символом -, для запрета).

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

В предыдущем примере вывод показал, что test.txt - это обычный файл с правами на чтение и запись, назначенными владельцу, но предоставляющими доступ только для чтения группе и другим пользователям.

Использование команды Chmod для изменения разрешений файлов

Как и всем пользователям Linux, вам в какой-то момент понадобится изменить параметры разрешения файла/директории. Команда, которая выполняет такие задачи, - это команда chmod.

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

Существует два способа определения разрешения:

  • с помощью символов (буквенно-цифровых знаков)
  • с помощью восьмеричной нотации

Чтобы задать параметры разрешения с помощью буквенно-цифровых символов, вам нужно определить доступность для пользователя/владельца (u), группы (g) и других (o).

Введите начальную букву для каждого класса, затем знак равенства (=) и первую букву привилегий чтения (r), записи (w) и/или выполнения (x).

Чтобы разметить файл, чтобы он был доступен для чтения, записи и выполнения, выполните следующую команду:

Чтобы установить разрешение, как в ранее упомянутом файле test.txt:

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

Используйте следующую команду:

Примечание: Между категориями нет пробела; мы используем запятые только для их разделения.

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

Вместо букв в восьмеричном формате привилегии обозначаются цифрами:

  • r(ead) имеет значение 4
  • w(rite) имеет значение 2
  • (e)x(ecute) имеет значение 1
  • отсутствие разрешения имеет значение 0

Привилегии суммируются и изображаются одним числом. Таким образом, возможны следующие варианты:

  • 7 - для прав на чтение, запись и выполнение
  • 6 - для привилегий на чтение и запись
  • 5 - для привилегий на чтение и выполнение
  • 4 - для привилегий на чтение

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

Например, рассмотрим файл test.txt, который мы символически настроили с помощью команды chmod u=rw,g=r,o=r test.txt.

Те же настройки разрешений можно задать, используя восьмеричный формат, с помощью команды:

Изменение прав собственности на файлы и группы пользователей

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

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

Для изменения права собственности на файл используйте команду chown:

Вместо [имя_пользователя] введите имя пользователя, который станет новым владельцем файла.

Чтобы изменить права собственности группы, введите следующую команду:

Вместо [имя_группы] введите имя группы, которая будет новым владельцем файла.

Понравилась статья? Поделиться с друзьями:
Добавить комментарий