Страница 1 из 2

Как nginx получает доступ к каталогам пользователей?

СообщениеДобавлено: Ср авг 12, 2015 5:33 pm
jeltoesolnce
Добрый день.

Озадачился вопросом, как nginx получает доступ к каталогам пользователей, если он запускается под пользователем www? Понятно, что php-fpm запускается от нужных пользоватетей, но nginx же должен отдавать статику самостоятельно - но каким образом, если он запущен от пользователя www?

Re: Как nginx получает доступ к каталогам пользователей?

СообщениеДобавлено: Ср авг 12, 2015 5:43 pm
ls
У других пользователей (в том числе у www) есть права заходить в папки так как они не входят в группу mgrsecure и права стоят 705 или 701 для них

Re: Как nginx получает доступ к каталогам пользователей?

СообщениеДобавлено: Ср авг 12, 2015 5:48 pm
jeltoesolnce
Так, хорошо. А я, вот, себе поставил nginx на десктоп - у меня там такая же система и почти один в один настройки, но у меня нет группы mgsecure, но nginx отдаёт статику с моего домашнего каталога. Если нет пользователя - отдаёт, если www - то же отдаёт.

Re: Как nginx получает доступ к каталогам пользователей?

СообщениеДобавлено: Чт авг 13, 2015 10:32 am
swg
https://ru.wikipedia.org/wiki/Chmod
Права настраиваются для:
u user Владелец файла
g group Пользователи, входящие в группу владельца файла
o others Остальные пользователи
-
Если последние могут читать и выполнять (=открывать директории), то ... очевидно.

Re: Как nginx получает доступ к каталогам пользователей?

СообщениеДобавлено: Чт авг 13, 2015 10:36 am
Esthete
Значит пользователю, под которым работает nginx доступны для чтения файлы, которые находятся в вашей домашней папке.
Проверяйте, кто владелец файлов (какой пользователь и группа), почитайте раздел "Права доступа" (он небольшой и с картинками) из этой статьи - http://www.openspin.org/materials/cours ... 02s02.html

Re: Как nginx получает доступ к каталогам пользователей?

СообщениеДобавлено: Чт авг 13, 2015 12:42 pm
jeltoesolnce
Большое спасибо. Особенно помогли картинки. Но вот в чём загвоздка:
1. Сервер без панели ISPmanager;
2. nginx запущен под пользователем www;
3. пользователь www _не_имеет доступа к домашним каталогам пользоватлей;
4. к домашним каталогам пользователя имеет доступ только владелец (за исключением пользователя root, конечно);
5. PHP-скрипты обрабатывает FastCGI-server в многопользовательском режиме.

C php-скриптами всё понятно. До сих пор непонятно, как попадает в домашнюю папку любого пользователя nginx???

Re: Как nginx получает доступ к каталогам пользователей?

СообщениеДобавлено: Чт авг 13, 2015 12:43 pm
jeltoesolnce
Во всяком случае, пользователь www не должен иметь доступа к домашним папкам пользователя, потому что я ему этот доступ не предоставлял..

Re: Как nginx получает доступ к каталогам пользователей?

СообщениеДобавлено: Чт авг 13, 2015 1:40 pm
swg
(1) >> 2. nginx запущен под пользователем www;
Вы уверенны?

(2) Покажите ls -l /home ; и такой же ls -l директории где начинаются сайты (т.е. чтобы в списке ls оказалась директория в которой лежит индексный файл)

(3) >> Во всяком случае, пользователь www не должен иметь доступа к домашним папкам пользователя, потому что я ему этот доступ не предоставлял..
Этого явно недостаточно.

Re: Как nginx получает доступ к каталогам пользователей?

СообщениеДобавлено: Чт авг 13, 2015 1:45 pm
jeltoesolnce
root@shumbely:/home # ls -l
total 80
dr-x-----x 3 autolight 1001 512 Jun 4 2014 autolight
dr-x-----x 3 csi-georgenburg 1001 512 Jul 6 2012 csi-georgenburg
dr-x-----x 3 dikiy 1001 512 Jul 6 2012 dikiy
pc.php
root@shumbely:/home/autolight/data/www/xn--39-6kcaj7bmx9ae.xn--p1ai # ll
total 1020
-rw-r--r-- 1 autolight autolight 236 Aug 8 2014 .htaccess
-rw-r--r-- 1 autolight autolight 13 Jul 9 2014 52b9707e9566.html
-rw-r--r-- 1 autolight autolight 508907 Jul 8 2014 autolight39_rf.sql
-rwxr-xr-x 1 autolight autolight 921 Jul 7 2014 index.html*
-rw-r--r-- 1 autolight autolight 418 Jul 7 2014 index.php
-rw-r--r-- 1 autolight autolight 19930 Mar 4 20:28 license.txt
-rw-r--r-- 1 autolight autolight 7195 Aug 4 17:36 readme.html
-rw------- 1 autolight autolight 136197 Jan 22 2015 webdomain-autolight-69.tbk
-rw------- 1 autolight autolight 138870 Mar 16 03:23 webdomain-autolight-72.tbk
drwxr-x--x 2 autolight autolight 512 Jun 9 2014 webstat/
-rw-r--r-- 1 autolight autolight 4951 Dec 10 2014 wp-activate.php
drwxr-xr-x 9 autolight autolight 2560 Feb 19 2014 wp-admin/
-rw-r--r-- 1 autolight autolight 271 Jul 7 2014 wp-blog-header.php
-rw-r--r-- 1 autolight autolight 5008 Mar 4 20:28 wp-comments-post.php
-rw-r--r-- 1 autolight autolight 4205 Dec 10 2014 wp-config-sample.php
-rw-r--r-- 1 autolight autolight 4655 Apr 23 18:07 wp-config.php
drwxr-xr-x 8 autolight autolight 512 Aug 3 05:27 wp-content/
-rw-r--r-- 1 autolight autolight 2956 Dec 10 2014 wp-cron.php
drwxr-xr-x 12 autolight autolight 3584 Dec 10 2014 wp-includes/
-rw-r--r-- 1 autolight autolight 2380 Jul 7 2014 wp-links-opml.php
-rw-r--r-- 1 autolight autolight 2714 Dec 10 2014 wp-load.php
-rw-r--r-- 1 autolight autolight 33435 Mar 4 20:28 wp-login.php
-rw-r--r-- 1 autolight autolight 8252 Dec 10 2014 wp-mail.php
-rw-r--r-- 1 autolight autolight 11115 Dec 10 2014 wp-settings.php
-rw-r--r-- 1 autolight autolight 25152 Mar 4 20:28 wp-signup.php
-rw-r--r-- 1 autolight autolight 4035 Mar 4 20:28 wp-trackback.php
-rw-r--r-- 1 autolight autolight 3032 Jul 7 2014 xmlrpc.php
root@shumbely:/home/autolight/data/www/xn--39-6kcaj7bmx9ae.xn--p1ai #

Re: Как nginx получает доступ к каталогам пользователей?

СообщениеДобавлено: Чт авг 13, 2015 1:45 pm
jeltoesolnce
1001 - GID бывшей группы mgsecure. Сейчас запись об этой группе удалена из /etc/group.

Re: Как nginx получает доступ к каталогам пользователей?

СообщениеДобавлено: Чт авг 13, 2015 1:50 pm
jeltoesolnce
У nginx в nginx.conf стоит инструкция user www; top выдаёт запись о том, что nginx работает от пользователя www.

Re: Как nginx получает доступ к каталогам пользователей?

СообщениеДобавлено: Чт авг 13, 2015 1:55 pm
jeltoesolnce
root@shumbely:/home # ls -l
total 80
dr-x-----x 3 autolight autolight 512 Jun 4 2014 autolight
dr-x-----x 3 csi-georgenburg csi-georgenburg 512 Jul 6 2012 csi-georgenburg
dr-x-----x 3 dikiy dikiy 512 Jul 6 2012 dikiy

Для чистоты эксперимента.

Re: Как nginx получает доступ к каталогам пользователей?

СообщениеДобавлено: Чт авг 13, 2015 2:01 pm
swg
Ну по домашним директориям так просто не прогуляться.

А вот в /home/autolight/data/www/xn--39-6kcaj7bmx9ae.xn--p1ai/ все могут читать, т.е. любой пользователь по ssh может успешно сделать
cat /home/autolight/data/www/xn--39-6kcaj7bmx9ae.xn--p1ai/wp-settings.php , например.

ls -l /home/autolight/data/www/
У xn--39-6kcaj7bmx9ae.xn--p1ai какие права?

---

ps aux | grep nginx - никаких рутов?

Re: Как nginx получает доступ к каталогам пользователей?

СообщениеДобавлено: Чт авг 13, 2015 2:09 pm
jeltoesolnce
Мастер-процесс под рутом, остальные под www. Думаю, просто любой процесс может читать любой файл в любом каталоге пользователя просто из за файловой организации. Сейчас-ка я им права обрежу у other и проверю...

Re: Как nginx получает доступ к каталогам пользователей?

СообщениеДобавлено: Чт авг 13, 2015 2:15 pm
swg
>> Думаю, просто любой процесс может читать любой файл в любом каталоге пользователя
Да вы что. Это вам не FAT.