2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




На страницу Пред.  1, 2
 
 Re: Права, с которыми запускаются скрипты из PHP+Apache
Сообщение17.04.2015, 03:57 
Как я понял, проблема не pdflatex, а в mktexmf. Очевидно, что pdflatex работает от имени myusername и свободно пишет в его директориях. Видимо, pdflatex запускает mktexmf и он уже работает не от имени myusername. Как узнать, от чьего имени запускается mktexmf и как ему дать права myusername?

 
 
 
 Re: Права, с которыми запускаются скрипты из PHP+Apache
Сообщение17.04.2015, 04:23 
ellipse в сообщении #1004670 писал(а):
Оказывается, добавление 'HOME'
Почему я и прошу 'ls -ld ~': эта команда выведет вам домашнюю директорию.

-- 17.04.2015, 12:27 --

ellipse в сообщении #1004673 писал(а):
Очевидно, что pdflatex работает от имени myusername
Ну, а чтоб убедиться окончательно, я б таки очень посоветовал 'who am i'.
ellipse в сообщении #1004673 писал(а):
Видимо, pdflatex запускает mktexmf и он уже работает не от имени myusername
Что-то как-то мне это сомнительно. Вот как убедиться — попробуйте переименовать mktexmf и написать батничек mktexmf, который выведет 'who am i' и потом вызщвет переименованный. Может не сработать, правда.

 
 
 
 Re: Права, с которыми запускаются скрипты из PHP+Apache
Сообщение17.04.2015, 06:11 
Создал файл cgi с содержимым:
Используется синтаксис Bash
#!/bin/sh
echo "Content-type: text/html"
echo
echo "CGI OK!<br>"

cd /var/www/myusername/data/www/mysitename/cgi-bin
ls -ld > myls.txt

положил в cgi-bin и сделал запрос.

Если с тильдой ~, т.е. ls -ld~ > myls.txt, то создается пустой файл. Это была опечатка? Среди опций ls ничего про тильду не нашел.

Если без тильды, то:
drwxr-x--x 2 myusername myusername 4096 Apr 17 05:57 .

Или не надо было делать смену директории cd? Хотя без cd такой же результат.

Команда whoami > who.txt выдает:
myusername

-- Пт апр 17, 2015 07:19:01 --

Цитата:
Вот как убедиться — попробуйте переименовать mktexmf и написать батничек mktexmf, который выведет 'who am i' и потом вызщвет переименованный.
Идею я понял. Но с реализацией я больше чайник, чем думаете. Батник как записать и с каким расширением сохранить? Там команды такие же как в башевском файле для cgi? И не понятно, куда и как он будет выводить результат, в какой-то файл?

 
 
 
 Re: Права, с которыми запускаются скрипты из PHP+Apache
Сообщение17.04.2015, 07:03 
ellipse в сообщении #1004687 писал(а):
Это была опечатка?
Нет, это вы пробел перед тильдой потеряли. Тильдой в линухе обозначается — домашняя директория.
А батник безо всякого расширения. Только взвести бит исполняемого файла (командой chmod ugo+x имя). Внутри (ну, примерно)
Используется синтаксис Bash
#!/bin/sh
who am i > файлик
новое имя (с полным путём) $*

 
 
 
 Re: Права, с которыми запускаются скрипты из PHP+Apache
Сообщение18.04.2015, 02:09 
Файл /usr/bin/mktexmf перименовал в /usr/bin/mktexmf_2
Создал директорию /usr/bin/mktexmfresult/ с правами 777.
В /usr/bin/ поместил файл mktexmf с атрибутами 755 и с содержимым:
Используется синтаксис Bash
#!/bin/sh
whoami > /usr/bin/mktexmfresult/mktexfmres.txt
/usr/bin/mktexmf_2

Запускал pdflatex как из скрипта, так и из консоли. В папке mktexmfresult ничего не появилось.

Кстати, я сначала по ошибке написал самовызов:
Используется синтаксис Bash
#!/bin/sh
whoami > /usr/bin/mktexmfresult/mktexfmres.txt
/usr/bin/mktexmf
Такое вообще может привести к зацикливанию?

И что значит $* в конце? Может это существенно?

В папке /usr/bin/ много похожих файлов: mkfontscale, mkfontdir, mk4ht, mkfifo, mkindex, mkmanifest, mkofm, mktexpk, mktextfm. Может не mktexmf сначала вызывается и запинка до него происходит. :roll:

Поискал
Используется синтаксис Bash
:~# find / -name mktexmf
/usr/bin/mktexmf
Больше нигде нет mktexmf.

-- Сб апр 18, 2015 03:22:36 --

iifat в сообщении #1004694 писал(а):
ellipse в сообщении #1004687 писал(а):
Это была опечатка?
Нет, это вы пробел перед тильдой потеряли. Тильдой в линухе обозначается — домашняя директория.
С пробелом также создается пустой файл
Используется синтаксис Bash
#!/bin/sh
echo "Content-type: text/html"
echo
echo "CGI OK!<br>"

ls -ld ~ > myls.txt

Причем из консоли команда ls -ld ~ работает, выводится домашняя директория как из-под root, так из-под myusername.

 
 
 
 Re: Права, с которыми запускаются скрипты из PHP+Apache
