![]() |
|
Модераторы: xvr |
![]()
|
|
| admsasha |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 763 Регистрация: 28.1.2005 Репутация: 1 Всего: 6 |
Пишу CGI программу, как вывести всех пользователей которые подключены к системе и их ip или tts. Проще говоря, мне нужен вывод команды "/usr/bin/w".
Такая программа работает в консоле, но на экран нечего не выводит. |
|||
|
||||
| Chuck |
|
|||
![]() Сушня ![]() ![]() Профиль Группа: Эксперт Сообщений: 442 Регистрация: 12.12.2003 Где: Узбекистан, Ташке нт Репутация: 2 Всего: 9 |
Попробуй это
|
|||
|
||||
| admsasha |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 763 Регистрация: 28.1.2005 Репутация: 1 Всего: 6 |
Так мне надо все даные занести в переменную, что бы ее отпарсить и делать некоторые с ней операции. А тут как я понимаю сразу вывод, или это просто для пробы ?
права какие ставить ? 6755 или просто 755 хватит ? ни так и ни так не работает мой код. Ваш код попробую чуть позже. Это сообщение отредактировал(а) admsasha - 4.2.2005, 19:52 |
|||
|
||||
| Chuck |
|
||||
![]() Сушня ![]() ![]() Профиль Группа: Эксперт Сообщений: 442 Регистрация: 12.12.2003 Где: Узбекистан, Ташке нт Репутация: 2 Всего: 9 |
Видишь, исполнять могут все! Твой, код пытается открыть на чтение, значит либо своей проге делаешь chown user:root ./proga Либо у /usr/bin/w меняешь на chmod +r /usr/bin/w либо себя добавляешь в группу рута ... Это сообщение отредактировал(а) Chuck - 5.2.2005, 12:45 |
||||
|
|||||
| admsasha |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 763 Регистрация: 28.1.2005 Репутация: 1 Всего: 6 |
пробывал даже root:root. и 6755
Добавлено @ 20:42 просто белый лист выдает и всё |
|||
|
||||
| Chuck |
|
|||
![]() Сушня ![]() ![]() Профиль Группа: Эксперт Сообщений: 442 Регистрация: 12.12.2003 Где: Узбекистан, Ташке нт Репутация: 2 Всего: 9 |
Код скинь уже сюда! Блин, когда народ будет задавть вопросы и прикреплять к ним код?
Я так и не просек, ты мой пример юзаешь? |
|||
|
||||
| Chuck |
|
||||
![]() Сушня ![]() ![]() Профиль Группа: Эксперт Сообщений: 442 Регистрация: 12.12.2003 Где: Узбекистан, Ташке нт Репутация: 2 Всего: 9 |
Код!
Результат в консоли!
Скажи, а ты уверен, что у тебя правильно сервак настроен, чтобы скрипты такого рода исполнять? А вот работа в браузере (ох и проблем ты мне создал с этой картинкой!) Как на этом форуме к посту изображение прикрутить? |
||||
|
|||||
| admsasha |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 763 Регистрация: 28.1.2005 Репутация: 1 Всего: 6 |
пробывал твой последний код, в консоле всё нормально выдает, а в html
только: "<html><body><pre></pre></body></html>"
Код на Perl делает это без проблем. # ll proba.cgi -rwsr-sr-x 1 root root 11946 Фев 6 12:33 proba.cgi* |
|||
|
||||
| Chuck |
|
|||
![]() Сушня ![]() ![]() Профиль Группа: Эксперт Сообщений: 442 Регистрация: 12.12.2003 Где: Узбекистан, Ташке нт Репутация: 2 Всего: 9 |
Тогда с помощью Си пиши в файл и оттуда потом читай, Но я все же не въезжаю в твою проблему с сервером! У тя он как то криво настроен!
ДА, поменяй у скрипта на Си группу и юзера apache:apache и поставь 775 ... |
|||
|
||||
| admsasha |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 763 Регистрация: 28.1.2005 Репутация: 1 Всего: 6 |
Может есть файл в системе, где написана эта информация ?
тогда проще будет из него читать, "w" где то же смотрит это ? |
|||
|
||||
| Chuck |
|
|||
![]() Сушня ![]() ![]() Профиль Группа: Эксперт Сообщений: 442 Регистрация: 12.12.2003 Где: Узбекистан, Ташке нт Репутация: 2 Всего: 9 |
Так сделай уже, и не морочь себе голову! Надеюсь как прочесть файл из Си ты знаешь! |
|||
|
||||
| admsasha |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 763 Регистрация: 28.1.2005 Репутация: 1 Всего: 6 |
# ls -l ./proba.cgi
-rwxr-xr-x 1 root root 11994 Фев 8 11:58 ./proba.cgi* в логах /var/log/httpd/error_log sh: line 1: /usr/bin/w: Permission denied куда больше то права ??, и так уже root и выполняется от root, что может еще быть ?
да, может быть... но первый раз с такой проблемой сталкиваюсь, точнее не сталкивался никогда, пока на perl писал.... от туда всё читается и получается без проблем. Но надо на С. |
|||
|
||||
| Chuck |
|
||||||
![]() Сушня ![]() ![]() Профиль Группа: Эксперт Сообщений: 442 Регистрация: 12.12.2003 Где: Узбекистан, Ташке нт Репутация: 2 Всего: 9 |
Проблема не Сишная, но так и быть ... флейм!
Смотри у тя разрешено исполнять всем! Обычно, когда браузер запускает скрипт, он запускает от имени apache и группы apache (см. httpd.conf) А этому пользователю с такой группой нет доступа до w! Вот твой Permission denied Еще раз повторяю, перенаправь вывод в файл, а оттуда читай! Причем можно извратиться: пропиши в /etc/sudoers - этим ты ставишь под угрозу систему ....
И сделай так
Не обещаю, что получится, проверять лень (работы много)! Но примерно так у меня работает мною написанный скрипт смены пароля пользователям! Тож из под апаче вызывается рутовски доступная прога .... |
||||||
|
|||||||
| admsasha |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 763 Регистрация: 28.1.2005 Репутация: 1 Всего: 6 |
Я делал перенапровление в файл, вот именно от туда и списал "Permission denied"
+s стоит же бит suid, поидее должен запускаться, как root, разве нет ? |
|||
|
||||
| Chuck |
|
|||
![]() Сушня ![]() ![]() Профиль Группа: Эксперт Сообщений: 442 Регистрация: 12.12.2003 Где: Узбекистан, Ташке нт Репутация: 2 Всего: 9 |
Удали тот файл и в Сях сделай следующее
до того как ты читаешь файл, куда была перенаправлена инфа
В итоге у тя создастся файл с данными от W, потому что исполнять можно любому это прогу! А файл создастся с правами apache:apache, потому что ты запустил скрипт из браузера (апаче сервер его запустил) |
|||
|
||||
![]()
|
| Правила форума "С/С++: Программирование под Unix/Linux" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, xvr. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Программирование под Unix/Linux | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |