Chmod/ru

From SHellium Wiki
Jump to: navigation, search
Geographylogo.png In other languages: English | Afrikaans | Albanian | Arabic | Brazilian | Bulgarian | Catalan | Chinese | Croatian | Czech | Danish | Dutch | Esperanto | Estonian | Filipino | Finnish | Flemish | French | German | Greek | Hebrew | Hindi | Hungarian | Indonesian | Italian | Japanese | Latvian | Lithuanian | Macedonian | Malay | Malayalam | Norwegian (Bokmål) | Norwegian (Nynorsk) | Persian | Polish | Portuguese | Romanian | Russian | Serbian | Slovak | Slovenian | Spanish | Swedish | Turkish | Ukrainian | Urdu

Права и владельцы в nix-системах.

Contents

Вступление

Эта статья имеет цель познакомить пользователей только со стандартными функциями команд chmod\chown. Выполняя команды, будье уверены в своих действиях. Неверные действия могут повлечь за собой очень неприятные последствия

Основные понятия

gid\uid

GID - Group ID - числовой идентификатор пользователя группы. UID - User ID - чмсловой идентификатор пользователя. GID как и UID уникален. Для каждой группы и юзера он разный.

Цифровое и текстовое обозначение прав

Права доступа в цифровом виде имеют вид 'XXX', например '762'.
Каждая цифра отвечает за свою группу и представляет определенные права. Первая цифра (в нашем примере это '7') является обозначением прав владельца на этот файл. В текстовом виде это выглядит так: '-rwx------' (или '700' в цифровом). Вторая цифра отвечает за права группы которой прнадлежит файл. В нашем примере цифра '6' предостовляет доступ группе на чтение и запись файла. Выглядит это так: '----rw----' (или '060' в цифровом). Наконец последняя цифра представляет права неких 'Others' или по русски 'Других'. Т.е. тех, кто НЕ входит в группу которой принадлежит файл\директория, и не является владельцем. В нашем примере это цифра '4', что дает 'Другим' право только на чтение. Выглядит это так: '-------r--' (или '002' в цифровом). Полность наш пример '764' в текстовом варианте выглядит так: '-rwxrw-r--'. Владелец может Читать, Писать и Выполнять (./filename) файл. Группа может Читать и Писать файл, но не может Выполнять. Все остальные могут только любоваться его содержимым. Просматривая все вышеизложенное мы приходим к выводу что:

  • x - 1 - eXecutable - Выполнение
  • r - 2 - Read - Чтение
  • w - 4 - Write - Запись

Числа 6, 7 мы можем получить путем сложения чисел нужных нам атрибутов...

Программы изменения прав и владельцев

chmod

chmod - Change Modes - Смена режима. Собственно эта программа меняет режим доступа к файлу\директории. Ему (chmod'у) можно задавать параметры как в текстовом формате так и в числовом.

  $ chmod u+rwx,g+rw,o+r <filename or directory>

Будет делать тоже самое что

  $ chmod 762 <filename or directory>

chown

chown - Change Owner - Смена Владельца - Собственно название говорит за себя... Для смены владельца можно использовать как числовой идентификатор (GID) так и имя группы. Смена владельца файла выполняется так:

  $ chown username filename

Можно сразу сменить и группу:

  $ chown username:groupname filename

Так же в этих командах можно использовать GID и UID. Допустим что наш пользователь имеет GID=501 и UID=100. Тогда команды будут, соответственно предыдущим, выглядеть так:

  $ chown 100 filename
  $ chown 100:501 filename

chgrp

chgrp - Change Group - Смена Группы. В этой команде также может использоваться как текстовое имя групы так и GID. Например так:

  $ chgrp groupname filename
  $ chgrp 501 filename

Некоторые общие замечания и предупреждения

1. Для всех трех программ есть ключ -R указав который, Вы выполните команду рекрусивно, т.е. указывая -R и директорию Вы смените права\группу\владельца не только на саму директорию но и на ВСЕ вложенные файлы и директори...

2. Для просмотра такущих прав используйте

  $ ls -Alh

Опция -l (long) выдает длинный формат. Опция -A (All) выдает все файлы кроме . и ... Опция -h (human readable) выдает размер файла\директории в читабельном виде (Б\Кб\Мб\Гб и т.п.) Прим.: Чтобы не писать все опции постоянно можно выполнить команду (только если Вы используете Bash)

  $ echo 'alias ls="ls -Alh -color=auto"' >> ~/.bashrc

И тогда после перезапуска shell'a можете писать просто ls и будете получать тот же результат что и при ls -lhA.

3. Будьте ОЧЕНЬ осторожны используя режим -R. На крайний случай есть Ctrl+C. Так сказать резкая отмена текущей оперции...

Заключение

Это далеко не все что можно сделать с правами. Есть ещё некие ACL и что-то там ещё... Но я не использую их и потому не в курсе. Того что я привел выше, среднему (да даже некоторым продвинутым) хватит выше крыши.
--Xorkrus2 16:34, 16 October 2008 (UTC)

Personal tools
Namespaces

Variants
Actions
Navigation
Indexes
SHellium Sites
Toolbox