Основы linux от основателя gentoo. часть 3 (2/4): модель прав доступа

Связанные команды

chown – Изменить владельца файлов или каталогов.getfacl – Показать списки контроля доступа к файлам.ls – список содержимого каталога или каталогов.

Инструкции <хедер class=”author-хедер”>

Запись прав доступа числом

Пример:

chmod 764 myfile

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

  • Первая цифра используется для указания прав доступа для пользователя.
  • Вторая цифра для группы.
  • Третья для всех остальных.

В таблице ниже приводятся все возможные комбинации разрешений rwx и соответсвующие им числа (которые используются в команде chmod):

разрешения отсутствуют
1 x — запуск –x
2 w — изменение -w-
3 x+w — запуск+изменение -wx
4 r — чтение r–
5 r+x — чтение+запуск r-x
6 r+w — чтение+изменение rw-
7 r+w+x — чтение+изменение+запуск rwx

Рассмотрим использование команды chmod с записью прав доступа числом на примере. Установим для файла права доступа 764:

chmod 764 myfile

Это означает (см. таблицу выше), что для файла myfile мы устанавливаем права доступа 764, которые означают:

  • 7 — права для владельца-пользователя. Владелец файла может читать, изменять и запускать файл (r+w+x).
  • 6 — права для группы. Пользователи, которые принадлежат группе могут читать и изменять файл (r+w).
  • 4 — права для всех остальных. Все остальные могут только читать файл (r).

Если записать 764 с помощью символов (см. таблицу), то мы получим: «rwxrw-r-».

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

400 -r——– Владелец файла может только читать файл. Для всех остальных все действия с файлом запрещены.
644 -rw-r–r– Все пользователи могут читать файл. Владелец может изменять файл.
660 -rw-rw—- Владелец и группа могут читать и изменять файл. Для всех остальных все действия с файлом запрещены.
664 -rw-rw-r– Все могут читать файл. Владелец и группа могут изменять.
666 -rw-rw-rw- Все могут читать и изменять файл.
700 -rwx—— Владелец может читать, изменять и запускать файл. Для всех остальных все действия с файлом запрещены.
744 -rwxr–r– Все могут читать файл. Владелец может также изменять и запускать файл.
755 -rwxr-xr-x Все могут читать и запускать файл. Владелец может также изменять файл.
777 -rwxrwxrwx Все пользователи могут читать, изменять и редактировать файл.

Запись прав доступа символами

Примеры:

chmod +x myfile1
chmod g=rw myfile2
chmod u-w myfile3

Как вы можете видеть, в данном формате права доступа задаются символами rwx, но в синтаксисе используются и другие вспомогательные символы, например, математические операции «+» и «-» и такие символы как, например, «g» или «u».

Общий синтаксис можно записать примерно так:

chmod (владелец)(математическая операция)(разрешения) имя_файла

Обозначения для владельцев файла следующие:

u Владелец-пользователь.
g Группа.
o Все остальные.
a Вообще все.

Математические операции означают следующее:

+ Добавляет к текущим правам доступа новое разрешение.
Удаляет из текущих прав доступа определенное разрешение.
= Устанавливает полностью новые разрешения (предыдущие перезаписываются новыми).

В одной команде можно перечислять владельцев и их разрешения через запятую (см. пример ниже).

Рассмотрим примеры:

  • chmod +x myfile1

    В данном случае мы не используем обозначения для владельцев, а значит разрешения устанавливаются для всех пользователей. «+x» означает — установить разрешение на запуск (x) файла для всех пользователей. Это эквивалентно выполнению команды: chmod a+x myfile1.

  • chmod g=rw myfile2

    Здесь используется обозначение g и символ равенства «=». Это означает, что для группы мы устанавливаем права доступа на чтение и запись файла (rw).

  • chmod u-w myfile3

    Для владельца файла (u) мы удаляем разрешение на изменение (w) файла.

  • chmod ug+x myfile2

    Разрешаем владельцу (u) и группе (g) запускать файл (x).

  • chmod u+x,g-w,o-r myfile3

    Это как раз тот случай, когда мы перечисляем владельцев через запятую и устанавливаем для них разрешения. Для владельца файла (u) мы разрешаем запуск файла, для группы (g) мы запрещаем изменять файл, для всех остальных (o) мы запрещаем читать файл.

