Выполнить команду системы.

AHTIXPICT

Новичок
Выполнить команду системы.

Привет всем.

Если пишу:

$a = `ls /usr/sbin`;
echo $a;

то выводит результат нормально.
А если пишу что то связаное с useradd
типа:

$a = `sudo -s /usr/sbin/useradd -d /dev/null -s /dev/null -p qwerty qqq`;
echo $a;

то нифига не получается.
в php.ini - safe_mode=off
в sudoers - все прописано

-~{}~ 28.09.04 12:32:

В общем то настроил то что спрашивал.
Нужно было в файле /etc/passwd
исправить для пользователя apache оболочку /sbin/nologin на /bin/bash.

Тольо теперь вопрос к тем кто специализируется на безопасности UNIX систем.
В принципе пользователь апач не может логинится в системе, - у него нет пароля, но хотелось бы услышать мнение специалистов.
 

MiRacLe

просто Чудо
мнение меня (не специалиста):
1) оформить другой апач в тех же условиях ,мб на другом порту и закрыть доступ к нему всем нехорошим парням
2) сделать демона,у которого будет достаточно прав на "нужные" команды в системе и общаться с ним из своего скрипта,попутно проверяя "авторизованность" этого скрипта

P.S. в твоём варианте , любой пользователь который сможет выполнить свой скрипт сможет добавить пользователя :)
 

AHTIXPICT

Новичок
MiRacLe

P.S. в твоём варианте , любой пользователь который сможет выполнить свой скрипт сможет добавить пользователя
Так и задумано. Хотя это начальный ваиант. Нужно NIS или LDAP настроить. Просто хочу разрешить пользователям создавать почтовые аккаунты.
 
Сверху