On 7/9/05, gggg ggg <[EMAIL PROTECTED]> wrote: > zdraveite, > imam 2 scripta : edinia diga interfeisi i prenastroiva > rutingi i t.n., a drugia pravi to4no obratnoto, t.e. > edinia puska neshtata , a drugia gi spira. > > iskam da moje ot web da se puskat scriptovete, bez > zna4enie dali s PHP,Perl,CGI-niakakuv, SH ili kakvoto > i da e. >
може > problema mi e 4e ne moga da izvikam scriptowete ot > web,apache gi stopira.razrovih mu po4ti vsi4koto > secure i podiviah ve4e. daite malko help za tova > ,kolkoto i prosto da izglejda. как извикваш скриптовете? > > g. > > P.S. Slack 10.1 > > > > > ____________________________________________________ > Sell on Yahoo! Auctions �C no fees. Bid on great items. > http://auctions.yahoo.com/ > вариантите са няколко 1) зареждаш си CGI модула на апачето, даваш на скрипта +х (за да може да се изпълнява) и след това го извикваш през уеб (http://test/test.sh) например 2) правиш си Perl/PHP скрипт и в него извикваш съответния скрипт php: <?php echo exec('/path/to/script 2>&1'); ?> това ще ти изпълни скрипта и ще изведе резултата (ако скриптът връща такъв) perl: $output = `/path/to/script 2>&1`; print $output; Тук вече има едно голямо НО! И при двата случая потребителят, който използва апачето трябва да има права да изпълнява операциите, които съдържа скрипта (ifconfig, iptables, etc.....). Едно решение на този проблем е да не викаш директно скриптовете, а да викаш други програми (които от своя страна викат скриптовете). Аз правя така: извиквам проста програмка (собственост на root със сетнат setuid флаг), а тя ми извиква скрипта Ето я и програмка: int main() { setuid(0); setgid(0); execvp("/path/to/scipt"); }