Рекурсивное изменение прав доступа

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

chmod -R 644 Mydir

И еще один момент. Если пользователь не является владельцем файла, но ему нужно изменить права доступа у данного файла, то команду chmod необходимо выполнять с использованием sudo, например:

sudo chmod 644 file

Условные обозначения прав доступа и пользователей в chmod

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

Каждую восьмеричную цифру можно представить как три двоичные цифры. Три цифры соответствуют трём параметрам режима доступа: чтение, запись, выполнение. Поэтому права доступа можно представить в виде трёх двоичных цифр, которые можно записать как одну восьмеричную цифру.

Следующая таблица поможет вам понять, что имеется ввиду.

Восьмеричное число Двоичное число Файловый режим
000
1 001 —x
2 010 -w-
3 011 -wx
4 100 r—
5 101 r-x
6 110 rw-
7 111 rwx

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

> foo.txt

ls -l foo.txt
-rw-rw-r-- 1 me me 0 2008-03-06 14:52 foo.txt

chmod 600 foo.txt

ls -l foo.txt
-rw------- 1 me me 0 2008-03-06 14:52 foo.txt

Передав аргумент «600», мы смогли установить разрешения владельца на чтение и запись, удалив при этом все разрешения группы владельца и всех остальных. Хотя запоминание восьмеричного бинарного отображения может показаться неудобным, вам обычно нужно использовать только несколько часто используемых: 7 (rwx), 6 (rw-), 5 (r-x), 4 (r—) и 0 (—).

Либо можно запомнить значение одиночных прав доступа и складывать их значения для получения любых комбинаций: 4 (r—), 2 (-w-), 1 (—x). После того, как вы их запомнили, можно получить любую комбинацию, для прав чтения и записи это 6 (4+2) (rw-), для прав записи и выполнения это 3 (2+1) (-wx), для прав чтения и выполнения это 5 (4+1) (r-x)

chmod также поддерживает символическую запись для указания режимов файлов. Символическая запись делится на три части: на кого повлияет изменение, какая операция будет выполнена и какое разрешение будет установлено. Чтобы указать, на кого это влияет, комбинация символов «u», «g», «o» и «a» используется следующим образом:

Символ Значение
u

Сокращение от «пользователь», но означает владельца файла или каталога.

g

Группа владельцев.

o

Сокращение от «других», но означает все остальные.

a

Сокращено от «все». Сочетание «u», «g» и «o».

Если символ не указан, будет принято «все». Операция может быть «+», указывающим, что разрешение должно быть добавлено, «-», указывающим, что разрешение должно быть удалено, или «=», указывающим, что должны применяться только указанные разрешения, и что все остальные должны быть удалены.

Права доступа указываются символами «r», «w» и «x». Вот несколько примеров символической записи:

Обозначение Значение
u+x Добавить разрешение на выполнение для владельца.
u-x Удалить разрешение на выполнение от владельца.
+x Добавить разрешение на выполнение для владельца, группы и всех остальных. Эквивалент a+x.
o-rw Удалить права на чтение и запись у любого пользователя, кроме владельца и группы владельцев.
go=rw Установить для группы владельцев и всех, кроме владельца, права на чтение и запись. Если владелец группы или все остальные ранее имели разрешения на выполнение, эти разрешения удаляются.
u+x,go=rx Добавить разрешение на выполнение для владельца и установить разрешения на чтение и выполнение для группы и других пользователей. Несколько записей могут быть разделены запятыми.

Некоторые люди предпочитают использовать восьмеричные обозначения, некоторые люди любят символические. Символьная нотация даёт преимущество, заключающееся в том, что вы можете установить один атрибут, не мешая другим.

Как работают права доступа

Есть 3 вида разрешений. Они определяют права пользователя на 3 действия: чтение, запись и выполнение. В Linux эти действия обозначаются вот так:

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

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

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

Как узнать разрешения файла

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

1. : ls -l /home/karpaff/linuxtutorialwork/chick.png2. -rwxr----x 1 harry users 2.7K Jan 4 07:32 /home/karpaff/linuxtutorialwork/chick.png3. :

В приведенном выше примере первые 10 символов вывода показывают разрешения файла. 

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

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

Как изменить права доступа

Для изменения прав доступа к файлу или каталога используется команда (от англ. change mode). Эта команда меняет биты режима файла — если совсем просто, это индикатор разрешений. 

Аргументы команды , отвечающие за разрешение, состоят из 3 компонентов:

  • Для кого мы меняем разрешение? Обозначается первыми буквами слов: — user (пользователь, он же владелец), group (группа), others (другие), all (все). 
  • Мы предоставляет или отзываем разрешения? Обозначается плюсом , если предоставляем, минусом , если отзываем. 
  • Какое разрешение мы хотим изменить? Чтение (r), запись (w), выполнение (x). 

Разберем на примере. Давайте дадим группе разрешение на выполнение, а затем отзовем разрешение на запись для владельца.

1. : ls -l chick.png2. -rwxr ---- x 1 harry users 2.7K 4 янв 07:32 chick.png3. user:4. : chmod g + x chick.png5. : ls -l chick.png6. -rwxr-x - x 1 harry users 2.7K 4 янв 07:32 chick.png7. :8. : chmod uw chick.png9. : ls -l chick.png10. -r-xr-x - x 1 harry users 2.7K 4 янв 07:32 chick.png11. :

Права доступа необязательно выдавать индивидуально. Можно назначить сразу несколько разрешений.

1. : ls -l chick.png2. -rwxr ---- x 1 harry users 2.7K Jan 4 07:32 chick.png3. :4. : chmod g + wx chick.png5. : ls -l chick.png6. -rwxrwx - x 1 harry users 2.7K Jan 4 07:32 chick.png7. :8. : chmod go-x chick.png9. : ls -l chick.png10. -rwxrw ---- 1 harry users 2,7K Jan 4 07:32 chick.png11. :

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

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

Короткая форма записи прав

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

Вспомним восьмеричную систему

Чтобы понять, как работает этот сокращенный метод, давайте освежим знания по системам счисления. 

Мы используем десятичную систему счисления, в которой 10 цифр: от 0 до 9. Еще есть восьмеричная система счисления, в которой используется 8 цифр: от 0 до 7. 

Разрешений — 3 вида, каждый кодируется 1 (разрешение есть) или 0 (разрешения нет). Поэтому для кодирования всех разрешений требуется 23 = 8 комбинаций. Соответственно, для записи каждого разрешения используется восьмеричная система счислений. Числа восьмеричной системы счисления можно представить в двоичной системе, в которой всего две цифры: 0 и 1. Вот, как восьмеричные числа выглядят в двоичной с. с.

Специальные права доступа к файлам в Linux

Для того, чтобы позволить обычным пользователям выполнять программы от имени суперпользователя без знания его пароля была придумана такая вещь, как SUID и SGID биты. Рассмотрим эти полномочия подробнее.

  • SUID — если этот бит установлен, то при выполнении программы, id пользователя, от которого она запущена заменяется на id владельца файла. Фактически, это позволяет обычным пользователям запускать программы от имени суперпользователя;
  • SGID — этот флаг работает аналогичным образом, только разница в том, что пользователь считается членом группы, с которой связан файл, а не групп, к которым он действительно принадлежит. Если SGID флаг установлен на каталог, все файлы, созданные в нем, будут связаны с группой каталога, а не пользователя. Такое поведение используется для организации общих папок;
  • Sticky-bit — этот бит тоже используется для создания общих папок. Если он установлен, то пользователи могут только создавать, читать и выполнять файлы, но не могут удалять файлы, принадлежащие другим пользователям.

Теперь давайте рассмотрим как посмотреть и изменить права на файлы в Linux.

Права и владельцы

В операционной системе UNIX были сформулированы некоторые общие идеи и принципы, которые оказали в дальнейшем сильное влияние на её архитектуру, пользовательский интерфейс, культуру и развитие. В частности, один из основополагающих принципов выражается мантрой «всё есть файл», которую часто называют определяющим пунктом UNIX в целом.
Суть данного принципа заключается в создании унифицированного способа доступа к широкому диапазону ресурсов ввода/вывода: к документам, каталогам, жёстким дискам, дискам CD-ROM, модемам, клавиатурам, принтерам, мониторам, терминалам и даже межпроцессным и сетевым взаимодействиям. Цель — предоставление универсальной абстракции для каждого из этих объектов, названных отцами-оснвоателями UNIX общим термином «файл». Поскольку доступ к файлу осуществляется с помощью одного и того же API, стало возможно использовать одинаковый набор базовых команд для чтения и записи таких разнородных устройств, как диск, клавиатура, документ или сетевой интерфейс.
Абстракция файла, существующая в операционной системе UNIX и совместимых с ней системах, является основополагающей и всеобъемлющей. Любая системная служба и интерфейс устройства теперь могут реализовываться так, чтобы предоставлять другим приложениям метафору файла или файловой системы. Это открывает новые способы их использования и значительно расширяет возможности существующих приложений — простые инструменты, разработанные для решения узких задач, теперь, вооружившись абстракцией файла UNIX, могут использоваться совершенно по-новому. Небольшая утилита вроде cat, предназначенная для считываения одного или нескольких файлов и вывода их содержимого на стандартный поток вывода, теперь может выполнять чтение с устройств ввода-вывода с помощью специальных файлов устройств, как правило расположенных в каталоге . С другой стороны, во многих системах запись и проигрываение звука теперь выполняется всего лишь командами «» и «» соответственно.

В GNU/Linux каждый файл принадлежит какому-то пользователю и группе. Существует три типа прав доступа — чтение, запись и исполнение. Права доступа задаются по отдельности для владельца-пользователя, владельца-группы, и для прочих пользователей, которые не входят в первые две категории. Владельцев файла и права доступа можно узнать с помощью «длинного» формата команды :

$ ls -l /boot/
total 13740
drwxr-xr-x 2 root root    4096 Jan 12 00:33 grub
-rw-r--r-- 1 root root 8570335 Jan 12 00:33 initramfs-linux-fallback.img
-rw-r--r-- 1 root root 1821573 Jan 12 00:31 initramfs-linux.img
-rw-r--r-- 1 root root 1457315 Jan  8 08:19 System.map26
-rw-r--r-- 1 root root 2209920 Jan  8 08:19 vmlinuz-linux

Первая колонка содержит права доступа к файлу (например, правами файла являются ). Третья и четвёртая колонки содержат соответственно пользователя и группу, которым принадлежит файл. В этом примере все файлы принадлежат пользователю root и группе root.

$ ls -l /media/
total 16
drwxrwx--- 1 root vboxsf 16384 Jan 29 11:02 sf_Shared

В этом примере каталог принадлежит пользователю root и группе vboxsf. Владельца и права доступа можно также определить утилитой stat.

Пользователь-владелец:

$ stat -c %U /media/sf_Shared/
root

Группа-владелец:

$ stat -c %G /media/sf_Shared/
vboxsf

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

$ stat -c %A /media/sf_Shared/
drwxrwx---

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

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

# find / -group имя_группы
# find / -group номер_группы
# find / -user имя_пользователя

Изменить владельцев файла можно командой chown, а права доступа меняются командой chmod:

Настя и сборник весёлых историй

Настя и сборник весёлых историй

В этом руководстве мы расскажем, как добавить пользователя в группу в системах Linux. Мы также покажем вам, как удалить пользователя из группы и как создавать, удалять и перечислять группы.

Linux группы

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

В операционных системах Linux существует два типа групп:

Основная группа — когда пользователь создает файл, для группы файла устанавливается основная группа пользователя. Обычно имя группы совпадает с именем пользователя. Информация о первичной группе пользователя хранится в /etc/passwd .
Вторичная или дополнительная группа — полезно, если вы хотите предоставить определенные права доступа к файлам группе пользователей, которые являются членами группы. Например, если вы добавите определенного пользователя в группу docker, он унаследует права доступа от группы и сможет выполнять команды Docker.

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

Только root или пользователи с доступом могут добавить пользователя в группу.

Как добавить существующего пользователя в группу

Чтобы добавить существующего пользователя во вторичную группу, используйте команду следует за именем группы и пользователем:

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

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

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

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

В следующем примере мы удаляем из группы :

Как изменить основную группу пользователя

Чтобы изменить основную группу пользователей, используйте команду а затем опцию :

В следующем примере мы меняем основную группу пользователя на :

Как создать нового пользователя и назначить группы в одной команде

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

Показать группы пользователей

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

Из вышеприведенных выводов мы видим, что основная группа пользователей — это и она относится к дополнительным группам , , , и .

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

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

Вывод

В этом уроке мы показали, как добавить пользователя в группу.

Те же команды применимы для любого дистрибутива Linux, включая Ubuntu, CentOS, RHEL, Debian и Linux Mint.

Не стесняйтесь оставлять комментарии, если у вас есть какие-либо вопросы.

группа пользователей терминала

В CentOS у вас есть два варианта предоставления доступа sudo пользователю. Первый — добавить пользователя в файл sudoers. Второй вариант — добавить пользователя в группу wheel.

Файл sudoers содержит набор правил, которые определяют, каким пользователям или группам предоставляются привилегии sudo, а также уровень привилегий.

В Ubuntu самый простой способ предоставить пользователю права sudo — добавить пользователя в группу sudo. Члены этой группы смогут выполнять любую команду от имени root через sudo.

Руководящие группы

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

Можно выполнить управление Группы на Ubuntu 18 только через командную строку.

Добавление группы

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

$ sudo addgroup 

Пример:

Новая группа будет создана, и уникальный идентификатор группы (GID) будет присвоен ей.

Добавление пользователей группе

Можно добавить уже существующего пользователя к группе посредством следующей команды:

$ sudo adduser  

Пример:

Просмотр информации о группе

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

$ groups username

Можно использовать следующую команду для списка элементов группы наряду с их ЦЕНУРОЗАМИ

$ id username

Вывод ценуроза представляет основную группу, присвоенную пользователю. Читайте далее для знания то, что является основной и вторичной группой.

Изменение основной группы пользователя

Пользователь может быть частью один или несколько групп; один из него являющийся основной группой и другие — вторичные группы. В выводе идентификационной команды ценуроз указывает на основную группу пользователя. Для изменения основной группы пользователя используйте следующую команду:

$ sudo usermod -g  

Пример:

Можно теперь видеть, что новый gip, выбранный посредством идентификационной команды, является gip недавно присвоенной основной группы.

Присвоение группы при создании пользователя

Можно присвоить группу пользователю одновременно при создании нового пользователя следующим образом:

$ sudo useradd -G  

Пример:

Набор или изменение пароль для пользователя

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

$ sudo passwd 

Пример:

У нового пользователя теперь будет пароль.

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

Можно перечислить все группы, находящиеся в системе посредством следующей команды:

$ sudo getent group

Удаление группы

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

$ sudo delgroup 

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

Вариант 1 — Изменение прав доступа с помощью Файлового Менеджера

Для начала вам необходимо войти в Файловый Менеджер.

  1. Войдите в панель управления Hostinger и нажмите на иконку
    Файловый Менеджер
    в разделе
    Файлы
    .
  1. Далее кликните правой кнопкой мыши на файле или папке для которой вам необходимо поменять права доступа и выберите опцию
    Разрешения
    .

  1. В открывшемся окне установите необходимые права и нажмите
    Изменить
    .

При включении опции
Рекурсивно
такие же права доступа будут установлены для всех файлов и папок внутри нее.

Слева в графе
По-умолчанию
показываются стандартные права доступа для папки.

Справа в графе
Изменения
показываются права доступа которые будут установлены после изменения.

Значения прав представлены как в буквенном, так и числовом формате.

drwxr

xr

x
(755
)

  • d – означает тип файла, то есть каталог.
  • rwx – все права доступа для владельца.
  • r-x – права на чтение и выполнение для группы владельца.
  • r-x – такие же права для всех остальных.

Шаг 3 – Использование дополнительных опций с командами chmod и chown

Одна из основных опций работающая с обеими командами это -R, которая означает рекурсивный. Эта опция позволяет вам менять права доступа и владельца файла, заданной папки и ВСЕХ других файлов внутри нее.

ВАЖНО! Будьте очень осторожны с этой опцией, если вы используете ее неправильно, вы можете изменить права доступа и владельца ВСЕХ файлов в вашей системе, что приведет к ошибкам в работе и трате огромного количества времени на откат изменений

  • “-f” – тихая или силовая опция. При использовании данной опции скроет большинство сообщений об ошибках.
  • “-v” – делает диагностику каждого файла затронутого командой.
  • “-c” – схожа с опцией -v, но предоставляет информацию только в случае реальных изменений.

Использование команды в числовом виде

Права записываются одной строкой сразу для трёх типов пользователей:

  • владельца файла (u);
  • других пользователей, входящих в группу владельца (g);
  • всех прочих пользователей (o);

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

Пример: в числовом виде, установить права rwx-rx-rx:

chmod 755 filename

Пример — значение права «755»
владелец группа остальные
восьмеричное значение 7 5 5
символьная запись rwx r-x r-x
обозначение типа пользователя u g o

Таким образом, права «755» записываются в символьном виде как «rwxr-xr-x». При этом для понимания сути задания прав в Unix-системах полезно знать представление чисел в двоичной системе счисления.

Три варианта записи прав пользователя
двоичная восьмеричная символьная права на файл права на директорию
000 --- нет нет
001 1 --x выполнение чтение файлов и их свойств
010 2 -w- запись нет
011 3 -wx запись и выполнение всё, кроме чтения списка файлов
100 4 r-- чтение чтение имён файлов
101 5 r-x чтение и выполнение доступ на чтение
110 6 rw- чтение и запись чтение имён файлов
111 7 rwx все права все права

Часть разрешений имеет смысл только в сочетании с другими. Из первых четырёх пунктов (не дающих права на чтение файла) для файлов обычно используется только «—», то есть полный запрет доступа к файлу данному типу пользователей. Для директорий из всего списка обычно применяются только 0, 5 и 7 — запрет, чтение и выполнение, и полный доступ.

Суммировав эти коды для трёх типов пользователей, можно получить числовую или символьную запись. Например, chmod 444 {имяфайла}: 400+40+4=444 — все имеют право только на чтение (идентично «r—r—r—»).

Помимо стандартных разрешений ‘rwx’, команда chmod осуществляет также управление битами SGID, SUID и T. Установленные атрибуты SUID или SGID позволяют запускать файл на выполнение с правами владельца файла или группы соответственно.

Для SUID вес — 4000, а для SGID — 2000. Данные атрибуты имеют смысл при установленном соответствующем бите исполнения и обозначаются при символьной записи буквой «s»: «rwsrwxrwx» и «rwxrwsrwx» соответственно.

Пример: chmod 4555 {имяфайла} — все имеют право на чтение и выполнение, но запускаться файл на исполнение будет с правами владельца.

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

t-бит используется только с директориями. Когда t-бит для директории не установлен, файл в данной директории может удалить любой пользователь, имеющий доступ на запись к данному файлу. Устанавливая t-бит на директорию, мы меняем это правило таким образом, что удалить файл может только владелец этого файла. Следуя приведённой выше кодировке, t-бит имеет вес 1000.

Примечание: Право на запись даёт пользователю возможность записывать или изменять файл, а право на запись для каталога — возможность создавать новые файлы или удалять файлы из этого каталога. Если на каталоге стоит возможность записи (w), то файл внутри этого каталога можно будет удалить, даже если право на запись для него не установлено. (В соответствии с концепцией файловой системы POSIX).

Популярные значения

400 (-r--------)
Владелец имеет право чтения; никто другой не имеет права выполнять никакие действия
644 (-rw-r--r--)
Все пользователи имеют право чтения; владелец может редактировать
660 (-rw-rw----)
Владелец и группа могут читать и редактировать; остальные не имеют права выполнять никаких действий
664 (-rw-rw-r--)
Все пользователи имеют право чтения; владелец и группа могут редактировать
666 (-rw-rw-rw-)
Все пользователи могут читать и редактировать
700 (-rwx------)
Владелец может читать, записывать и запускать на выполнение; никто другой не имеет права выполнять никакие действия
744 (-rwxr--r--)
Каждый пользователь может читать, владелец имеет право редактировать и запускать на выполнение
755 (-rwxr-xr-x)
Каждый пользователь имеет право читать и запускать на выполнение; владелец может редактировать
777 (-rwxrwxrwx)
Каждый пользователь может читать, редактировать и запускать на выполнение
1555 (-r-xr-xr-t)
Каждый пользователь имеет право читать и запускать на выполнение; удалить файл может только владелец этого файла
2555 (-r-xr-sr-x)
Каждый пользователь имеет право читать и запускать на выполнение с правами группы(user group) владельца файла
4555 (-r-sr-xr-x)
Каждый пользователь имеет право читать и запускать на выполнение с правами владельца файла

Права доступа 777 — что это?

Базовый принцип способа распределения доступа включает в себя существование обязательных атрибутов, таких как имена пользователей системы, а также их групп. Почти очевидным является тот факт, что в Linux у каждого юзера может быть только одно имя, которое должно быть уникально в рамках этой системы. С помощью никнейма пользователь входит в систему, то есть проходит авторизацию. Помимо этого, операционка содержит конечное число групп пользователей. Каждый из них может входить в состав одной или нескольких групп. Редактировать свойства, создавать и удалять группы может суперпользовать — root. Участники различных групп имеют различные права для действий в системе. Так, например, администратор владеет большими правами, чем гость.

Использование правильного режима разрешения очень важно. Авторы могут создавать новые записи в блогах, но они могут не добавлять плагины

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

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

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

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

Шаг 1 — Изменение прав доступа к файлам и папкам через командную строку

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

Каждый тип разрешений имеет свой собственный номер. Мы должны написать эту команду. В принципе, каждое число в этой команде представляет разрешения для одного из типов пользователя. Таким образом, первое число равно 7, теперь, используя объяснение значений чисел выше, единственный способ получить число 7 — это сложение чисел 4, 2 и 1, которое равно: 4 2 1 = Это первое число задает разрешения для владелец файла. Третье число — 6, с использованием приведенных выше значений чисел, единственный способ получить это число — добавить 4 и 2, что равно 4 2 = Итак, мы даем другим разрешение читать и записывать файл.

Подводя итоги

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

   В Linux-системах различают три категории пользователей, а именно: Владелец, Группа и Остальные/Другие.

   Права доступа к файлам подразделяются на права Чтения/Просмотра, Записи/Изменения и Выполнения, обозначаемые буквами , и .

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

   Команда может изменить владельца файла/каталога.

   Команда может изменить группу, владеющую файлом.

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Ваша ОС
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: