Рекламное объявление

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

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

Несмотря на это, один из наиболее важные команды Linux для изучения A-Z Linux - 40 основных команд, которые вы должны знатьLinux - часто игнорируемое третье колесо для Windows и Mac. Да, за последнее десятилетие операционная система с открытым исходным кодом приобрела большую популярность, но она еще далека от рассмотрения ... Подробнее небольшая, но мощная команда CHMOD. Но прежде чем мы объясним, что делает команда, мы должны сначала немного понять, как Linux управляет безопасностью файлов.

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

Операционные системы Linux на самом деле являются Unix-подобными системами (

понимание Linux против Юникс), и 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 в двух словах.

Что такое Chmod?

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

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

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

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

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

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

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

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

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

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

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

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

chmod [права доступа] [файл]

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

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 Ubuntu: руководство для начинающихИнтересуетесь Ubuntu, но не знаете, с чего начать? Все, что вам может понадобиться для начала работы с последней версией Ubuntu, прямо здесь, написано на простом для понимания простом английском языке. Подробнее , который научит вас всему, что вам нужно знать, чтобы начать и достаточно ознакомиться, чтобы чувствовать себя комфортно.

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