2014 dxdy logo

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

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




Начать новую тему Ответить на тему На страницу Пред.  1, 2
 
 Re: Права, с которыми запускаются скрипты из PHP+Apache
Сообщение17.04.2015, 03:57 


25/11/08
449
Как я понял, проблема не pdflatex, а в mktexmf. Очевидно, что pdflatex работает от имени myusername и свободно пишет в его директориях. Видимо, pdflatex запускает mktexmf и он уже работает не от имени myusername. Как узнать, от чьего имени запускается mktexmf и как ему дать права myusername?

 Профиль  
                  
 
 Re: Права, с которыми запускаются скрипты из PHP+Apache
Сообщение17.04.2015, 04:23 
Заслуженный участник


16/02/13
4105
Владивосток
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 


25/11/08
449
Создал файл 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 
Заслуженный участник


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

 Профиль  
                  
 
 Re: Права, с которыми запускаются скрипты из PHP+Apache
Сообщение18.04.2015, 02:09 


25/11/08
449
Файл /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 
Заслуженный участник


16/02/13
4105
Владивосток
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 


25/11/08
449
Цитата:
$* — это подстановка операндов. Без этого у вас 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 
Заслуженный участник


16/02/13
4105
Владивосток
Нет. Это какая-то непонятная мне проблема с домашней директорией.

-- 18.04.2015, 16:29 --

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

-- 18.04.2015, 16:30 --

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

 Профиль  
                  
 
 Re: Права, с которыми запускаются скрипты из PHP+Apache
Сообщение18.04.2015, 08:38 


25/11/08
449
Цитата:
Попробуйте вместо '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 
Заслуженный участник


16/02/13
4105
Владивосток
Виноват. Встроенная команда. Похоже,
Используется синтаксис Bash
sh -c "dirs -l"

 Профиль  
                  
 
 Re: Права, с которыми запускаются скрипты из PHP+Apache
Сообщение19.04.2015, 01:08 


25/11/08
449
Поставил в 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 
Заслуженный участник


16/02/13
4105
Владивосток
Честно говоря, уже и не знаю. Попробуйте ещё 'ls -ld' для всех директорий на пути (/, /var, ...) — у всех права должны оканчиваться на r-x. Либо, как вариант, попробовать установить домашней директорией ту же, что и через ssh.

 Профиль  
                  
 
 Re: Права, с которыми запускаются скрипты из PHP+Apache
Сообщение16.12.2015, 10:40 


16/12/15
1
Подскажите пожалуйста как установить сайт на свой пк,сейчас стоит linux mint ,в инете рылся так и не нашел,если можно плиз подробную инстукцию

-- 16.12.2015, 12:41 --

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

 Профиль  
                  
 
 Re: Права, с которыми запускаются скрипты из PHP+Apache
Сообщение16.12.2015, 13:42 


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

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 29 ]  На страницу Пред.  1, 2

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group