Разрешения, владелец, групповое наследование?
Я не понимаю ограничений с точки зрения вложенности каталогов. Например, /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--