Разрешения на доступ к папке - как они работают? [дубликат]

Интересно, почему, когда какая-то папка имеет разрешения на чтение или на чтение и запись для GROUP (или других ), члены ГРУППЫ (или другие ) не могут получить доступ к этой папке?

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

Исходные обстоятельства

1. Есть два пользователя: admin и guest .

2. Есть папка с именем / var / www / test-dir :

$ getfacl -pt /var/www/test-dir/
# file: /var/www/test-dir/
USER   root      rwx
GROUP  admin     r-x
other            r-x

3. В рамках этих разрешений все пользователи могут получить доступ к папке:

  • USER root rwx (7) может получить доступ к папке.

  • GROUP admin r-x (5) может получить доступ к папке.

  • другой гость r-x (5) может получить доступ к папке.

     guest @ host: ~ $ cd / var / www / test-dir / 
    guest @ host: / var / www / test-dir $ ࢒ 
     

Случаи

Случай 1: другой имеет разрешения r - , но администратор не может получить доступ к папке:

root@host:~# chmod 574 /var/www/test-dir/
  • USER root rx (5) is может получить доступ к папке.

  • GROUP admin rwx (7) может получить доступ к папке.

  • другой гость r-- (4) не может получить доступ к папке.

     guest @ host: ~ $ cd / var / www / test-dir 
    bash: cd: / var / www / test-dir /: В доступе отказано 
     

Случай 2: другой имеет разрешения rw- , но гость не может получить доступ к папке:

root@host:~# chmod 656 /var/www/test-dir/
  • USER root rw- (6) может для доступа к папке.

  • GROUP admin r-x (5) может получить доступ к папке.

  • другой гость rw- (6) не может получить доступ к папке:


Случай 3: ГРУППА имеет разрешения r - но admin не может получить доступ к папке:

root@host:~# chmod 745 /var/www/test-dir/
  • USER root rwx (7) может получить доступ к папке.

  • Администратор ГРУППЫ r-- (4) не может получить доступ к папке.

  • другой гость r-x (5) может получить доступ к папке.


Случай 4: ГРУППА имеет разрешения rw- , но администратор не может получить доступ к папке:

root@host:~# chmod 467 /var/www/test-dir/
  • USER root r-- (4) может получить доступ к папке.

  • Администратор группы rw- (6) не может получить доступ к папке.

  • другой гость rwx (7) может получить доступ к папке.

0
задан 10 May 2017 в 17:12

2 ответа

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

  • r : Можно ли перечислить содержимое каталога (например, с ls )?
  • w : Можно ли изменить каталог (новый добавлены файлы, файлы удалены, переименованы и т. д.)?
  • x : Можно ли получить доступ к каталогу с помощью cd и т.п.?

r Разрешение не требует установки x для папки (вы можете ls и r - папка сколько хотите), но вы не будете может видеть что-либо, кроме имен файлов:

ls: cannot access 'test/..': Permission denied
ls: cannot access 'test/.': Permission denied
ls: cannot access 'test/file': Permission denied
total 0
d????????? ? ? ? ?            ? ./
d????????? ? ? ? ?            ? ../
-????????? ? ? ? ?            ? file

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

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

См. Arch wiki для некоторых хороших примеров разрешений для каталогов.

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

3
ответ дан 3 November 2019 в 06:43

Вы должны быть root или иметь разрешение на выполнение ('x') для доступа к папке.

0
ответ дан 3 November 2019 в 06:43

Другие вопросы по тегам:

Похожие вопросы: