Учебники

6) Права доступа к файлам

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

  1. Владение
  2. разрешение

В этом учебном пособии по файлам Linux вы узнаете

Концепция прав доступа и владения имеет решающее значение в Linux. Здесь мы обсудим их обоих. Давайте начнем с владения.

Нажмите здесь, если видео не доступно

Владение файлами Linux

Каждому файлу и каталогу в вашей системе Unix / Linux назначается 3 типа владельцев, указанных ниже.

пользователь

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

группа

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

Другой

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

Теперь возникает большой вопрос, как Linux различает эти три типа пользователей, так что пользователь «А» не может влиять на файл, который содержит жизненно важную информацию / данные другого пользователя «Б». Как будто вы не хотите, чтобы ваш коллега, работающий на вашем компьютере с Linux, просматривал ваши изображения. Здесь устанавливаются разрешения , и они определяют поведение пользователя .

Давайте разберемся с системой разрешений в Linux.

права доступа

Каждый файл и каталог в вашей системе UNIX / Linux имеет следующие 3 разрешения, определенные для всех 3 владельцев, описанных выше.

  • Чтение: это разрешение дает вам право открывать и читать файл. Разрешение на чтение в каталоге дает вам возможность перечислять его содержимое.
  • Запись: разрешение на запись дает вам право изменять содержимое файла. Разрешение на запись в каталог дает вам право добавлять, удалять и переименовывать файлы, хранящиеся в каталоге. Рассмотрим сценарий, в котором вы должны иметь разрешение на запись в файл, но не иметь разрешения на запись в каталог, где хранится файл. Вы сможете изменить содержимое файла. Но вы не сможете переименовать, переместить или удалить файл из каталога.
  • Выполнить: в Windows исполняемая программа обычно имеет расширение «.exe» и ее можно легко запустить. В Unix / Linux вы не можете запустить программу, если не задано разрешение на выполнение. Если разрешение на выполнение не задано, вы все равно сможете просматривать / изменять программный код (при условии, что установлены разрешения на чтение и запись), но не запускать его.

Разрешения для файлов в Linux / Unix Давайте посмотрим это в действии

ls — l на терминале дает

ls - l

Разрешения для файлов в Linux / Unix

Здесь мы выделили ‘-rw-rw-r—‘, и этот странно выглядящий код говорит нам о разрешениях, предоставленных владельцу, группе пользователей и миру.

Здесь первое ‘ ‘ означает, что мы выбрали файл.

Разрешения для файлов в Linux / Unix

Иначе, если бы это был каталог, был бы показан .

Разрешения для файлов в Linux / Unix

Персонажи довольно легко запомнить.

r  = разрешение на чтение
w  = разрешение на запись
x  = разрешение на выполнение
 = нет разрешения

Давайте посмотрим на это так.

Первая часть кода — «rw-» . Это говорит о том, что владелец «Дома» может:

Разрешения для файлов в Linux / Unix

  • Читать файл
  • Написать или отредактировать файл
  • Он не может выполнить файл, так как бит выполнения установлен в ‘-‘.

По своему дизайну многие дистрибутивы Linux, такие как Fedora, CentOS, Ubuntu и т. Д., Добавляют пользователей в группу с тем же именем группы, что и имя пользователя. Таким образом, пользователь ‘Tom’ добавляется в группу с именем ‘Tom’.

Вторая часть — «RW-». Это для группы пользователей «Дом» и членов группы можно:

  • Читать файл
  • Написать или отредактировать файл

Третья часть предназначена для мира, что означает любой пользователь. Там написано «r—«. Это означает, что пользователь может только:

  • Читать файл

Разрешения для файлов в Linux / Unix

Изменение прав доступа к файлам / каталогам с помощью команды ‘chmod’

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

Мы можем использовать команду « chmod», которая означает «изменить режим». Используя команду, мы можем установить права (чтение, запись, выполнение) для файла / каталога для владельца, группы и мира. Синтаксис:

chmod permissions filename

Есть 2 способа использования команды:

  1. Абсолютный режим
  2. Символический режим

Абсолютный (числовой) режим

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

В таблице ниже приведены номера для всех типов разрешений.

Число Тип разрешения Символ
0 Отсутствует разрешение на
1 казнить —Икс
2 Написать -w-
3 Выполнить + Написать -wx
4 Читать р—
5 Читать + Выполнить гх
6 Читать + Написать rw-
7 Чтение + запись + выполнение RWX

Давайте посмотрим на команду chmod в действии.

Разрешения для файлов в Linux / Unix

В приведенном выше окне терминала мы изменили права доступа к файлу «sample» на «764».

Разрешения для файлов в Linux / Unix

Абсолютный код «764» говорит следующее:

  • Владелец может читать, писать и выполнять
  • Пользовательская группа может читать и писать
  • Мир может только читать

Это показано как ‘-rwxrw-r-

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

Символический режим

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

оператор Описание
+ Добавляет разрешение в файл или каталог
Удаляет разрешение
знак равно Устанавливает разрешение и переопределяет разрешения, установленные ранее.

Различные владельцы представлены как —

Пользовательские обозначения
U Пользователь / владелец
г группа
о Другой
все

Мы не будем использовать разрешения в числах, таких как 755, а в таких символах, как rwx. Давайте посмотрим на пример

Разрешения для файлов в Linux / Unix

Изменение владельца и группы

Для изменения владельца файла / каталога вы можете использовать следующую команду:

chown user

Если вы хотите изменить пользователя, а также группу для файла или каталога, используйте команду

chown user:group filename

Давайте посмотрим это в действии

Разрешения для файлов в Linux / Unix

Если вы хотите изменить только владельца группы, используйте команду

chgrp group_name filename

« chgrp» обозначает группу изменений.

Разрешения для файлов в Linux / Unix

Подсказка

  • Файл / etc / group содержит все группы, определенные в системе.
  • Вы можете использовать команду «groups», чтобы найти все группы, членом которых вы являетесь.
  • Разрешения для файлов в Linux / Unix

  • Вы можете использовать команду newgrp для работы в качестве члена группы, отличной от группы по умолчанию.
  • Разрешения для файлов в Linux / Unix

  • Вы не можете иметь 2 группы, владеющие одним файлом.
  • У вас нет вложенных групп в Linux. Одна группа не может быть подгруппой другой
  • x- Выполнение каталога означает, что ему разрешено «войти» в каталог и получить возможный доступ к дочерним каталогам.
  • Есть другие разрешения, которые вы можете установить для файлов и каталогов, которые будут рассмотрены в более позднем расширенном руководстве

Резюме:

  • Linux, будучи многопользовательской системой, использует разрешения и права собственности для обеспечения безопасности.
  • В системе Linux есть три типа пользователей. Пользователь, группа и другое
  • Linux делит права доступа к файлам на чтение, запись и выполнение, обозначенные как r, w и x
  • Права доступа к файлу можно изменить с помощью команды «chmod», которую можно разделить на «Абсолютный» и «Символьный» режимы.
  • Команда ‘chown’ может изменить владельца файла / каталога. Используйте следующие команды: chown user file или chown user: group file
  • Команда ‘chgrp’ может изменить имя группы
  • Что означает x — выполнение каталога? A: Возможность «войти» в каталог и получить доступ к дополнительным каталогам.