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

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

2018.10.26            


1.jpeg Операционная система Linux является многопользовательской. Это позволяет нескольким людям одновременно или по очереди использовать одно и то же окружение: файловую систему, ресурсы, программы. Для исключения несанкционированного доступа пользователя к определенной информации или запуска небезопасной программы была разработана специфичная система прав.

Каждый файл или директория хранит особые метаданные:

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

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

2.jpeg

Каждая строка вывода команды ls формируется установленным набором данных. Ниже дается подробный разбор следующего содержания «-rw-r—r-- 1 user user 4096 июня 12 14:23 Документы».

Участок «-rw-r—r--» определяет информацию о типе файла, а также правах доступа владельца, группы и остальных пользователей. Первый символ обозначает тип файла, он может принимать следующие значения: d — директория, l — символическая ссылка, - - обычный файл (прочерк). Оставшаяся часть разбита на комбинации по три символа. Первая комбинация отвечает за права владельца, вторая за группу, а третья предназначена для остальных пользователей.

Комбинация, определяющая права на файл, содержит три символа «rwx», следующих друг за другом. Они имеют определенный смысл: r — право на чтение файла, w — право на изменение, x — право на выполнение как программы. Если какая либо буква заменена символом «-» это означает, что данный вид операции запрещен.

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

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

3.jpeg

Отличия прав доступа для папок

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

Бит «r» устанавливает пользователю право на просмотр содержимого директории с помощью команды ls. Бит «x» дает право на перемещение в папку, используя команду cd. Если одновременно установлены биты «x» и «w», пользователь получает право на создание файлов внутри директории.