Права доступа к файлам в Linux/Unix: как читать, писать и изменять?
Linux — это клон UNIX, многопользовательской операционной системы, к которой могут одновременно обращаться многие пользователи. Linux также можно использовать в мейнфреймах и серверах без каких-либо модификаций. Но это вызывает проблемы безопасности, поскольку нежелательный или злонамеренный пользователь может повредить, изменить или удалить важные данные. Для эффективной безопасности Linux делит авторизацию на 2 уровня.
- Собственность
- Разрешение
Концепция файла Linux разрешение и собственность имеет решающее значение в Linux. Здесь мы объясним права доступа и право собственности на Linux, а также обсудим их оба. Начнем с Владение.
Нажмите здесь если видео недоступно
Владение файлами Linux
Каждому файлу и каталогу в вашей системе Unix/Linux назначается 3 типа владельцев, указанных ниже.
Информация о пользователе
Пользователь является владельцем файла. По умолчанию тот, кто создал файл, становится его владельцем. Следовательно, пользователя также иногда называют владельцем.
В группе
Группа пользователей может содержать несколько пользователей. Все пользователи, принадлежащие к группе, будут иметь одинаковые права доступа группы Linux к файлу. Предположим, у вас есть проект, в котором нескольким людям требуется доступ к файлу. Вместо того, чтобы вручную назначать разрешения каждому пользователю, вы можете добавить всех пользователей в группу и назначить групповое разрешение для файла, чтобы только члены этой группы и никто другой не мог читать или изменять файлы.
Другой
Любой другой пользователь, имеющий доступ к файлу. Этот человек не создал файл и не принадлежит к группе пользователей, которая может владеть файлом. Практически, это означает всех остальных. Следовательно, когда вы устанавливаете разрешение для других, это также называется установкой разрешений для всего мира.
Теперь возникает большой вопрос, как Linux различать между этими тремя типами пользователей, чтобы пользователь «А» не мог повлиять на файл, который содержит важную информацию/данные другого пользователя «Б». Вы как будто не хотите, чтобы ваш коллега, который работает над вашим Компьютер Linux, для просмотра изображений. Это где Разрешения... установить, и они определяют поведение пользователя.
Давайте разберемся Система разрешений на Linux.
Права доступа к файлам в Linux
Каждый файл и каталог в вашей системе UNIX/Linux имеет следующие 3 разрешения, определенные для всех 3 владельцев, о которых говорилось выше.
- Читайте: Это разрешение дает вам право открывать и читать файл. Разрешение на чтение каталога дает вам возможность просматривать его содержимое.
- Написать: Разрешение на запись дает вам право изменять содержимое файла. Разрешение на запись в каталог дает вам право добавлять, удалять и переименовывать файлы, хранящиеся в каталоге. Рассмотрим сценарий, в котором вам нужно разрешение на запись в файл, но у вас нет разрешения на запись в каталоге, в котором хранится файл. Вы сможете изменить содержимое файла. Но вы не сможете переименовать, переместить или удалить файл из каталога.
- Выполнили: In Windowsисполняемая программа обычно имеет расширение «.exe», и ее можно легко запустить. В Unix/Linux вы не можете запустить программу, если не установлено разрешение на выполнение. Если разрешение на выполнение не установлено, вы все равно сможете просматривать/изменять программный код (при условии, что установлены разрешения на чтение и запись), но не запускать его.
Давайте посмотрим на права доступа к файлам в Linux на примерах:
лс – л на терминале дает
ls - l
Здесь мы выделили '-rw-rw-r–'и этот странно выглядящий код говорит нам о разрешениях Unix, предоставленных владельцу, группе пользователей и всему миру.
Здесь первый '–' означает, что мы выбрали файл.p>
В противном случае, если бы это был каталог, d показали бы.
Персонажи довольно легко запомнить.
r = разрешение на чтение
w = разрешение на запись
x = выполнить разрешение
– = нет разрешения
Давайте посмотрим на это таким образом.
Первая часть кода 'рв-'. Это говорит о том, что владелец «Дома» может:
- Прочтите файл
- Напишите или отредактируйте файл
- Он не может выполнить файл, так как бит выполнения установлен на «-».
По своей конструкции многие дистрибутивы Linux, такие как Fedora, CentOS, Ubuntuи т. д. добавит пользователей в группу с тем же именем, что и имя пользователя. Таким образом, пользователь «tom» добавляется в группу с именем «tom».
Вторая часть 'рв-'. Это для группы пользователей «Дом» и членов группы может:
- Прочтите файл
- Напишите или отредактируйте файл
Третья часть предназначена для всего мира, что означает любого пользователя. Это говорит 'р-'. Это означает, что пользователь может только:
- Прочтите файл
Изменение прав доступа к файлу/каталогу в Linux с помощью команды chmod
Допустим, вы не хотите, чтобы ваш коллега видел ваши личные изображения. Этого можно добиться, изменив права доступа к файлам.
Мы можем использовать 'chmod' команда, которая означает «изменить режим». Используя команду, мы можем установить разрешения (чтение, запись, выполнение) для файла/каталога для владельца, группы и мира.
Синтаксис:
chmod permissions filename
Есть 2 способа использования команду –
- Абсолютный режим
- Символический режим
Абсолютный (числовой) режим в Linux
В этом режиме файл разрешения представлены не в виде символов, а в виде трехзначного восьмеричного числа.
В таблице ниже приведены числа для всех типов разрешений.
Номер регистрации | Тип разрешения | Символ |
---|---|---|
0 | Отсутствует разрешение на | - |
1 | Выполнить | -Икс |
2 | Написать | -w- |
3 | Выполнить + Записать | -wx |
4 | Читать | р- |
5 | Читать + Выполнить | гх |
6 | Читать + Написать | RW |
7 | Чтение + запись + выполнение | RWX |
Давайте посмотрим на команду разрешений chmod в действии.
В приведенном выше окне терминала мы изменили права доступа к файлу «sample» на «764».
Абсолютный код «764» говорит следующее:
- Владелец может читать, писать и выполнять
- Группа пользователей может читать и писать
- Мир может только читать
Это отображается как '-rwxrw-r–
Вот как вы можете изменить права пользователя в Linux для файла, назначив абсолютное число.
Символический режим в Linux
В Абсолютном режиме вы меняете права для всех 3-х владельцев. В символьном режиме вы можете изменить разрешения конкретного владельца. Он использует математические символы для изменения прав доступа к файлам Unix.
оператор | Описание |
---|---|
+ |
Добавляет разрешение к файлу или каталогу |
– |
Удаляет разрешение |
= |
Устанавливает разрешение и переопределяет разрешения, установленные ранее. |
Различные владельцы представлены как –
Пользовательские обозначения | |
---|---|
u |
Пользователь / владелец |
g |
группы |
o |
другими |
a |
ВСЕ |
Мы не будем использовать разрешения в виде чисел типа 755, а будем использовать такие символы, как rwx. Давайте рассмотрим пример
Изменение владельца и группы в Linux
Чтобы изменить владельца файла/каталога, вы можете использовать следующую команду:
chown user filename
Если вы хотите изменить пользователя, а также группу для файла или каталога, используйте команду
chown user:group filename
Давайте посмотрим это в действии
Если вы хотите изменить только владельца группы, используйте команду
chgrp group_name filename
"chgrp' означает группу изменения.
Функции
- Файл /etc/group содержит все группы, определенные в системе.
- Вы можете использовать команду «группы», чтобы найти все группы, членом которых вы являетесь.
- Вы можете использовать команду newgrp для работы в качестве члена группы, отличной от группы по умолчанию.
- Вы не можете иметь две группы, владеющие одним и тем же файлом.
- В Linux нет вложенных групп. Одна группа не может быть подгруппой другой
- x- выполнение каталога означает возможность «войти» в каталог и получить возможный доступ к подкаталогам.
- Существуют и другие разрешения, которые вы можете установить для файлов и каталогов, которые будут рассмотрены в следующем расширенном руководстве.
Резюме:
- Linux, будучи многопользовательской системой, использует разрешения и право собственности для обеспечения безопасности.
- В системе Linux существует три типа пользователей, а именно. Пользователь, группа и другое
- Linux делит права доступа к файлам на чтение, запись и выполнение, обозначаемые r, w и x.
- Разрешения для файла можно изменить с помощью команды «chmod», которую можно разделить на абсолютный и символический режим.
- Команда chown может изменить владельца файла/каталога. Используйте следующие команды: chown user file или chown user:group file.
- Команда «chgrp» может изменить владельца группы. имя файла группы chrgrp
- Что означает x – выполнение каталога? О: Разрешение «войти» в каталог и получить возможный доступ к подкаталогам.