команда chmod в Linux с примерами
В Unix-подобных операционных системах команда chmod используется для изменения режима доступа к файлу.
Название является сокращением режима изменения .
Синтаксис:
chmod [ссылка] [оператор] [режим] файл ...
Ссылки используются для различения пользователей, к которым применяются разрешения, т.е. они представляют собой список букв, указывающих, кому предоставлять разрешения. Ссылки представлены одной или несколькими из следующих букв:
Описание эталонного класса Вы владелец файла g группа пользователей, которые являются членами группа файла o другие пользователи, которые не являются ни владелец файла, ни члены группа файла а все три из вышеперечисленных, то же, что и уго
Оператор используется, чтобы указать, как следует настраивать режимы файла. Принимаются следующие операторы:
Описание оператора + Добавляет указанные режимы в указанные классы - Удаляет указанные режимы из указанные классы = Указанные режимы должны быть выполнены точные режимы для указанных классы
Примечание. Если поставить пробел вокруг оператора, команда завершится ошибкой.
Режимы указывают, какие разрешения должны быть предоставлены или удалены из указанных классов. Есть три основных режима, которые соответствуют основным разрешениям:
r Разрешение на чтение файла. w Разрешение на запись (или удаление) файла. x Разрешение на выполнение файла, или, в в случае каталога выполните поиск в нем.
Типы разрешений, которые мы будем менять с помощью команды chmod:
В терминале linux, чтобы увидеть все разрешения для разных файлов, введите команду ls -l, которая выводит список файлов в рабочем каталоге в длинном формате. На рисунке ниже показан пример использования ls -l и его вывода:
Давайте посмотрим на рисунок выше. Чтобы упростить понимание, некоторые столбцы и строки удалены, а в столбец разрешений добавлены дополнительные пробелы, чтобы облегчить чтение, как показано ниже:
- rw- rw- r-- Мик Мик assgn1_client.c - rw- rw- r-- Мик Мик assgn1_server.c d rwx rwx rx mik mik ЭКЗАМЕН - RW- RW- R- Мик Мик Raw.c - rwx rx rx mik mik header.sh ... скоро...
- Самый первый столбец представляет тип файла, то есть это обычный файл или
каталог, где d представляет каталог, а - представляет собой обычный файл. - Первые три буквы после типа файла говорят о том, какие права есть у владельца файла. Например: в assgn1_client.c имеет разрешение владельца как rw-, что означает, что владелец mik может только читать (r) и записывать (w) файл, но не может выполнять (x).
- Примечание: 3-й и 4-й столбцы представляют имя владельца файла и группу, к которой принадлежит владелец, соответственно.
- Следующие три буквы после разрешения пользователя - это разрешения группы.
Например: header.sh имеет разрешения группы как rx, что означает, что другие люди в группе mik не могут писать (w) сценарий header.sh, а могут только читать (r) или выполнять (x) его. - Обратите внимание, что когда для каталога установлен x, это принимает особое значение «разрешено искать в этом каталоге».
- Последние три буквы в столбце разрешений говорят нам, что могут делать «другие». Общая практика заключается в защите файлов от внешнего доступа, чтобы другие не могли записывать какие-либо файлы или каталоги. Они могут прочитать (r) или выполнить (x) его. Например: assgn1_client.c имеет другие права доступа как r- - это означает, что он может быть прочитан только другим (внешним) доступом, но не может быть записан или выполнен ими.
Теперь давайте посмотрим, как можно использовать команду chmod для изменения режима доступа к файлу.
Пример 1:
Давайте изменим разрешение assgn1_client.c, чтобы владелец не мог писать (w) в файл, а мог только читать его.
ДО: -rw-rw-r-- mik mik assgn1_client.c КОМАНДА: chmod u = r assgn1_client.c ПОСЛЕ: -r - rw-r-- mik mik assgn1_client.c
До :
После :
Пример 2:
Давайте ограничим разрешение таким образом, чтобы пользователь не мог выполнять поиск в каталоге EXAM.
ДО: drwxrwxr-x mik mik ЭКЗАМЕН КОМАНДА: chmod u = rw ЭКЗАМЕН ПОСЛЕ: drw-rwxr-x mik mik ЭКЗАМЕН
После применения команды chmod u = rw EXAM пользователь (владелец) не может изменить каталог. Если пользователь пытается сменить каталог, отображается сообщение «Permission denied», как показано на рисунке ниже:
Ссылка :
chmod Википедия