| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Perl: разработка для Web > права доступа |
| Автор: YahоО 1.4.2018, 12:55 |
| Прошу помощи в понимании вопроса о правах доступа для серверных файлов. 1 (- -x) — возможно только выполнение файла 2 (-w-) — возможна только запись в файл 3 (-wx) — только запись в файл и его выполнение 4 (r- -) — только чтение данных из файла 5 (r-x) — только чтение и выполнение файла 6 (rw-) — только чтение и запись в файл 7 (rwx) — полный доступ: возможно чтение, запись в файл и его запуск на выполнение. В браузер пользователя файл с сервера сайта может быть отправлен в текстовом виде "как есть" (707, 704), или предварительно выполнен (701). Как понимать остальные режимы? ( в большей степени интересуют режимы записи в файл, возможно ли это непосредственно из браузера пользователя? или с помощью perl пользователя, не сервера ) |
| Автор: _zorn_ 2.4.2018, 16:07 |
| x - для системы. Не имея этого аттрибута система не запустит файл (даже скрипт) на исполнения. Т.е. если ты В КОНСОЛЕ введешь ./script.pl - будет permission denied. НО вебсервер отдает по своим правилам. Так как тема в разделе perl - насколько помню в cgi-bin скрипты должны быть исполняемыми чтобы вебсервер мог их запустить. Ваше непонимание скорей всего потому что вы не различаете "текстовый файл" и "скрипт, вывод которого должен отдать браузер". И да, для того чтобы выполниться скрипт должен быть прочитан. Т.е. (--x) не имеет вообще никакого смысла. |
| Автор: YahоО 2.4.2018, 17:59 |
| вебсервер отдает по своим правилам - все так. Другими словами 707 и система (сервер) отправляет текстом тот файл что был в запросе клиента без какой либо попытки выполнить его. Если же 701 то файл будет выполнен, т.е. если это perl скрипт (и он выполняемый и не имеет ошибки) то система первоначально выполнит его и если результатом выполнения будет какое то сообщение в браузер клиента, то сервер отправит соответствующее сообщение (текстовое) с сервера клиенту. Но мой вопрос в другом - возможна ли запись с пк клиента по http или https путем запроса в файл расположенный на сервере, без использования каких либо скриптов из имеющихся на сервере? (дозапись / перезапись / запись в новый файл не по ftp, а используя исключительно http или https) Раньше такого вопроса у меня не было, но почему то вспомнились права доступа и например строка "2 (-w-) — возможна только запись в файл" |
| Автор: alezzz 2.4.2018, 19:16 |
| что такое 707, 701? хозяин-группа-все? почему 707 "отправляет ... без попытки выполнить"? |
| Автор: YahоО 2.4.2018, 23:40 |
| alezzz на моем сайте при запросе по http права соответствуют как то так: 700 файл не отправляется. 701 файл выполняется. 704 файл отправляется как есть. 707 тут я неточность пропустил в предыдущем сообщении, 7 (rwx) — полный доступ: возможно чтение, запись в файл и его запуск на выполнение. А как быть если права установлены 702 запись ? Пока я понимаю это так - если другой скрипт на этом же сервере использует имя такого файла, то он сможет только до-записать в него что либо. А если без использования другого, вспомогательного скрипта, пробовать как то записать что то в такой (702) файл ? ну с помощью http ? |
| Автор: alezzz 3.4.2018, 08:16 |
| https://ru.wikipedia.org/wiki/Chmod - тут по правам. Еще имеет значение кто хозяин файлов, если не веб-сервер, то как будет выполнятся с правами 701 непонятно. Возможно на "вашем" сайте какая-то своя, известная только его разработчикам система прав. php скриптам не нужно устанавливать права на исполнение, php-модуль запустит их если они веб-серверу доступны на чтение. perl в самом простом варианте запускается через cgi, но через cgi по моему фиолетово что запускать, хоть на perl, хоть на pascal, главное чтоб веб-серверу этот файл был доступен на чтение и исполнение и отдавал нормальный http-заголовок. Права только на запись - х.з. зачем такое, может где-то нужно, если для веб-сервера файл доступен только на запись то будет только писать, даже если всем только на запись поставить под root-ом все равно можно прочитать. |
| Автор: YahоО 3.4.2018, 13:07 |
| https://ru.wikipedia.org/wiki/Chmod Популярные значения: 700 (-rwx------) Владелец может читать, записывать и запускать на выполнение; никто другой не имеет права выполнять никакие действия 744 (-rwxr--r--) Каждый пользователь может читать, владелец имеет право редактировать и запускать на выполнение Очевидно 702 не относится к "популярным" Похоже не только к популярным, но и имеющим рациональное объяснение. А так ..., лишь бы было, т.е. в системе не предусмотрена такая фишка. " Права только на запись - х.з. зачем такое " - такой ответ мне очень нравится! Наверно именно это я и предполагал услышать. Ну нельзя так нельзя, извне вклиниться на "мой" сайт alezzz, спасибо! p.s. " Еще имеет значение кто хозяин файлов, если не веб-сервер, то как будет выполнятся с правами 701 непонятно. " и отсюда вопрос: Если сайт мой, и все файлы мои, то кто хозяин ? Может все же я? (ну конечно сервер, не я) Или возможен и другой хозяин? |
| Автор: alezzz 3.4.2018, 15:09 |
Может и вы, есть такое в этих модных це-панелях, каждый сайт на отдельном юзере, тогда какой смысл в правах 701, 702? Вот совсем не помню как они работают, вебсервер исполняет от юзера или как-то по другому. |