Разрешения, владелец, групповое наследование?

Я не понимаю ограничений с точки зрения вложенности каталогов. Например, /var/www/folder/index.html каталоги.

  • Какие разрешения, владелец, группа должны иметь каждый каталог и файл?
  • Есть ли здесь такая вещь, как наследование? Я имею в виду, влияют ли права доступа к каталогу external, owner, group на его внутренние каталоги и файлы?

Все ответы здесь объясняют разрешения только с точки зрения одного отдельного каталога и файла в нем. Никто не обращает внимания на наследство.

Например, я хочу настроить сервер Nginx для обслуживания /var/www/folder каталог и все его подкаталоги и файлы. Как я должен думать о разрешениях, владельцах, группах?

  • /var - какие разрешения? Что такое владелец и группа?
  • /var/www - какие разрешения? Что такое владелец и группа?
  • /var/www/folder1 - какие разрешения? Что такое владелец и группа?
  • /var/www/folder/folder2/ - какие разрешения? Что такое владелец и группа?
  • /var/www/folder/folder2/index.html - какие разрешения? Что такое владелец и группа?

2 ответа

Просто напоминание:

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


Вернуться к вашему вопросу:

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

Также вы должны различать разрешения для самой папки или файлов внутри. например, вы спрашиваете разрешения /var. Итак, что вы имеете в виду? Вы имеете в виду каталог его самого или также включенные файлы. Любой давайте возьмем это в качестве примера, чтобы объяснить, что я сказал раньше. давайте посмотрим, что / var включает.

$ ls -l /var
total 128
drwxr-xr-x   2 root root      4096 Jul 17 08:18 backups
drwxr-xr-x  27 root root      4096 Jun  2 13:01 cache
drwxrwsrwt   2 root whoopsie  4096 Jul 24  2014 crash
drwxr-xr-x   2 root root      4096 May 20  2014 games
drwxr-xr-x 107 root root      4096 Jul 14 12:25 lib
drwxrwsr-x   2 root staff     4096 Apr 19  2012 local
lrwxrwxrwx   1 root root         9 May 22 12:52 lock -> /run/lock
drwxr-xr-x  31 root root     12288 Jul 23 08:02 log
drwxrwsr-x   2 root mail      4096 Apr  7  2014 mail
drwxr-xr-x   3 root root      4096 Jun 20  2014 NX
drwxr-xr-x   2 root root      4096 Apr  7  2014 opt
-rw-r--r--   1 root root     65408 Jul  2 10:27 _r_udev_201310127.shm
lrwxrwxrwx   1 root root         4 May 22 12:52 run -> /run
drwxr-xr-x  14 root root      4096 Jun 17 20:29 spool
drwxrwxrwt   3 root root      4096 Jul 23 08:24 tmp
drwxrwxrwx   8 root root      4096 Jun  4 13:16 www
drwxr-xr-x   3 root root      4096 Jun 13 09:10 yp

Как видно из приведенного выше примера списка, есть несколько каталогов, таких как crash, local и mail, группа которых не является root!! Зачем? потому что то, что я сказал раньше, связано с использованием.

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

Посмотрите мой ответ /questions/12118/chto-oznachaet-755-razreshenij-v-samba-podelitsya/12131#12131 для получения дополнительной информации о разрешениях.

Выполнить ls -l чтобы перечислить права доступа, владельца и группу для всех файлов и каталогов в определенном каталоге:

ls -l /var
ls -l /var/www
ls -l /var/www/folder1
ls -l /var/www/folder/folder2

index.html будет включен в список содержимого последнего каталога, поэтому никакая команда не требуется.

Хотя, если вы хотите знать, кто владеет этим файлом и что у него есть разрешение:

ls -l /var/www/folder/folder2/index.html

Права доступа к файлам перечислены в следующем формате для файлов:

-rwxrwxrwx указывает права на чтение, запись и выполнение для всех.

для каталогов:

drwxrwxrwx

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

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

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

Вместе у вас есть -rwxrwxrwxтри группы букв с тремя буквами в каждой группе.

В следующем примере команды можно получить полное разрешение для владельца файла, только для чтения для других членов группы и только для чтения для любого другого пользователя (-rwxr--r--):

chmod 744 /var/www/folder/folder2/index.html

В качестве альтернативы, если вы хотите применить разрешения ко всем файлам и каталогам в определенном каталоге, используйте флаг -R для рекурсивного применения разрешений по всему каталогу:

chmod -R 744 /var/www/folder/folder2

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

chmod -R 744 /var/www/folder/folder2/*

Число 7 совпадает с rwx,

Число 6 совпадает с rw- и не разрешает выполнение.

Число 5 совпадает с r-x и не разрешает писать.

Число 4 совпадает с r-- только для чтения.

Число 3 совпадает с -wx и не разрешает читать.

Число 2 совпадает с -w- и только для записи.

Число 1 совпадает с --x и только для исполнения.

Одна общая комбинация - 664, которая дает чтение и запись владельцу и членам группы для файла, чтение только для всех других пользователей и отсутствие разрешения на выполнение файла: -rw-rw-r--

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