Chmod

Chmod
chmod
Тип

программа для изменения прав доступа к файлам и директориям

Разработчик

Проект GNU

Написана на

C

Операционная система

Unix-подобные

Последняя версия

8.5 (23 апреля 2010)

Лицензия

GPLv3+

Сайт

gnu.org

chmod (от англ. change mode) — программа для изменения прав доступа к файлам и директориям. Название происходит от программы ОС Unix chmod, которая, собственно, изменяет права доступа к файлам, директориям и символическим ссылкам.

Содержание

Использование

Права записываются сразу для трёх типов пользователей: владельца файла, группы, в которую он входит и для прочих пользователей. Аргумент команды 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 4555 {имяфайла} — все имеют право на чтение и выполнение, но запускаться файл на исполнение будет с правами владельца. Для директории: установка SGID приведёт к установке принадлежности каждого нового создаваемого файла к той же группе, к которой принадлежит сама директория, а не к основной группе владельца, как это происходит по умолчанию. SUID для директории не имеет смысла[1].

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)
Каждый пользователь может читать, редактировать и запускать на выполнение
1555 (-r-xr-xr-t)
Каждый пользователь имеет право читать и запускать на выполнение; удалить файл может только владелец этого файла
2555 (-r-xr-sr-x)
Каждый пользователь имеет право читать и запускать на выполнение с правами группы(user group) владельца файла
4555 (-r-sr-xr-x)
Каждый пользователь имеет право читать и запускать на выполнение с правами владельца файла

Особенности

Значениями по умолчанию являются:

  • для файлов: 644 (-rw-r--r--)
  • для директорий: 755 (drwxr-xr-x)

Так происходит потому, что флаг «исполнения» по-разному действует на файлы и директории. Для директории он означает возможность войти в неё.

Например, можно сделать из командной строки:

Следующая команда выполнит рекурсивное применение правил для всех файлов в директории "/home/test", а также для всех файлов во всех поддиректориях:

# find /home/test -type f -exec chmod 644 {} \;

Следующая команда выполнит рекурсивное применение правил для всех директорий в директории "/home/test", а также для всех директорий во всех поддиректориях:

# find /home/test -type d -exec chmod 755 {} \;

Того же результата можно добиться и без использования find (обратите внимание на заглавную X):

# chmod -R go=rX,u=rwX .

То же:

# chmod -R 755 /home/test.

См. также

Примечания

  1. Скотт Граннеман «Linux карманный справочник», Издательский дом «Вильямс», 2007

Ссылки


Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать реферат

Полезное


Смотреть что такое "Chmod" в других словарях:

  • Chmod — Capture d écran de la page de manuel en anglais de la commande chmod chmod (abréviation de change mode) est une commande Unix exécutable dans un environnement de type Unix qui permet de changer les permissions d accès (spéciales ou non) sur un… …   Wikipédia en Français

  • chmod — (abréviation de change mode) est un appel système d Unix ainsi que la commande correspondante qui permet de changer les permissions d accès d un fichier ou d un répertoire. Sommaire 1 Histoire 1.1 Permission de changer les droits …   Wikipédia en Français

  • Chmod — Saltar a navegación, búsqueda chmod ( change mode , cambiar modo en idioma inglés) es una llamada al sistema y su comando asociado en el sistema operativo UNIX (estandarizados en POSIX y otros estándares) que permite cambiar los permisos de… …   Wikipedia Español

  • chmod — ( change mode , cambiar modo en idioma inglés) es una llamada al sistema y su comando asociado en el sistema operativo UNIX (estandarizados en POSIX y otros estándares) que permite cambiar los permisos de acceso de un archivo o directorio.… …   Wikipedia Español

  • chmod — Тип программа для изменения прав доступа к файлам и директориям Разработчик Проект GNU Написана на C Операционная система Unix подобные Последняя версия 8.5 (23 апреля 2010) Лицензия …   Википедия

  • CHMOD — (von englisch: change mode) ist ein Kommandozeilenprogramm unter Unix, mit dem sich die klassischen Unix Dateiattribute (Zugriffsrechte) verändern lassen. Das chmod Kommando gibt es bereits seit der ersten Version des AT T Unix (Ende der 1970er… …   Deutsch Wikipedia

  • Chmod — (von englisch: change mode) ist ein Kommandozeilenprogramm unter Unix, mit dem sich die klassischen Unix Dateiattribute (Zugriffsrechte) verändern lassen. Das chmod Kommando gibt es bereits seit der ersten Version des AT T Unix (Ende der 1970er… …   Deutsch Wikipedia

  • chmod — chmod,   Befehl unter Linux für das Zuweisen von Lese , Schreib und Ausführungsrechten für eine Datei oder ein Verzeichnis.   Mit chmod lassen sich im Rahmen von dynamischen Webseiten die Zugriffsrechte von z. B. CGI oder PHP Dateien regeln …   Universal-Lexikon

  • chmod — The chmod command (abbreviated from change mode) is a Unix command that lets a user tell the system how much (or little) access it should permit to a file.[1] It changes the file system modes of files and directories. The modes include… …   Wikipedia

  • Chmod — The chmod command (abbreviated from change mode) is a shell command in Unix and Unix like environments. When executed, the command can change file system modes of files and directories. The modes include permissions and special modes. History A… …   Wikipedia


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»