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

3

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

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

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

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

  • /var - какие разрешения? что такое владелец и группа?
  • /var/www - какие разрешения? что такое владелец и группа?
  • /var/www/folder1 - какие разрешения? что такое владелец и группа?
  • /var/www/folder/folder2/ - какие разрешения? что являются владельцем и группа?
  • /var/www/folder/folder2/index.html - какие разрешения? что владелец и группа?
задан Green 23.07.2015 в 06:37
источник

2 ответа

3

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

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

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

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

Также вы должны различать разрешения для папки itslef или файлов внутри. например, вы запрашиваете разрешения / var. Итак, что / var вы имеете в виду? вы имеете в виду каталог itslef или также включенные файлы. Любой возьмем его как пример, чтобы объяснить то, что я сказал раньше. посмотрим, что включает / 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

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

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

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

    
ответ дан Maythux 23.07.2015 в 07:30
2

Выполните 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--

    
ответ дан mchid 23.07.2015 в 07:39