Онлайн-рабочие станции OnWorks Linux и Windows

Логотип

Бесплатный хостинг в Интернете для рабочих станций

<Предыдущая | Содержание: | Следующая>

chmod - изменить режим файла

Чтобы изменить режим (разрешения) файла или каталога, CHMOD используется команда. Имейте в виду, что только владелец файла или суперпользователь может изменить режим файла или каталога. CHMOD поддерживает два различных способа указания изменений режима: представление восьмеричного числа или символьное представление. Сначала мы рассмотрим представление восьмеричных чисел.

изображение


Что такое восьмеричное?

Восьмеричная (основание 8) и ее двоюродная сестра, шестнадцатеричная (основание 16) - это системы счисления, которые часто используются для выражения чисел на компьютерах. Мы, люди, в силу того факта, что мы (или, по крайней мере, большинство из нас) родились с десятью пальцами, считаем, используя систему счисления с основанием 10. Компьютеры, с другой стороны, были рождены с одним пальцем и, таким образом, все свои счета производят в двоичном формате (основание 2). В их системе счисления всего две цифры: 0 и 1. Итак, в двоичной системе счет выглядит так:

0, 1, 10, 11, 100, 101, 110, 111, 1000, 1001, 1010, 1011 ...

В восьмеричной системе отсчет производится цифрами от нуля до семи, например: 0, 1, 2, 3, 4, 5, 6, 7, 10, 11, 12, 13, 14, 15, 16, 17, 20, 21 ...

Для шестнадцатеричного счета используются цифры от нуля до девяти плюс буквы от «A» до «F»:

0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F, 10, 11, 12, 13 ...

Хотя мы можем видеть смысл в двоичном формате (поскольку у компьютеров только один палец), для чего нужны восьмеричные и шестнадцатеричные числа? Ответ связан с удобством человека. Часто небольшие части данных представляются на компьютерах как битовые узоры. Возьмем, к примеру, цвет RGB. На большинстве компьютерных дисплеев каждый пиксель состоит из трех цветовых компонентов: восьми бит красного, восьми бит зеленого и восьми бит синего. Прекрасным средним синим цветом будет 24-значное число:

010000110110111111001101

Хотели бы вы читать и писать такие числа весь день? Я так не думал. Здесь может помочь другая система счисления. Каждая цифра в шестнадцатеричном числе представляет четыре цифры в двоичном формате. В восьмеричном формате каждая цифра представляет три двоичных цифры. Таким образом, наше 24-значное средне-синее число можно сжать до шестизначного шестнадцатеричного числа:

436FCD

Поскольку цифры шестнадцатеричного числа «выстраиваются в линию» с битами двоичного числа, мы можем видеть, что красный компонент нашего цвета равен 43, зеленый 6F и синий CD.

В наши дни шестнадцатеричная нотация (часто называемая «шестнадцатеричной») более распространена, чем восьмеричная, но, как мы скоро увидим, способность восьмеричной системы выражать три бита двоичного кода будет очень полезна ...


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


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


Таблица 9-4: Режимы файлов в двоичном и восьмеричном формате


восьмеричный

Двоичный

Файловый режим

0

000

Напишите нам в чат или Email

1

001

--Икс

2

010

-w-

3

011

-wx

4

100

r--

5

101

гх

6

110

RW

7

111

RWX

Используя три восьмеричных цифры, мы можем установить режим файла для владельца, владельца группы и

Мир:



[я @ linuxbox ~] $ > foo.txt

[я @ linuxbox ~] $ лс -л foo.txt

-rw-rw-r-- 1 я меня 0 2016 03:06 foo.txt [я @ linuxbox ~] $ chmod 600 foo.txt

[я @ linuxbox ~] $ лс -л foo.txt

-rw ------- 1 я я 0 2016-03-06 14:52 foo.txt

[я @ linuxbox ~] $ > foo.txt

[я @ linuxbox ~] $ лс -л foo.txt

-rw-rw-r-- 1 я меня 0 2016 03:06 foo.txt [я @ linuxbox ~] $ chmod 600 foo.txt

[я @ linuxbox ~] $ лс -л foo.txt

-rw ------- 1 я я 0 2016-03-06 14:52 foo.txt


Передав аргумент «600», мы смогли установить разрешения владельца на чтение и запись, удалив все разрешения у владельца группы и мира. Хотя запоминание восьмеричного преобразования в двоичное может показаться неудобным, обычно вам придется использовать только несколько общих: 7 (RWX) 6 (RW) 5 (гх) 4 (r--) и 0 (Напишите нам в чат или Email).

chmod также поддерживает символическую нотацию для указания режимов файла. Символьное обозначение разделено на три части: на кого повлияет изменение, какая операция будет выполнена и какое разрешение будет установлено. Чтобы указать, кто будет затронут, комбинация символов «u», «g», «o» и «a» используется следующим образом:


Таблица 9-5: Символическое обозначение chmod


Символ Значение

Символ Значение

u Сокращенно от «пользователь», но означает владельца файла или каталога.


изображение

g Владелец группы.


изображение


изображение

o Сокращенно от «другие», но означает мир.


изображение

Сокращение от «все». Комбинация «u», «g» и «o».


изображение


Если символ не указан, предполагается «все». Операция может иметь вид «+», указывающий, что разрешение должно быть добавлено, «-», указывающий, что разрешение должно быть удалено, или «=», указывающий, что должны применяться только указанные разрешения, а все остальные подлежат удалению.

Разрешения указываются с помощью символов «r», «w» и «x». Вот несколько примеров символической записи:


Таблица 9-6: Примеры символических обозначений chmod


Обозначение Значение

Обозначение Значение

u + x Добавить разрешение на выполнение для владельца.


изображение

ux Удалить разрешение на выполнение у владельца.


изображение

+ x Добавить разрешение на выполнение для владельца, группы и мира.

Эквивалентно а + х.


изображение

o-rw Удалить права на чтение и запись у всех, кроме владельца и владельца группы.


изображение

go = rw Установите для владельца группы и всех, кроме владельца, права на чтение и запись. Если владелец группы или мир ранее имели разрешения на выполнение, они удаляются.


изображение

u + x, go = rx Добавить разрешение на выполнение для владельца и установить разрешения для группы и других пользователей на чтение и выполнение. Несколько спецификаций можно разделять запятыми.


изображение


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

Взгляните на CHMOD справочную страницу для получения более подробной информации и списка опций. Небольшое предостережение относительно параметра «--recursive»: он действует как для файлов, так и для каталогов, поэтому он не так полезен, как можно было бы надеяться, поскольку мы редко хотим, чтобы файлы и каталоги имели одинаковые разрешения.


Лучшие облачные вычисления для ОС в OnWorks: