Получив ответ на мой вопрос и проведя некоторое исследование результатов, я нашел статью, в которой все очень хорошо объясняется. Я хотел бы поделиться некоторыми частями этой статьи здесь для будущих ссылок.
Разрешения на просмотр
Чтобы chmod
изменить права доступа к файлу или каталогу, вам сначала необходимо узнать, какой режим доступа используется в данный момент. Вы можете просмотреть содержимое каталога в терминале по cd
этому каталогу, а затем использовать:
$ ls -l
-l
Переключатель имеет важное значение , потому что использование ls
без него будет отображать только имена файлов или папок в каталоге.
Ниже приведен пример использования ls -l
в моем домашнем каталоге:
total 128
drwxr-xr-x 2 peter users 4096 Jul 5 21:03 Desktop
drwxr-xr-x 6 peter users 4096 Jul 5 17:37 Documents
drwxr-xr-x 2 peter users 4096 Jul 5 13:45 Downloads
drwxr-xr-x 2 peter users 4096 Jun 24 03:36 Movies
drwxr-xr-x 2 peter users 4096 Jun 24 03:38 Music
drwxr-xr-x 2 peter users 4096 Jun 26 00:09 Pictures
-rw-r--r-- 1 peter users 354 Jul 6 17:15 chmodtest
Что означают столбцы
Первый столбец - это тип каждого файла:
-
обозначает нормальный файл.
d
обозначает каталог, то есть папку, содержащую другие файлы или папки.
p
обозначает именованный канал (он же FIFO).
l
обозначает символическую ссылку.
Буквы после этого обозначают права доступа, этот первый столбец - то, что нас больше всего интересует. Второй - сколько ссылок в файле, мы можем смело игнорировать его. Третий столбец имеет два значения / имени: Первый (в моем примере 'peter') - это имя пользователя, которому принадлежит файл. Второе значение (в данном примере «пользователи») - это группа, к которой принадлежит владелец (Подробнее о группах).
Следующий столбец - это размер файла или каталога в байтах и информация, после которой указаны даты и время последнего изменения файла или каталога, и, конечно же, имя файла или каталога.
Что означают разрешения
Первые три буквы, после первой -
или d
, - это разрешения, которые есть у владельца. Следующие три буквы - это разрешения, которые применяются к группе. Последние три буквы - это разрешения, которые применяются ко всем остальным.
Каждый набор из трех букв состоит из r
w
и x
. r
всегда в первой позиции, w
всегда во второй позиции и x
всегда в третьей позиции. r
это разрешение на чтение, это разрешение w
на запись и разрешение x
на выполнение. Если -
вместо одной из этих букв есть дефис ( ), это означает, что разрешение не предоставлено, а если письмо присутствует, оно предоставляется.
Папки
В случае папок биты режима можно интерпретировать следующим образом:
r
(чтение) означает способность читать оглавление данного каталога,
w
(запись) означает возможность записи оглавления данного каталога (создание новых файлов, папок; переименование, удаление существующих файлов, папок) тогда и только тогда, когда установлен бит выполнения. В противном случае это разрешение не имеет смысла.
x
(выполнить) означает возможность войти в данный каталог с помощью команды cd и получить доступ к файлам, папкам в этом каталоге.
Изменение прав доступа с помощью команды chmod
chmod
это команда в Linux и других Unix-подобных операционных системах. Это позволяет вам изменять права доступа (или режим доступа) к файлу или каталогу.
Вы можете изменить разрешения двумя различными способами: - на основе текста - на основе chmod
номераchmod
Текстовый метод
Чтобы изменить права доступа или режим доступа к файлу, мы используем команду chmod в терминале. Ниже приведена общая структура команды:
chmod who=permissions filename
Где Кто-нибудь из ряда букв, и каждое означает, кому вы собираетесь дать разрешение. Они заключаются в следующем:
u - The user that owns the file.
g - The group the file belongs to.
o - The other users i.e. everyone else.
a - all of the above - use this instead of having to type ugo.
Права доступа являются такими же , как уже обсуждалось ( r
, w
и x
).
Команда chmod позволяет нам добавлять и вычитать разрешения из существующего набора, используя + или - вместо =. Это отличается от приведенных выше команд, которые, по сути, переписывают разрешения (т. Е. Для изменения разрешения с r--
на rw-
, вам все равно нужно включить в команду, r
а также w
после нее . Если вы пропустили это , оно отнимает разрешение как они переписываются с помощью =. Использование + и - избегайте этого, добавляя или убирая из текущего набора разрешений).=
chmod
r
r
Числовой метод
chmod
Также можно установить разрешения, используя цифры.
Использование чисел - это еще один метод, который позволяет редактировать разрешения для всех трех владельцев, групп и других пользователей одновременно. Эта базовая структура кода такова:
chmod xxx file/directory
Где xxx - это трехзначное число, где каждая цифра может быть от 1 до 7. Первая цифра относится к разрешениям для владельца, вторая цифра относится к разрешениям для группы, а третья цифра применяется к разрешениям для всех остальных.
В этой числовой записи значения r, w и x имеют свои собственные числовые значения:
r=4
w=2
x=1
Чтобы придумать трехзначное число, вам нужно подумать, какие разрешения вы хотите иметь у владельца, группы и пользователя, а затем суммировать их значения. Например, скажем, я хотел предоставить владельцу каталога права на чтение и запись и выполнение, а я хотел, чтобы у группы и всех остальных были только права на чтение и выполнение. Я бы придумал числовые значения примерно так:
Owner: rwx = 4+2+1=7
Group: r-x = 4+0+1=5 (or just 4+1=5)
Other: r-x = 4+0+1=5 (or just 4+1=5)
Final number = 755
$ chmod 755 filename
Это эквивалентно использованию следующего:
chmod u=rwx filename
chmod go=rx filename
Для большинства папок / каталогов установлено значение 755, чтобы разрешить чтение и запись и выполнение владельцу, но запретить запись для всех остальных, а файлы обычно 644, чтобы разрешить чтение и запись для владельца, но только чтение для всех остальных, обратитесь к последнему обратите внимание на отсутствие разрешений x для неисполняемых файлов - здесь то же самое.