Объяснение команды Chmod и прав доступа к файлам в Linux

Объяснение команды Chmod и прав доступа к файлам в Linux

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





Или, может быть, у вас есть веб-сайт, размещенный на сервере Linux, и вы столкнулись с некоторыми проблемами с правами доступа к файлам, которые можно решить только с помощью магии командной строки.





Тем не менее, один из самые важные команды Linux для изучения это небольшая, но мощная команда под названием chmod . Но прежде чем мы объясним, что делает команда, мы должны сначала немного понять, как Linux обеспечивает безопасность файлов.





Основы прав доступа к файлам в Linux

Операционные системы Linux на самом деле являются Unix-подобными системами ( понимание Linux и Unix ), и Unix-подобные системы подходят к разрешениям файлов следующим образом:

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



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

В Unix-подобной системе доступны три действия: читать (возможность открывать и просматривать содержимое файла), записывать (возможность открывать и изменять содержимое файла) и выполнять (возможность запускать файл как исполняемую программу).





Другими словами, права доступа к файлу определяют:

  • Владелец может читать, писать и выполнять файл.
  • Группа может читать, писать и выполнять файл.
  • Любой другой может читать, писать и выполнять файл.

Права доступа к файлам Linux могут отображаться в двух форматах.





Первый формат называется символическое обозначение , который представляет собой строку из 10 символов: один символ, представляющий тип файла, затем девять символов, которые представляют права доступа для чтения (r), записи (w) и выполнения (x) файла в порядке владельца, группы и других. Если это не разрешено, используется символ тире (-).

Например:

-rwxr-xr--

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

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

  • 0 означает, что разрешения не разрешены.
  • +1, если класс может выполнить файл.
  • +2, если класс может писать в файл.
  • +4, если класс может прочитать файл.

Другими словами, значение каждого цифрового значения оказывается таким:

  • 0: Нет разрешения
  • 1: Выполнить
  • 2: Написать
  • 3: напишите и выполните
  • 4: Читать
  • 5: Прочтите и выполните
  • 6. Читайте и пишите
  • 7. Чтение, запись и выполнение

Итак, приведенный выше пример (

-rwxr-xr--

) будет 754 в числовой записи.

Вкратце, это права доступа к файлам Linux.

Что такое Чмод?

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

как использовать ноутбук в качестве монитора

Не путать с Chown , которая является еще одной командой системного уровня в Unix-подобных системах, которая означает «сменить владельца» и позволяет назначить владение файлом другому пользователю, или chgrp , что означает «изменить группу» и относит файл к другой группе. Это важно знать, но они используются не так часто, как chmod.

Что означает Chmod 644?

Установка разрешений для файла на 644 делает так, что только владелец может получить доступ к файлу и изменить его по своему усмотрению, в то время как все остальные могут получить доступ только без изменения, и никто не может выполнить файл - даже владелец. Это идеальная настройка для общедоступных файлов, поскольку в ней сочетаются гибкость и безопасность.

встроенная / встроенная графика

Что означает Chmod 755?

Установка разрешений для файла на 755 в основном то же самое, что и для 644, за исключением того, что у всех также есть разрешения на выполнение. Это в основном используется для общедоступных каталогов, поскольку для перехода в каталог необходимо разрешение на выполнение.

Что означает Chmod 555?

Установка прав доступа к файлу на 555 делает так, что файл не может быть изменен никем, кроме суперпользователя системы (узнайте больше о суперпользователе Linux). Это не так часто используется, как 644, но все же важно знать, потому что параметр только для чтения предотвращает случайные изменения и / или вмешательство.

Что означает Chmod 777?

Установка разрешений для файла на 777 позволяет каждому делать с файлом все, что угодно. Это огромный риск для безопасности, особенно на веб-серверах! Буквально каждый может получить доступ к файлу, изменить его по своему усмотрению и выполнить в системе. Вы можете себе представить потенциальный ущерб, если бы злоумышленник получил его в свои руки.

Как использовать Chmod в Linux

Команда chmod имеет простой формат:

chmod [permissions] [file]

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

chmod 644 example.txt

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

chmod u=rwx example.txt
chmod g=rw example.txt
chmod o=rw example.txt

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

chmod u=rwx,g=rw,o=rw example.txt

При назначении одинаковых разрешений нескольким классам их можно комбинировать:

chmod u=rwx,go=rw example.txt

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

Например, это добавляет разрешение на выполнение для владельца файла:

chmod u+x example.txt

И это удаляет права на запись и выполнение для других пользователей:

chmod o-wx example.txt

Наконец, если вы хотите применить определенный набор разрешений ко всем файлам и папкам в определенном каталоге (например, рекурсивный chmod), используйте параметр -R и выберите каталог:

chmod -R 755 example_directory

Хотя на первый взгляд команда chmod выглядит немного сумасшедшей, на самом деле она довольно проста и вполне логична. Если вы понимаете вышесказанное, вы в основном освоили chmod!

Узнайте больше об освоении Linux

Такие команды, как chmod, chown и chgrp - лишь верхушка айсберга Linux. Если вы новичок в операционной системе, мы рекомендуем проверить эти изящные уловки для новичков в Linux, а также эти команды Linux, которые вы никогда не должны запускать.

Но самое главное, вам будет лучше, если вы ознакомитесь с нашими подробное руководство по Ubuntu и Linux для новичков , который научит вас всему, что вам нужно знать, чтобы начать работу, и достаточно ознакомится, чтобы чувствовать себя комфортно.

Делиться Делиться Твитнуть Эл. адрес 5 советов, как зарядить ваши машины VirtualBox Linux

Устали от низкой производительности виртуальных машин? Вот что вам нужно сделать, чтобы повысить производительность VirtualBox.

Читать далее
Похожие темы
  • Linux
  • Команды Linux
Об авторе Джоэл Ли(Опубликовано 1524 статей)

Джоэл Ли является главным редактором MakeUseOf с 2018 года. У него есть степень бакалавра наук. Кандидат компьютерных наук и более девяти лет профессионального опыта написания и редактирования.

Ещё от Joel Lee

Подписывайтесь на нашу новостную рассылку

Подпишитесь на нашу рассылку технических советов, обзоров, бесплатных электронных книг и эксклюзивных предложений!

Нажмите здесь, чтобы подписаться
Категория Linux