Команда chmod в Linux — подробное описание
Содержание:
В операционной системе Linux система полномочий имеет передовое значение, а обусловлено это возможностью разделять привилегии между пользователями, контролировать действия, а также ограничивать доступ к файлам. Права доступа Linux делятся на три вида – право на выполнение, запись и чтение, а применяться они могут к трем категориям пользователей – владелец файла, группа и все остальные. Также стоит добавить, что полномочия применимы для всех без исключения файлов, ведь в Линукс даже устройства считываются как файлы.
Команда chmod в Linux — что это и зачем нужна
Параметр Linux chmod представляет собой набор правил, определяющих, кто и каким образом может получить доступ к конкретному файлу, папке или каталогу. Этот свод правил носит название режимы файлов или права доступа к директориям. Имя «chmod» обозначает «режим изменения» и используется для редактирования, создания доступа к отдельным директориям.
Дополнительные параметры команды, перечень основных
Ранее уже упоминалось, что операционная система Linux оснащена большим количеством встроенных инструментов, которые имеют дополнительные параметры. Операция «chmod» оснащена следующими параметрами:
- -c, —changes – предназначен для выдачи подробного вывода лишь в том случае, если изменение было действительно осуществлено.
- -f, —silent, —quiet — бесшумный режим, предназначенный для подавления большинства сообщений о системных ошибках.
- -v, —verbose – носит название «подробный режим», предназначен для выведения на экран диагностического уведомления для каждой обработанной директории.
- —version – используется для выведения на экран информации о версии, затем по истечении небольшого промежутка времени окно исчезает самостоятельно.
- —no-preserve-root – не затрагивать (обрабатывать) корневой каталог, в котором заданы параметры по умолчанию.
- —help – отобразить на экране электронный справочник, после чего в случае отсутствия активности он закроется самостоятельно.
- —preserve-root – запрет на то, чтобы работать рекурсивно в корневом каталоге.
- -R, —recursive – рекурсивная замена каталогов и файлов на компьютере с операционной системой Линукс.
- —reference=RFILE – присвоить директории RFILE соответствующие разрешения, в независимости от используемого режима.
Примеры использования chmod
Как уже говорилось ранее, параметр chmod – это удобный инструмент, позволяющий повысить безопасность системных файлов ОС и пользовательских данных за счет назначения прав доступа к каталогам и файлам.
Смена полномочий может осуществляться несколькими способами. Наиболее распространенные – используя абсолютные и символьные режимы. С особенностями реализации каждого стоит ознакомиться более детально.
Символьный режим
По умолчанию значение прав доступа директории file – rwxrwxrwx – имеет полный доступ для всех. Далее, в зависимости от поставленной задачи, параметры можно изменять следующим образом:
- $ chmоd a-x (rw-rw-rw-) – параметр, ограничивающий доступ на редактирование для всех групп и юзеров.
- $ chmod go-w (rw-r—r—) – команда, запрещающая группам и остальным пользователям редактировать данные.
- $ chmоd u x (rwxr—r—) – разрешение на редактирования файла владельцем.
- $ chmod g=u (rwxrwxr—) – присваивание группе тех прав, которыми обладает владелец каталога или папки.
- $ chmоd go-rw (rwx—x—) – параметр, который ограничивает чтение и редактирование файлов пользователями группы и прочими юзерами.
Для использования перечисленных параметров пользователю достаточно просто подставлять свои значения.
Использование команд в абсолютном режиме
В данном режиме предусмотрено большее количество команд. Теперь более подробно об использовании каждой из них:
- $ chmоd 777 (rwxrwxrwx) – команда, предоставляющая полный доступ к чтению, записи и редактированию данных всеми группами и юзерами.
- $ chmod 666 (rw-rw-rw-) – предоставление разрешения на запись и чтение для владельца, группы и других пользователей.
- $ chmоd 744 (rwxr—r—) – команда, предоставляющая полный доступ владельцу директории, и доступ к чтению группам и другим юзерам.
- $ chmod 700 (rwx——) — команда, предоставляющая полный доступ владельцу директории, и ставящая запрет на доступ группам и другим пользователям.
- $ chmоd 644 (rw-r—r—) – владелец файла имеет право читать и вести записи, остальные группы и пользователи имеют возможность только читать файлы.
- $ chmod 640 (rw-r——) – команда, устанавливающая разрешение на запись и чтение файла владельцу и группе, для других юзеров доступ ограничен.
- $ chmоd 444 (r—r—r—) – команда, которая устанавливает доступ к чтению для всех пользователей и отдельных групп.
- $ chmod 755 (rwxr-xr-x) – открывает доступ владельцу для записи, чтения и редактирования владельцем, группы и другие юзеры могут только открывать файл в режиме чтения.
- $ chmod 505 (r-x—r-x) – владелец файла имеет право на чтение и редактирование, для остальных пользователей доступ ограничен.
- $ chmоd 755 * – команда, которая открывает все права доступа в текущем каталоге. Важно понимать, что юзер имеет неограниченные полномочия на все файлы конкретной директории, другие пользователи и группы могут только читать и редактировать файлы.
- $ chmоd -R 777 * – рекурсивная команда, распространяющаяся на все подкаталоги.
В данном случае рассмотрены лишь основные параметры, но далеко не все.
Установка прав при помощи чисел
Параметр chmod проще использовать, когда он представляется в виде одной восьмеричной цифры для каждой категории юзеров. Однако, в этом случае важно помнить, что обозначает каждая цифра:
- 0 – установлены одни ограничения, ничего не разрешено;
- 4 – пользователям, группам и остальным пользователя доступно только чтение;
- 5 – всем категориям юзеров разрешено только чтение и редактирование пользовательских/системных данных;
- 6 – разрешено чтение и запись данных;
- 7 – предоставляет всем категориям неограниченный доступ к директориям, то есть чтение, запись и исполнение.
В первом аргументе на картинке указано три цифры, которые обозначают следующее: первая – владелец директории, вторая – группы, а третья – прочих пользователей.
Связанные команды chgrp и chown
Операционная система Linux имеет расширенные права на каталог, в связи, с чем используется немало смежных команд, чтобы задать оптимальные параметры работы. В Linux права на файл и каталог можно задавать, используя команды chgrp и chown.
С помощью первой команды у юзера есть возможность изменить только группу. Пример ее использования: chgrp sambashare myfile.
Описание команды chown
Команда chown Linux используется, чтобы изменить владельца группы или файла. Чтобы изменить владельца директории применяется следующий синтаксис: chown новый_владелец имя_файла.
Если рассматривать на конкретном примере, то для файла под названием «myfile» устанавливается новый владелец vasya. Применение команды будет выглядеть так: chown vasya myfile.
Чтобы изменить владельца группы файла применяется уже другой синтаксис: chown новый_владелец: новая_группа имя_файла.
Рассматривая на конкретном примере, использование прав доступа к файлам в Linux выглядеть будет так: chown vasya:sambashare myfile, где «myfile» – это название файла, «vasya» – владелец, а «sambashare» – группа.
Линкус – это операционная система с открытым программным кодом, она пользуется большой популярностью среди программистов и продвинутых пользователей ПК. Обусловлено это отменными функциональными возможностями, безопасностью и возможностью бесплатного использования. Права доступа к directory и file подразделяются на несколько видов, поэтому для задавания оптимальных параметров необходимо ознакомиться с возможностью использования специальных команд.