URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 71186
[ Назад ]

Исходное сообщение
"SSH Root!"

Отправлено wget , 26-Дек-06 14:38 
FreeBSD

Подскажите, я получил доступ к выполнению команд через cgi, команды выполняются и отображаются полностью по WWW, подскажите пожалуйста - как можно изменить параметр в файле rc.conf ssh_enable="NO" на "YES", учитывая что параметр находится посередине файла?

Утилит GET, Wget нет...
может есть какой-нибудь способ?


Содержание

Сообщения в этом обсуждении
"SSH Root!"
Отправлено seller , 26-Дек-06 15:12 
>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 заюзать...


"SSH Root!"
Отправлено hromach , 26-Дек-06 15:37 
>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


"SSH Root!"
Отправлено butcher , 26-Дек-06 15:50 
>Вариант 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


"SSH Root!"
Отправлено SergKir , 27-Дек-06 01:18 
>FreeBSD
>
>Подскажите, я получил доступ к выполнению команд через cgi, команды выполняются и
>отображаются полностью по WWW, подскажите пожалуйста - как можно изменить параметр
>в файле rc.conf ssh_enable="NO" на "YES", учитывая что параметр находится посередине
>файла?
>
>Утилит GET, Wget нет...
>может есть какой-нибудь способ?

файл rc.conf выполняется построчно так что если в начале файла параметр определен а потом в конец файла дописать ssh_enable="YES" он переопределится на последнее значение, а как дописывать в конец файла я думаю расказывать не надо :). Только вот у меня большие сомнения по поводу доступа через cgi скорее всего они не имеют прав рута, а это значит что в файл rc.conf ты ничего не допишеш.