Права на файлы и папки в Linux: chmod

Август12

Linux

Довольно долго путался в правах — когда только начал работать с линуксом. Без дополнительных пояснений запись в виде «rwx rwx r—» выглядит довольно необычно и непонятно для неискушенных пользователей. В действительности же, достаточно иметь простые таблицы сравнений, чтобы без труда разобраться в этом. Системному администратору, и любым фанатам линукса — знать эти значения, Обязательно!

Итак, права в Linux на любой файл или папку всегда назначаются, для 3х групп пользователей:

1. Сам пользователь.

2. Группа этого пользователя ( права будут действительны для всех юзеров, входящих в эту группу ).

3. Все остальные пользователи.

Права могут быть 3х видов:

rразрешает просмотр содержимого

wразрешает изменение содержимого

x - разрешает запуски выполнение

Ниже представлена таблица, показывающая разнообразные комбинации Chmod для разных типов объектов:

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

‘Права’ ‘Файл’ ‘Папка’
Ничего нельзя делать Доступ к каталогу и его подкаталогам запрещен
r— Можно читать содержимое Можно прочитать содержимое каталога
rw- Можно видеть и изменять содержимое Можно добавить, удалить, изменить файл каталога
rwx Читать, изменять и выполнять файлик Можно читать, удалять, изменять файлики, сделать каталог текущим, т.е. “войти” в этот каталог.
r-x Можно прочитать, либо выполнить Можно зайти в каталог и прочитать его содержимое, удалять или добавлять файлы нельзя.
—x Выполнить, если файлик двоичный Пользователь может выполнить двоичный файл о существовании которого ему известно, зайти или прочитать каталог запрещено

Таблица значений:

‘Права’ ‘Цифровая форма’ ‘Символьная форма’
Ничего нельзя делать 0
Только чтение 4 r—
Только запись 2 -w-
Только выполнение 1 —x
Чтение и запись 6 rw-
Чтение и выполнение 5 r-x
Чтение, запись, выполнение 7 Rwx

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

r (читать) заменяют на 4

w (запись) заменяют на 2

x (исполнение) заменяют на 1

0 означает – ничего не делать (то, что в буквенной записи обозначается дефисом)

Давайте опять вернемся к примеру записи, приведенному мною чуть ранее: rwx rwx r--. Если заменить в ней буквы и дефисы на цифры, в соответствии с только что описанным правилом и при этом сложить цифры в каждой тройке, то получим цифровой вид этой записи: 774.

Т.е. получается, что сумма этих цифр и показывает chmod по отношению к файлам или папке. Например:

7 (rwx) = 4 + 2 +1 (полные права)

5 (r-x)= 4 + 0 + 1 (чтение и выполнение)

6 (rw-) = 4 + 2 + 0 (чтение и запись)

4 (r--) =4 + 0 + 0 (только чтение)

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

‘Права’ ‘Владелец’ ‘Группа’ ‘Остальные’
777 читать
записывать
исполнять
читать
записывать
исполнять
Читать
записывать
исполнять
776 читать
записывать
исполнять
читать
записывать
исполнять
Читать
записывать
775 читать
записывать
исполнять
читать
записывать
исполнять
Читатьисполнять
774 читать
записывать
исполнять
читать
записывать
исполнять
Читать
766 читать
записывать
исполнять
читать
записывать
Читать
записывать
655 читать
записывать
читатьисполнять Читатьисполнять
644 читать
записывать
читать Читать

Сама команда назначения прав выглядит следующим образом:

chmod ‘числовое значение прав’ ‘папка или файл, на который назначаем права’

Примеры

chmod 777 script.sh
полные права на запись, чтение и исполнение для всех групп пользователей для файла script.sh
соответствие: rwxrwxrwx
chmod  644 /home/feanor184/script.sh
права на чтение и запись для владельца файла script.sh который находится в корневой домашней директории пользователя feanor184, для остальных групп этот файл будет доступен только для чтения.
соответствие: rw-r—r—
chmod -R 777 /scripts
полные права на папку scripts и на все вложенные в нее файлы, для всех групп пользователей. ( ключ -R задается для назначения прав для вложенных файлов ) 

Поделиться в соц. сетях


Copyright © 2013-2017. All rights reserved.

Опубликованно Август 12, 2015 by Feanor184 в категории Linux

Об Авторе

Постигаю Linux, учу Python, пытаюсь программировать)

3 комментарий(ев) к записи “Права на файлы и папки в Linux: chmod

  1. Vadim

    Во всем линукс хорош, вот только права на общие сетевые папки настроить гибко — довольно проблемно. AD в этом плане намного более удобен.

  2. asa

    команда chmod -R 777 /scripts очень полезна при тестировании разных движков(CMS). Я обычно перед тестами сначала загоняю в папку htdocs установочную папку,потом командой разрешаю права. Это укорачивает время и уменьшает вероятность возникновения различных ошибок во время установки.

  3. Евгений

    Я как линукс поставил сразу возникла проблема с этими правами. Недолго мучаясь я вернулся на windows обратно) Хотя по работе в скором времени придется пересаживаться на linux, так что в закладочках вашу статью подержу)

Оставьте комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*

=

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