Сообщение18.04.2015, 05:06 
ellipse в сообщении #1005130 писал(а):
И что значит $* в конце? Может это существенно?</div><!-- quote end -->Это, извините указать, программёж, а не разговор на завалинке. Вы только что (дважды) напоролись на пропущенный пробел, и интересуетесь, дескать, может ещё какие символы существенны? $* — это подстановка операндов. Без этого у вас mktexmf вызовется без операндов и, соответственно, ничего не сделает.
ellipse в сообщении #1005130 писал(а):
Используется синтаксис Bash
ls -ld ~ > myls.txt
Хм. Всё же у вас что-то с правами и текущей директорией. Попробуйте так: myls.txt задать с полным путём и в конце через пробел добавить 2>&1, только, ради всего святого, не спрашивайте больше, все ли буквы тут нужны и в каком порядке. Все, и именно в этом.
ellipse в сообщении #1005130 писал(а):
Такое вообще может привести к зацикливанию?
Обязано.
ellipse в сообщении #1005130 писал(а):
Может не mktexmf сначала вызывается и запинка до него происходит
Может, вообще-то.

 
 
 
 Re: Права, с которыми запускаются скрипты из PHP+Apache
Сообщение18.04.2015, 08:02 
Цитата:
$* — это подстановка операндов. Без этого у вас mktexmf вызовется без операндов и, соответственно, ничего не сделает.
Операнды - входные параметры, которые батник получит при вызове из pdflatex?

Цитата:
через пробел добавить 2>&1, только, ради всего святого
С перенаправлением потоков я уже более менее знаком. Просто я хочу не как обезьяна повторять, а хоть немного понимать, что делаю.

Выполнил:
Используется синтаксис Bash
#!/bin/sh
echo "Content-type: text/html"
echo
echo "CGI OK!<br>"
ls -ld ~ > /var/www/myusername/data/www/mysitename/cgi-bin/myls.txt 2>&1

Результат:
ls: cannot access ~: No such file or directory

Может через скрипт домашняя директория обозначается не так, как в консоли?

 
 
 
 Re: Права, с которыми запускаются скрипты из PHP+Apache
Сообщение18.04.2015, 08:19 
Нет. Это какая-то непонятная мне проблема с домашней директорией.

-- 18.04.2015, 16:29 --

Попробуйте вместо 'ls -ld ~' поставить 'dirs -l' (оставив все перенаправления).

-- 18.04.2015, 16:30 --

В любом случае, домашняя директория как-то то ли не задана, то ли недоступна по правам. Впрочем, сначала надо её узнать :wink:

 
 
 
 Re: Права, с которыми запускаются скрипты из PHP+Apache
Сообщение18.04.2015, 08:38 
Цитата:
Попробуйте вместо 'ls -ld ~' поставить 'dirs -l' (оставив все перенаправления).

результат:
Код:
/var/www/myusername/data/www/mysitename/cgi-bin/test.cgi: 6: /var/www/myusername/data/www/mysitename/cgi-bin/test.cgi: dirs: not found

 
 
 
 Re: Права, с которыми запускаются скрипты из PHP+Apache
Сообщение18.04.2015, 10:40 
Виноват. Встроенная команда. Похоже,
Используется синтаксис Bash
sh -c "dirs -l"

 
 
 
 Re: Права, с которыми запускаются скрипты из PHP+Apache
Сообщение19.04.2015, 01:08 
Поставил в htaccess SetEnv HOME /var/www/myusername/data

Теперь ls -ld ~ из CGI выдает:
drwxr-xr-x 7 myusername myusername 4096 Apr 18 02:28 /var/www/myusername/data

whoami выдает: myusername

Но исходную проблему это не решило. Может еще что-то задать надо?

 
 
 
 Re: Права, с которыми запускаются скрипты из PHP+Apache
Сообщение19.04.2015, 05:33 
Честно говоря, уже и не знаю. Попробуйте ещё 'ls -ld' для всех директорий на пути (/, /var, ...) — у всех права должны оканчиваться на r-x. Либо, как вариант, попробовать установить домашней директорией ту же, что и через ssh.

 
 
 
 Re: Права, с которыми запускаются скрипты из PHP+Apache
Сообщение16.12.2015, 10:40 
Подскажите пожалуйста как установить сайт на свой пк,сейчас стоит linux mint ,в инете рылся так и не нашел,если можно плиз подробную инстукцию

-- 16.12.2015, 12:41 --

Vovanya в сообщении #1082612 писал(а):
Подскажите пожалуйста как установить сайт на свой пк,сейчас стоит linux mint ,в инете рылся так и не нашел,если можно плиз подробную инстукцию
меня интересует установка wordpress

 
 
 
 Re: Права, с которыми запускаются скрипты из PHP+Apache
Сообщение16.12.2015, 13:42 
Vovanya в сообщении #1082612 писал(а):
Подскажите пожалуйста как установить сайт на свой пк,сейчас стоит linux mint ,в инете рылся так и не нашел,если можно плиз подробную инстукцию
Странно, но у меня при запросе в гугле "ubuntu wordpress" выдаётся целая страница всяких инструкций. В Вашем случае скорее всего достаточно будет выполнить в консоле:
Код:
sudo apt-get install wordpress mysql-server
и ответить на задаваемые вопросы.

 
 
 [ Сообщений: 29 ]  На страницу Пред.  1, 2


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group