Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Разное

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Консоль в Debian
 
 автор: Commander   (21.04.2014 в 21:22)   письмо автору
 
 

Понадобилось выполнить пару команд от имени root'a в консоли Debian при помощи PHP. Сделал так:
<?php
$res 
shell_exec("su root");
if (!
preg_match('#no passwd entry#is'$res)){
    
$res shell_exec('**************');
        ...
?>
Никакого вывода в переменной $res нет. Логин и пароль правильные, а пользователь все равно прежний. Как залогиниться? Может быть PHP каждый раз при выполнении shell_exec() запускает новую сессию в консоли?

  Ответить  
 
 автор: cheops   (21.04.2014 в 23:20)   письмо автору
 
   для: Commander   (21.04.2014 в 21:22)
 

А не проще PHP-скрипт от root-а запустить?

  Ответить  
 
 автор: Commander   (21.04.2014 в 23:47)   письмо автору
 
   для: cheops   (21.04.2014 в 23:20)
 

А как? Он запускается через браузер.

  Ответить  
 
 автор: Саня   (22.04.2014 в 08:33)   письмо автору
 
   для: Commander   (21.04.2014 в 23:47)
 

Тогда нужно разделить код на два файла. В одном будут инструкции, которые нужно выполнять от рута, а другой будет его вызывать через shell_exec. На файле должен стоять флаг SUID и execute (и shabang в начале, куда же без него). Владелец должен быть root.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования