Linux rwsr xr x

Определение разрешений с помощью чисел

Помните упоминания метода сокращенной записи параметров chmod ? Есть еще один способ изменять разрешения; сначала он может показаться несколько сложным.

Вернитесь к первоначальным разрешениям файла sneakers.txt (введите ls -l sneakers.txt ).

-rw-rw-r— 1 newuser newuser 150 Mar 19 08:08 sneakers.txt

Каждой разрешение можно представить числовым значением:

Сложив эти значения вместе, вы получите сумму, которая соответствует указанным разрешениям.

Для файла sneakers.txt , разрешения в числовом представлении таковы:

Итоговая сумма для пользователя — 6, для группы также 6, а для остальных 4. Такие разрешения можно прочитать как 664 .

Если вы хотите изменить файл sneakers.txt так, чтобы ваша группа не имела доступа на запись, но по прежнему могла читать файл (как показано на Рисунке 10-16 ), уберите разрешение, отнимите 2 в этом наборе чисел.

Числовые значения при этом станут такими: шесть, четыре, четыре — или 644.

Проверьте изменения, просмотрев информацию о файле ( ls -l sneakers.txt ):

-rw-r—r— 1 newuser newuser 150 Mar 19 08:08 sneakers.txt

Рисунок 10-16. Удаление у группы разрешения на запись

Теперь, ни группа, ни остальные не имеют разрешения на запись в файл sneakers.txt . Чтобы вернуть группе разрешение на запись, добавьте 2 ко второму набору разрешений.

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

Ниже приведен список некоторых общих установок, числовых значений и их значения:

-rw——- (600) — Только владелец имеет разрешение на чтение и запись.

-rw-r—r— (644) — Только владелец имеет разрешение на чтение и запись; группа и другие имеют доступ только на чтение.

-rwx—— (700) — Только владелец имеет разрешение на чтение, запись и выполнение.

-rwxr-xr-x (755) — Владелец имеет доступ на чтение, запись и выполнение; группа и другие могут только читать и выполнять.

Читайте также:  Как дать права линукс

-rwx—x—x (711) — Владелец имеет право на чтение, запись и выполнение; группа и остальные могут только исполнять.

-rw-rw-rw- (666) — Все могут читать и писать этот файл. (Будьте аккуратны с такими разрешениями).

-rwxrwxrwx (777) — Все могут читать, писать и выполнять. (Такие разрешения могут быть опасны.)

Ниже приведены некоторые типичные установки для каталогов:

drwx—— (700) — Только пользователь может читать и писать в этот каталог.

drwxr-xr-x (755) — Все могут читать этот каталог, но его содержимое может изменить только владелец.

Источник

Права доступа к файлам в Linux или почему rwxr-xr-x=755

Пользователи и группы

Linux — многопользовательская система. Человек может отличать пользователей реальных (учётные записи людей, которые работают за компьютером) и системных (от имени которых запускаются системные процессы), но для машины разницы между ними нет никакой. Каждый пользователь представлен его уникальным идентификатором (UID, user ID), которым компьютер и оперирует в работе.

Пользователи могут объединяться в группы пользователей. В одной группе может находиться сколько угодно пользователей, так же как и один пользователь может состоять в скольких угодно группах. Любой пользователь обязательно состоит хотя бы в одной группе. По аналогии с пользователями, группы в cиcтеме также представлены их идентификаторами (GID, group ID).

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

Посмотреть идентификатор пользователя можно командой id. Например:

Если имя не вводить, то выйдет информация про текущего пользователя. И кстати да, у root-а всегда UID=GID=0.

Файлы и права

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

Разновидностей прав доступа всего три: чтение, запись и выполнение, но их совместное использование даёт нам 2 3 =8 комбинаций (3 категории прав и 2 варианта для каждого права — установлено оно или нет, см. комбинаторику).

Рассмотрим права доступа к файлу, которые выводятся как:

Запись — rwx r-x r-x состоит из трёх блоков: это права доступа к файлу владельца , группы-владельца и всех остальных . Про первый символ минуса поговорим отдельно позже.

