1

Когда вы запускаете команду ls в Linux, вы получаете такую вещь:

drwxr--r--   1 fred  editors   4096  drafts
-rw-r--r--   1 fred  editors  30405  file1.php
-r-xr-xr-x   1 fred  fred      8460  file2.php

Я знаю, что rwxrwxrwx - разрешения на чтение, запись и выполнение для текущего пользователя. И я думаю, что знаю, что «fred» - это пользователь, которому принадлежит файл. Поэтому я предполагаю, что Фред может писать в файл1, но никто другой не может. Но что такое дополнительный бит «редакторы» и в чем разница между file1 и file2 по отношению к одному, имеющему право собственности на «fred editors», и другому «fred fred»?

Также, если веб-пользователь подключается к одному из файлов, какое у него имя пользователя и где это решается? Если сервер решил, что пользователь, подключающийся из Интернета, будет Фред, означает ли это, что любой веб-пользователь может написать в file1?

Любая информация приветствуется, я изучаю это, но просто запутываюсь. Спасибо

2 ответа2

1

Второе поле, редакторы, это "группа". Нет двух пользователей с одинаковыми именами, но несколько пользователей могут входить в одну группу. Использование групп позволяет применять разрешения для нескольких пользователей. Для файлов file1 и file2, по сути, нет никакой разницы, потому что разрешения для "группы" и "другие" идентичны. Однако, если вместо этого у вас был rwxr -----, то тот, который имеет "editors", позволит всем редакторам читать файл, в то время как "fred" может читать и писать, в то время как второй дает только fred read/write/. выполнять права доступа, в то время как все остальные не смогут ничего сделать (при условии, что группа "fred" включает в себя только fred, что обычно имеет место ...), чтобы упростить механизм полномочий, обычно каждому пользователю назначается соответствующая группа для которые принадлежат только им, если группа не используется).

1

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

Имя пользователя веб-пользователя совпадает с именем пользователя, которое связано с запущенным процессом веб-сервера (обычно - это несколько настраивается).

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .