Computer help - file server


[ Blog ] - [ File Server ] - [ Удаленная компьютерная помощь ]

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

Я понятия не имел, что это значит, хотя и менял разрешения устранили проблему. Теперь я понял, что разрешения Linux не так уж и сложны, вам просто нужно понять систему. В этой статье я расскажу о разрешениях Linux на высоком уровне и покажу вам, как использовать команду chmod для изменения разрешений для файлов и папок.Разрешения и уровни Linux

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

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

Чтение, запись и выполнение представлены либо символьными символами, либо восьмеричными числами. Например, если вы выполните команду ls -l в каталоге с некоторыми файлами, вы увидите символьное представление разрешений.



Разрешения записываются следующим образом: первый бит - это либо тире, либо буква d. Тире означает, что это файл, а d означает каталог. Обратите внимание, что первый бит также может быть l, если имя файла является ссылкой. Далее идут три группы по три бита.Первый бит в каждой группе предназначен для чтения, второй бит - для записи, а третий бит - для выполнения. Первые три бита предназначены для владельца, вторые три бита - для группы, а третьи три бита - для других. Вот более наглядное объяснение.



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

Если вы посмотрите на вывод команды ls -l, вы заметите, что мой текстовый файл практики имеет следующие разрешения: -rw-rw-rw-

Это означает что у всех есть разрешения только на чтение/запись для файла. Здесь `s другой пример: drwxr - r--

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

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

Итак, как Linux представляет чтение, запись и выполнение с использованием восьмеричных чисел? По сути, он просто присваивает номер каждому разрешению, как показано ниже.



Разрешение на чтение представлено цифрой 4, запись - 2 и выполнение - 1. Все, что вам нужно сделать, это сложить их. чтобы получить восьмеричное разрешение.Например, возьмем приведенный выше пример, в котором у всех есть все права: -rwxrwxrwx

У владельца есть rwx, поэтому мы добавим 4 + 2 + 1, чтобы получить значение 7. Мы делаем то же самое. вещь для группы и то же самое для других. Последнее восьмеричное значение - 777. Давайте посмотрим на пример, в котором мы дали только права на чтение и запись: -rw-rw-rw-

Первое восьмеричное число будет 4 + 2, так как мы добавляем чтение и запись. Второе будет таким же, как и третье восьмеричное число. Здесь у нас есть итоговое восьмеричное значение 666.

А теперь попробуем по-другому. Допустим, мы хотим знать, что представляет собой разрешение 755? Что ж, это довольно легко понять, если разбить его на отдельные числа. Первое число - 7, которое мы можем получить, только сложив 4 + 2 + 1, что означает, что владелец имеет разрешение на чтение/запись/выполнение. Пять можно получить, только добавив 4 + 1, что означает, что группа и другие пользователи имеют разрешения на чтение и выполнение.



Надеюсь, это хорошее объяснение того, как представлять разрешения в Linux с помощью восьмеричных чисел.В целом это довольно просто. Использование chmod для изменения разрешений

Теперь, когда мы понимаем, как читать разрешения, давайте поговорим о том, как мы можем их изменить. Самая простая утилита для этой цели - команда chmod. Вот как это работает. Лучший способ объяснить команду - это рассмотреть пример.

Начнем с разрешений, о которых мы говорили выше, а именно: -rw-rw-rw-

Если мы хотели добавить разрешение на выполнение для владельца, группы и других, мы могли бы сделать это двумя способами.Мы могли бы использовать символьный метод или восьмеричный метод. Для метода символа мы должны сделать следующее, как показано ниже:



Точная команда - chmod a + x filename

Синтаксис следующий: буква или буквы, представляющие владельца (u), группу (g), другое (o) или все (a), за которыми следует + для добавления разрешений или - для удаления разрешения, а затем букву для разрешения (r для чтения, w для записи и x для выполнения).

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



Как видите, для этого я использовал следующую команду: chmod go-wx filename

Поскольку я хочу изменить разрешения для группы и других, я использую букву g и букву o. Я хочу удалить разрешения, поэтому использую знак -. Наконец, я хочу удалить разрешения на запись и выполнение, поэтому использую w и x.Вот удобная небольшая таблица для использования символов:



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

Если мы начнем со следующих разрешений для файла, давайте посмотрим, как мы можем изменить их с помощью восьмеричного метода: -rw-rw-rw-



Выше вы можете видеть, что я использовал следующую команду: chmod 744 filename

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



Теперь я использовал следующую команду, опять же очень простую: chmod 640 filename

Здесь мы предоставили владельцу разрешения на чтение и запись, группе - только на чтение, а другой группе - нет. Вы используете ноль для обозначения отсутствия разрешений. Довольно просто, а?

В заключение, это очень простой обзор разрешений Linux, который может быть намного сложнее, чем этот, но для новичков это хорошее место для начала.Я буду публиковать больше статей о расширенных разрешениях в будущем. Если у вас есть вопросы, не стесняйтесь комментировать. Наслаждайтесь!

.
SETUP UA COMPUTER BLOG