FreeBSDПодскажите, я получил доступ к выполнению команд через cgi, команды выполняются и отображаются полностью по WWW, подскажите пожалуйста - как можно изменить параметр в файле rc.conf ssh_enable="NO" на "YES", учитывая что параметр находится посередине файла?
Утилит GET, Wget нет...
может есть какой-нибудь способ?
>FreeBSD
>
>Подскажите, я получил доступ к выполнению команд через cgi, команды выполняются и
>отображаются полностью по WWW, подскажите пожалуйста - как можно изменить параметр
>в файле rc.conf ssh_enable="NO" на "YES", учитывая что параметр находится посередине
>файла?
>
>Утилит GET, Wget нет...
>может есть какой-нибудь способ?Не совсем понятно, что же конкретно вам надо и причем SSH Root в сабже?
Если через веб вам нужно изменить содержимое rc.conf, то как минимум cgi-скрипты должны иметь права root, иначе файл не сохранится, т.к. у него права доступа rw-r--r-- с владельцем root. Если, судя по задумке, вам нужно иметь возможность удаленного включения sshd, то, имхо, делать это надо не путем редактирования rc.conf, т.к. машину придется перегружать, чтобы изменения в rc.conf вступили в силу. Проще уж запустить sshd вручную.
Если все же нужно rc.conf редактировать, то просто выведите его содержимое в какой-нибудь <textarea>, а по субмиту формы записывайте содержимое textarea в файл rc.conf.
Но, имхо, неправильно как-то все это... Можно же какой-нибудь webmin заюзать...
>FreeBSD
>
>Подскажите, я получил доступ к выполнению команд через cgi, команды выполняются и
>отображаются полностью по WWW, подскажите пожалуйста - как можно изменить параметр
>в файле rc.conf ssh_enable="NO" на "YES", учитывая что параметр находится посередине
>файла?Вариант 1:
perl -i -p -e 's/ssh_enable=\"NO\"/ssh_enable=\"YES\"/' /etc/rc.confВариант 2:
sed s/ssh_enable=\"NO\"/ssh_enable=\"YES\"/ /etc/rc.conf
>Вариант 1:
>perl -i -p -e 's/ssh_enable=\"NO\"/ssh_enable=\"YES\"/' /etc/rc.conf
>
>Вариант 2:
>sed s/ssh_enable=\"NO\"/ssh_enable=\"YES\"/ /etc/rc.confВариант 3:
Просто добавить в конец файла sshd_enable="YES", т.е.
echo 'sshd_enable="YES"' >> /etc/rc.conf
>FreeBSD
>
>Подскажите, я получил доступ к выполнению команд через cgi, команды выполняются и
>отображаются полностью по WWW, подскажите пожалуйста - как можно изменить параметр
>в файле rc.conf ssh_enable="NO" на "YES", учитывая что параметр находится посередине
>файла?
>
>Утилит GET, Wget нет...
>может есть какой-нибудь способ?файл rc.conf выполняется построчно так что если в начале файла параметр определен а потом в конец файла дописать ssh_enable="YES" он переопределится на последнее значение, а как дописывать в конец файла я думаю расказывать не надо :). Только вот у меня большие сомнения по поводу доступа через cgi скорее всего они не имеют прав рута, а это значит что в файл rc.conf ты ничего не допишеш.