Strona 1 z 1

[PHP][BASH]Uruchamianie skryptu bash przez PHP

: 18 paź 2011, 21:11
autor: buker999
Witam. Mam problem z uruchomieniem skryptu bash przez php
Zawartość pliku sudo zdaje mi sie ze jest istotny:

Kod: Zaznacz cały


Defaults	env_reset
Defaults:www-data !requiretty
# Host alias specification

# User alias specification

# Cmnd alias specification

# User privilege specification
root	ALL=(ALL) ALL
www-data    ALL=NOPASSWD: /home/ts3/test1.sh


# Allow members of group sudo to execute any command after they have
# provided their password
# (Note that later entries override this, so you might need to move
# it further down)
%sudo ALL=(ALL) ALL
#
#includedir /etc/sudoers.d
Skrypt bash:

Kod: Zaznacz cały

#!/bin/bash
mkdir /home/ts3/folder
Skrypt php:

Kod: Zaznacz cały

<?PHP
$control = Array();

exec('sudo sh /home/ts3/test1.sh 2>&1', $control);
echo 'skrypt zostal wykonany';
  var_dump($control);
?> 
  
To co wyświetla skrypt php:

Kod: Zaznacz cały

skrypt zostal wykonanyarray(1) { [0]=> string(53) "sudo: no tty present and no askpass program specified" } 
I teraz ważne pytanie w czym jest problem? Skrypt bash dziala gdy go odpalam z jakiego kolwiek uzytkownika wiec w nim nie ma problemu. Z tego co jest w logach wynika ze sudo nie moze sie zapytac o haslo. Wiec jak zrobic zeby nie pytal sie o haslo.

Re: [PHP][BASH]Uruchamianie skryptu bash przez PHP

: 19 paź 2011, 08:53
autor: m_o
ts3 to jest tylko katalog w /home czy jakiś user? Jeśli user, to nie prościej byłoby Ci uruchamiać www przez suexeca na prawach usera ts2? Ominąłbyś w ten sposób kombinacje z sudo

Re: [PHP][BASH]Uruchamianie skryptu bash przez PHP

: 19 paź 2011, 10:53
autor: buker999
A o co dokładniej chodzi z suexec? Tak ts3 to uzytkownik