Права доступа в Linux. Команды CHMOD и ls -ld

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

Например, вы не хотите, чтобы другие люди изменяли ваши файлы. Также, чтобы системные файлы были защищены от повреждения (случайного или преднамеренного). К счастью, с разрешениями в системе Linux довольно легко работать.Права доступа в Linux. Команды CHMOD и ls -ld

Введение

Разрешения Linux диктуют 3 вещи, которые вы можете делать с файлом: чтение, запись и выполнение. Они упоминаются в Linux одной буквой каждая.

  • r read — вы можете просмотреть содержимое файла.
  • w write — вы можете изменить содержимое файла.
  • x execute — вы можете выполнить или запустить файл, если это программа или скрипт.

Для каждого файла мы определяем 3 группы людей, для которых мы можем указать разрешения.

  • владелец — один человек, которому принадлежит файл. (обычно человек, который создал файл, но право собственности может быть предоставлено кому-то еще некоторыми пользователями)
  • группа — каждый файл принадлежит одной группе.
  • другие — все остальные, кто не входит в группу или владельца.

Три убеждения и три группы людей.

Это все, что есть на самом деле с разрешениями. Теперь давайте посмотрим, как мы можем просмотреть и изменить их.

Просмотр разрешений

Для просмотра прав доступа к файлу мы используем параметр длинного списка для команды ls.

ls -l [путь]

ls -l [путь]

В приведенном выше примере первые 10 символов вывода — это то, на что мы смотрим, чтобы определить разрешения.

  • Первый символ определяет тип файла. Если это тире (-), то это обычный файл.
  • Следующие 3 символа представляют разрешения для владельца. Буква обозначает наличие разрешения, а тире (-) обозначает отсутствие разрешения. В этом примере владелец имеет все разрешения (чтение, запись и выполнение).
  • Следующие 3 символа представляют разрешения для группы. В этом примере группа имеет возможность читать, но не писать или выполнять. Обратите внимание, что порядок разрешений всегда читается, затем записывается и выполняется.
  • Наконец, последние 3 символа представляют разрешения для других (или всех остальных). В этом примере у них есть разрешение на выполнение и больше ничего.

Изменить разрешения

Чтобы изменить права доступа к файлу или каталогу, мы используем команду chmod.

chmod [права доступа] [путь]

У chmod есть аргументы разрешения, которые состоят из 3 компонентов

  • Для кого мы меняем разрешение? [ugoa] — пользователь (или владелец), группа, другие, все
  • Предоставляем ли мы или отменяем разрешение — обозначается плюсом (+) или минусом (-)
  • Какое разрешение мы устанавливаем? — прочитать (r), написать (w) или выполнить (x)

Следующие примеры сделают их использование более понятным.

Предоставьте разрешение на выполнение группе. Затем удалите разрешение на запись для владельца.

chmod

Не хотите назначать разрешения индивидуально? Мы можем назначить несколько разрешений одновременно.

Не хотите назначать разрешения индивидуально

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

Разрешения для каталогов

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

  • r — у вас есть возможность прочитать содержимое каталога (т.е. сделать ls)
  • w — у вас есть возможность записи в каталог (т.е. создавать файлы и каталоги)
  • х — у вас есть возможность войти в этот каталог (например, CD)

Давайте посмотрим некоторые из них в действии

Разрешения для каталогов

Обратите внимание, когда мы запускали ls, включена опция -d, которая обозначает каталог. Обычно, если мы даем ls аргумент, который является каталогом, он будет перечислять содержимое каталога. Однако в этом случае нас интересуют права доступа к каталогу, а опция -d позволяет нам получить это.

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

Пока вы знаете, что файл существует и его имя

Пользователь root

В системе Linux обычно есть только 2 человека, которые могут изменять права доступа к файлу или каталогу. Владелец файла или каталога и пользователь root.

Пользователь root — это суперпользователь, которому разрешено делать все и вся в системе. Обычно администраторы системы являются единственными, кто имеет доступ к корневой учетной записи и использует ее для обслуживания системы.

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

Основная безопасность

Ваш домашний каталог — это ваше личное пространство в системе.

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

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

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

Вывод

В данной статье мы познакомились со следующими командами:

  • CHMOD — измените права доступа к файлу или каталогу.
  • ls -ld — просмотр разрешений для определенного каталога.
Ссылка на основную публикацию

Политика конфиденциальности

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

Принять
Adblock
detector