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

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

Life-Hack - Linux/Хакинг/Хакер/ИБ/Osint

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

Права доступа в Linux представляются в виде трёх групп: владелец (user), группа (group) и остальные (others). Каждая группа может иметь права на чтение (read), запись (write) и выполнение (execute).

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

Символьная нотация представляет собой буквенные обозначения прав доступа. Владелец обозначается буквой ‘u’, группа — ‘g’, остальные — ‘o’. Права чтения, записи и выполнения обозначаются буквами ‘r’, ‘w’ и ‘x’ соответственно. Например, строка прав доступа «u=rw,g=r,o=r» означает, что владелец имеет права на чтение и запись, группа — чтение, а остальные пользователи — только чтение.

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

Для назначения и изменения прав доступа используется команда chmod (сокращенно от change mode). Она вводится в командную строку по следующей логике:

chmod кто=права файл/каталог

Вместо «кто» вам нужно подставить обозначение того, для кого будет назначены права доступа. Существуют следующие обозначения:

  • u – user – владелец файла;
  • g – group – группа, которой принадлежит файл;
  • o – other – остальные пользователи;
  • a – all – все (вместо сочетания ugo).

Далее вместо «права» вам нужно ввести обозначение права, которое вы хотите дать этому пользователю или группе. О существующих правах уже было рассказано выше. Эти права будут даны вместо имеющихся.

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

chmod o=r logs

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

chmod ug=rw file1.txt

В этом случае владелец и группа смогут читать и изменять файл file1.txt.

Комбинировать можно и сами файлы или каталоги (если вы хотите изменить права сразу для нескольких файлов):

chmod ug=rw file1.txt file2.txt

Еще один интересный нюанс – вы можете также использовать знаки плюса (+) и минуса (-). Это полезно в тех случаях, когда вы хотите предоставить (добавить) или убрать (лишить) какие-либо права.

К примеру:

chmod o+w file.txt

Команда даст остальным пользователям возможность редактировать этот файл.

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

chmod o=u file.txt

Наверняка вы ни раз сталкивались с тем, что папкам или файлам даются права доступа в виде цифр. Например, 754, 755, 774 и т.д.

Каждая из цифр – это то же обозначение прав доступа для владельца, группы и остальных пользователей соответственно.

Расшифровка: чтение (r) – 4, запись (w) – 2 и выполнение (x) – 1. Если сложить все эти права, то получится 7 – такое право доступа может быть у владельца файла.

Чтобы было понятнее:

  • 7 – r+w+x – чтение, запись, выполнение;
  • 6 – r+w – чтение и запись;
  • 5 – r+x – чтение и выполнение;
  • 4 – r – чтение;
  • 3 – w+x – запись и выполнение;
  • 2 – w – запись;
  • 1 – x – выполнение;
  • 0 – отсутствие каких-либо прав.

При желании вы можете использовать команду chmod с цифровым кодированием:

chmod 754 file1.txt

644 – владелец файла может читать и изменять файл, а остальные пользователи (в том числе и группа) – только читать;

777 – все пользователи могут читать, изменять и выполнять файл.

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

Report Page