Иерархия статей
Коротко о CHMOD
- 26.12.2010 11:34
- Разное
CHMOD — программа для изменения прав доступа к файлам и директориям. Название происходит от программы ОС Unix chmod, которая, собственно, изменяет права доступа к файлам, директориям и символическим ссылкам.
Права записываются сразу для трёх типов пользователей: владельца файла, группы, в которую он входит и для прочих пользователей. Аргумент команды CHMOD, задающий разрешения, может быть записан в двух форматах: в числовом и в символьном.
Для понимания сути задания прав в Unix-like системах, нужно знать представление чисел в восьмеричной и двоичной системах счисления.
Пример символьной записи: 'rwxr-xr-x'.
Примером числовой записи может служить '755', которая эквивалентна записанной выше строковой записи: каждое право имеет числовой код и может быть задано вручную:
400 — владелец имеет право на чтение;
200 — владелец имеет право на запись;
100 — владелец имеет право на выполнение;
40 — группа имеет право на чтение;
20 — группа имеет право на запись;
10 — группа имеет право на выполнение;
4 — остальные имеют право на чтение;
2 — остальные имеют право на запись;
1 — остальные имеют право на выполнение.
Суммировав эти коды можно получить символьную запись. Например, chmod 444 {имяфайла}: 400+40+4=444 — все имеют право только на чтение.
Помимо стандартных 'rwx' значений команда CHMOD осуществляет ещё управление битами SGID, SUID и T. Установленные атрибуты SUID или SGID позволяют запускать файл на выполнение с правами владельца файла или группы соответственно.
Для SUID — вес 4000, а для SGID — 2000.
Пример chmod 4444 {имяфайла} — все имеют право только на чтение, но запускаться файл на исполнение будет с правами владельца. Для директории: установка SGID приведёт к установке принадлежности каждого нового создаваемого файла к той же группе, к которой принадлежит сама директория, а не к основной группе владельца, как это происходит по умолчанию. SUID для директории не имеет смысла.
t-бит используется с директориями. Когда t-бит для директории не установлен, файл в данной директории может удалить любой пользователь, имеющий доступ на запись к данному файлу. Устанавливая t-бит на директорию, мы меняем это правило таким образом, что удалить файл может только владелец этого файла. Следуя приведённой выше кодировке, t-бит имеет вес 1000.
Популярные значения
400 (-r--------)
Владелец имеет право чтения; никто другой не имеет права выполнять никакие действия
644 (-rw-r--r--)
Все пользователи имеют право чтения; владелец может редактировать
660 (-rw-rw----)
Владелец и группа могут читать и редактировать; остальные не имеют права выполнять никакие действия
664 (-rw-rw-r--)
Все пользователи имеют право чтения; владелец и группа могут редактировать
666 (-rw-rw-rw-)
Все пользователи могут читать и редактировать
700 (-rwx------)
Владелец может читать, записывать и запускать на выполнение; никто другой не имеет права выполнять никакие действия
744 (-rwxr--r--)
Каждый пользователь может читать, владелец имеет право редактировать и запускать на выполнение
755 (-rwxr-xr-x)
Каждый пользователь имеет право читать и запускать на выполнение; владелец может редактировать
777 (-rwxrwxrwx)
Каждый пользователь может читать, редактировать и запускать на выполнение
Особенности
Значениями по умолчанию являются:
для файлов: 644 (-rw-r--r--)
для директорий: 755 (drwxr-xr-x)
Так происходит потому, что флаг «исполнения» по-разному действует на файлы и директории. Для директории он означает возможность войти в него.
Права записываются сразу для трёх типов пользователей: владельца файла, группы, в которую он входит и для прочих пользователей. Аргумент команды CHMOD, задающий разрешения, может быть записан в двух форматах: в числовом и в символьном.
Для понимания сути задания прав в Unix-like системах, нужно знать представление чисел в восьмеричной и двоичной системах счисления.
пользователь | группа | остальные |
7 | 5 | 5 |
111 | 101 | 101 |
rwx | r-x | r-x |
u | g | o |
Пример символьной записи: 'rwxr-xr-x'.
Примером числовой записи может служить '755', которая эквивалентна записанной выше строковой записи: каждое право имеет числовой код и может быть задано вручную:
400 — владелец имеет право на чтение;
200 — владелец имеет право на запись;
100 — владелец имеет право на выполнение;
40 — группа имеет право на чтение;
20 — группа имеет право на запись;
10 — группа имеет право на выполнение;
4 — остальные имеют право на чтение;
2 — остальные имеют право на запись;
1 — остальные имеют право на выполнение.
Суммировав эти коды можно получить символьную запись. Например, chmod 444 {имяфайла}: 400+40+4=444 — все имеют право только на чтение.
Помимо стандартных 'rwx' значений команда CHMOD осуществляет ещё управление битами SGID, SUID и T. Установленные атрибуты SUID или SGID позволяют запускать файл на выполнение с правами владельца файла или группы соответственно.
Для SUID — вес 4000, а для SGID — 2000.
Пример chmod 4444 {имяфайла} — все имеют право только на чтение, но запускаться файл на исполнение будет с правами владельца. Для директории: установка SGID приведёт к установке принадлежности каждого нового создаваемого файла к той же группе, к которой принадлежит сама директория, а не к основной группе владельца, как это происходит по умолчанию. SUID для директории не имеет смысла.
t-бит используется с директориями. Когда t-бит для директории не установлен, файл в данной директории может удалить любой пользователь, имеющий доступ на запись к данному файлу. Устанавливая t-бит на директорию, мы меняем это правило таким образом, что удалить файл может только владелец этого файла. Следуя приведённой выше кодировке, t-бит имеет вес 1000.
Популярные значения
400 (-r--------)
Владелец имеет право чтения; никто другой не имеет права выполнять никакие действия
644 (-rw-r--r--)
Все пользователи имеют право чтения; владелец может редактировать
660 (-rw-rw----)
Владелец и группа могут читать и редактировать; остальные не имеют права выполнять никакие действия
664 (-rw-rw-r--)
Все пользователи имеют право чтения; владелец и группа могут редактировать
666 (-rw-rw-rw-)
Все пользователи могут читать и редактировать
700 (-rwx------)
Владелец может читать, записывать и запускать на выполнение; никто другой не имеет права выполнять никакие действия
744 (-rwxr--r--)
Каждый пользователь может читать, владелец имеет право редактировать и запускать на выполнение
755 (-rwxr-xr-x)
Каждый пользователь имеет право читать и запускать на выполнение; владелец может редактировать
777 (-rwxrwxrwx)
Каждый пользователь может читать, редактировать и запускать на выполнение
Особенности
Значениями по умолчанию являются:
для файлов: 644 (-rw-r--r--)
для директорий: 755 (drwxr-xr-x)
Так происходит потому, что флаг «исполнения» по-разному действует на файлы и директории. Для директории он означает возможность войти в него.
- Печать
- 0 Комментариев
- 1541 Прочтений
Поделиться этой статьей | |
Социальные закладки: | |
URL: | |
BBcode: | |
HTML: |
Добавить комментарий
Пожалуйста, залогиньтесь для добавления комментария.
Рейтинги
- Нет данных для оценки.
Рейтинг доступен только для пользователей.
Пожалуйста, авторизуйтесьили зарегистрируйтесь для голосования.