Читайте также:  Linux настройка тонкого клиента

Буквы блока rwx определяют, соответственно, право доступа на чтение (r, read), запись (w, write) и выполнение (x, execute). Порядок букв менять нельзя. Если соответствующего права нет, то вместо буквы ставится минус (как, например, во втором и третьем блоках).

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

Буквы и цифры

Компьютер работает в двоичном коде. В двоичном коде он хранит данные на жёстком диске и в нём же производит вычисления.

Оперируя с числами в жизни мы имеем дело с десятичной системой счисления, так она называется потому, что все числа записываются десятью цифрами: от 0 до 9. В двоичной системе счисления цифр всего две: ноль и единица. К примеру, посчитаем от 0 до 7 в десятичной и двоичной системах, это поможет понять дальнейшее:

Десятичная система 0 1 2 3 4 5 6 7
Двоичная система 0 1 10 11 100 101 110 111
Двоичная система (по 3 цифры) 000 001 010 011 100 101 110 111

Каждый блок rwx — это три бита информации по правам. Первый бит — чтение, второй — запись, третий — выполнение. Если право есть, бит равен 1, если нет — 0. То есть, для нашего примера, rwx = 111 = 7 , r-x = 101 = 5 , поэтому rwxr-xr-x = 111101101 = 755 .

Большинство сайтов даёт такое правило пересчёта: x=1, w=2, r=4, нужные права просуммировать. Например, r-x = 4+1 = 5. Это даёт метод пересчёта, но не приносит понимания. Понимать надо так: права на чтение и запись это r-x = 101 (в двоичной записи) = 100+1 (в двоичной системе) = 4+1 (в десятичной системе) = 5.

Математики нервно курят, настолько лихо я использую знак равенства.

Это всё неправильно!

Потому что права доступа к файлу задаются не 9, а 12 битами. То есть:

А всё то, о чём говорилось раньше — это укороченная запись прав.

На что уходят первые три бита?

Первый бит — SUID. Устанавливается на исполняемый файл. В этом случае файл выполнится от имени не текущего пользователя (как обычно и бывает), а от имени владельца файла. Группа для запуска — группа текущего пользователя.

Читайте также:  Экзамен red hat linux

Второй бит — SGID. Устанавливается на исполняемый файл. То же самое, что и для SUID, но для запуска подменяется не владелец, а группа.

Третий бит — Т-бит. Говорят, обычно устанавливается на папки. Если Т-бит установлен, то операция удаления больше не входит в операцию записи (w) и удалить файл может только его владелец.

Установка этих битов (и их комбинаций) в цифровом виде считается так же, как и установка прав. То есть, при установке Т-бита на файл с правами 755, получим права 1755.

Запись прав в буквенном виде всё-таки предназначена для человека, поэтому в ней есть нюансы. Установка SUID заменит x в блоке владельца на s и наш пример будет выглядеть как rwsr-xr-x . Установка SGID проделает то же самое с блоком группы-владельца: rwxr-sr-x . Установка Т-бита поменяет x на t в блоке остальных пользователей: rwsr-xr-t .

Забытый минус

Первый символ в этой записи — это тип файла, а его, как ни крути, мы поменять не сможем. Но знать полезно.

— — обычный файл d — каталог (по сути, тоже файл) l — символическая ссылка c — символьный файл (/dev/null) b — файлы блочного доступа (/dev/sda) p — именованные каналы, pipes s — сокеты, сетевые подключения

Комментарии

Владимир

В принципе можно было бы добавить (а можно — и не добавлять):
что изменить владельцев может только root;
про смысл бита «x» для файлов (т.е. что исполняться могут и текстовые файлы, а бинарники — не обязательно исполняемые);
про смысл бита «x» для директорий, т.к. могут возникать вопросы типа «как это — исполнить директорию?» (и сразу — забавный пример про доступ к содержимому директории);
примеры как выставить SUID и SGID биты;

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

Обратная связь
по электропочте info©it-simple.ru
или через нанокомментсы.

Техническая информация
Время подготовки страницы: 0.034597 c.
Кэш: частичный.

Источник

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