Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Чтение файла shadow
Форумы портала PHP.SU » » Вопросы новичков » Чтение файла shadow

Страниц (1): [1]
 

1. desh - 20 Октября, 2014 - 17:44:25 - перейти к сообщению
Доброго времени суток!

Не получается дать права файлу /etc/shadow в системе linux
Права пользователю www-data предоставил в sudoers

system ("chmod 0777 /etc/shadow"); команда выполняется но без результата
еще так пробывал
system ("echo '".$root_pass."' | sudo -S chmod 0777 /etc/shadow");
2. dcc0 - 20 Октября, 2014 - 20:58:31 - перейти к сообщению
0_O с каких пор основной файл защиты системы требует таких манипуляций?
Если вам надо, чтобы веб-сервер работал от имени www-data, то это не так делается.
Меняется владелец (chown www-data:www-data /var/www - для примера) директории, которую обрабатывает веб-сервер, веб-сервер добавляется в группу www-data.
3. desh - 20 Октября, 2014 - 21:19:04 - перейти к сообщению
dcc0
Мне нужно этот файл открыть но для этого нужно выставить права) потом прочитать его и заменить определенную строку))) после выставить права обратно.
(Добавление)
dcc0
Веб-сервер если я не ошибаюсь и так работает от этого имени(www-data)
4. dcc0 - 20 Октября, 2014 - 23:04:20 - перейти к сообщению
Не знаю, зачем такое может понадобиться. Имхо, бред, но дело ваше.

Первый вариант можно выбросить сразу.
/etc/shadow должен читать только root

То - что в скобках после system ("echo '".$root_pass."' | sudo -S chmod 0777 /etc/shadow"); - это уже не php, a bash или другая оболочка.

Необходимость обрамления переменной точками сомнительна.

Но если вы выполняете команду от имени root, то права менять не надо (/etc/shadow, скорее, не прдполагает вообще таких манипуляций).
root должен и читать, и писать в этот файл.

Я не помню, как с sudo, но если память не изменяет, ввод пароля ожидается с терминала (с клавиатуры). Для этих случаев используется утилита expect (не рекомендуется).
Есть еще вариант с socat и ssh (писал себе такой вариант когда-то, тем более не рекомендуется).

 

Powered by ExBB FM 1.0 RC1