Школа Linux для дримоводов

  • Даже если нет фаера, держать открытым 21 и 23 порт на дриме - это нездоровая тема.
    Конечно, для 500го пока нет ssh, но для 7020 23й можно смело отключать, закомментировав соотвестсвующие строки в /etc/inetd.conf

  • Цитата

    Конечно, для 500го пока нет ssh


    Ошибаетесь ... Уже на многих дистрибутивах dropbear появился ... =) (На Gemini в частности)

    Сообщение было отредактировано 2 раз, последнее редактирование пользователем zuriuslev ().

  • Цитата

    начит в комменты нафиг порт 23


    А без telnet & FTP, FlashWizard и прочие DCC - работать не будут ... ;( Увы ... Основная масса народа, не поймет ...

  • Всем привет! Я пользуюсь спутниковым интернетом через дрим, команды ввожу из телнета и откровенно устал, решил все это дело автоматизировать и создал скрипт stv.sh следующего содедержания:

    #!/bin/sh
    dvbnet 0x019c
    sleep 1
    ifconfig dvb0_0 192.168.0.24 netmask 255.255.255.0 hw ether 00:хх:хх:хх:хх:хх mtu 1400
    echo 1 > /proc/sys/net/ipv4/ip_forward
    echo 0 > /proc/sys/net/ipv4/conf/all/rp_filter
    echo 0 > /proc/sys/net/ipv4/conf/dvb0_0/rp_filter
    sleep 1
    route add 172.х.х.х gw 192.168.0.1 dev eth0
    exit 0

    Закинул файл в папку var/bin. Перед тем как разместить скрипт в автозапуске, я решил убедиться, что данный скрипт действительно работает. Предварительно присвоив файлу атрибут 755, захожу в телнет и ввожу поочередно каманды:
    root@dreambox ~ > cd var/bin/
    root@dreambox /var/bin > stv.sh
    -sh: stv.sh: Permission denied
    root@dreambox /var/bin > ls -l /var/
    drwxr-xr-x 2 root root 0 Feb 20 21:32 bin
    drwxr-xr-x 5 root root 0 Feb 18 16:00 etc
    drwxr-xr-x 2 root root 0 Jan 21 10:25 home
    drwxr-xr-x 2 root root 0 Jan 21 10:25 keymaps
    drwxr-xr-x 3 root root 0 Feb 19 19:52 keys
    drwxr-xr-x 3 root root 0 Feb 14 20:22 lib
    drwxr-xr-x 2 root root 0 Jan 21 10:25 libexec
    drwxr-xr-x 2 root root 0 Feb 14 22:19 lock
    lrwxrwxrwx 1 root root 4 Jan 1 1970 log -> /tmp
    drwxr-xr-x 3 root root 0 Feb 10 10:10 media
    lrwxrwxrwx 1 root root 4 Jan 1 1970 mnt -> /mnt
    drwxr-xr-x 2 root root 0 Jan 21 10:25 roms
    drwxr-xr-x 2 root root 0 Feb 18 17:19 run
    drwxr-xr-x 2 root root 0 Feb 18 16:42 sbin
    lrwxrwxrwx 1 root root 11 Jan 1 1970 scce -> tuxbox/scce
    lrwxrwxrwx 1 root root 3 Feb 14 21:48 script -> bin
    drwxr-xr-x 4 root root 0 Feb 14 20:22 share
    drwxr-xr-x 3 root root 0 Jan 21 10:25 spool
    lrwxrwxrwx 1 root root 4 Jan 1 1970 tmp -> /tmp
    drwxr-xr-x 5 root root 0 Feb 14 21:48 tuxbox
    drwxr-xr-x 2 root root 0 Jan 21 10:25 www
    root@dreambox /var/bin > ls -la /var/bin/stv.sh
    -rwxr-xr-x 1 root root 324 Feb 18 17:13 /var/bin/stv.sh
    root@dreambox /var/bin >
    И все на этом я стопорнулся, так как видно, что данный скрипт из телнета не запускается. Прошу помощи, может кто-нибудь сталкивался с такого рода проблемой...

    Сообщение было отредактировано 4 раз, последнее редактирование пользователем kulibin ().

  • root@dreambox /var/bin > which sh
    /bin/sh
    root@dreambox /var/bin > sh /var/bin/stv.sh
    )id 7000 (1b58
    device for pid 1b58 created successfully
    BusyBox v1.01 (2007.01.01-03:53+0000) multi-call binary
    Usage: sleep N
    Pause for N seconds.
    : Directory nonexistentnot create /proc/sys/net/ipv4/ip_forward
    : Directory nonexistentnot create /proc/sys/net/ipv4/conf/all/rp_filter
    : Directory nonexistentnot create /proc/sys/net/ipv4/conf/dvb0_0/rp_filter
    BusyBox v1.01 (2007.01.01-03:53+0000) multi-call binary
    Usage: sleep N

    Pause for N seconds.

    route: SIOC[ADD|DEL]RT: No such device
    Судя по логу все запустилось

  • Цитата

    и создал скрипт stv.sh следующего содедержания:


    100% скрипт под виндозой делан ...
    Отредактируй на дриме ... vi stv.sh. Удали все ^M

  • Цитата

    Со слов пользователя free-x
    неа...не похоже....
    больше хелпов повылазило чем на самом деле надо было
    ты случаем не под ДОС/Windowsом скрипт создавал?


    Скрипт создавал в ТОТАЛ КОМАНДЕРЕ, но там редактор нечто виндовского блокнота, называется AkelPad

  • Цитата

    [i]100% скрипт под виндозой делан ...
    Отредактируй на дриме ... vi stv.sh. Удали все ^M


    Шеф ты был прав, отредактировал stv.sh
    И вот результат:
    root@dreambox ~ > stv
    -sh: stv: not found
    root@dreambox ~ > cd var/bin/
    root@dreambox /var/bin > stv
    -sh: stv: not found
    root@dreambox /var/bin > stv.sh
    pid 412 (0x019c)
    device for pid 19c created successfully
    root@dreambox /var/bin >

  • я не знаю почему он не запускался, хотя человек сказал что 755 дал. но ls -la /var/bin/stv.sh я так и не увидел. Есть ещё 2 возможости запуска скриптов. Первый ты увидел. Второй выглядит так

    Исходный код
    cd /var/bin
    . stv.sh
  • Цитата


    Удали все ^M


    я не знаю что там в дриме. я его не пользую. но если в системе есть dos2unix, то можно прогнать файл через эту утилиту

    Исходный код
    dos2unix /var/bin/stv.sh
  • Цитата

    Со слов пользователя free-x
    я не знаю почему он не запускался, хотя человек сказал что 755 дал. но ls -la /var/bin/stv.sh я так и не увидел. Есть ещё 2 возможости запуска скриптов. Первый ты увидел. Второй выглядит так


    root@dreambox ~ > ls -la /var/bin/stv.sh
    -rwxr-xr-x 1 root root 318 Feb 21 00:06 /var/bin/stv.sh
    root@dreambox ~ >

    Цитата

    Со слов пользователя free-x
    я не знаю что там в дриме. я его не пользую. но если в системе есть dos2unix, то можно прогнать файл через эту утилиту

    Исходный код
    dos2unix /var/bin/stv.sh


    root@dreambox ~ > dos2unix /var/bin/stv.sh
    root@dreambox ~ >
    подвожу итог
    прописал в автозапуск сценариев /var/bin/stv.sh, сохранил, перегрузил дрим, зашел в телнет и ввел команду ifconfig, по увиденному было видно, что все работает.
    Всем, огромное спасибо!

    Сообщение было отредактировано 2 раз, последнее редактирование пользователем kulibin ().

  • Цитата

    а можно пояснить почему скрипт запустился (пусть и криво) только так -
    sh /var/bin/stv.sh
    почему с
    /var/bin/stv.sh
    он не запускался ?


    Разберем все по полочкам
    1. Скрипт не запускался коммандой /var/bin/stv.sh
    Первая строка скрипта #!/bin/sh, указывает, что скрипт будет выполнять шелл /bin/sh. А так как,грубо говоря, было написано /bin/sh^M
    Скрипт не запускался, потому, что нет такой комманды... Было-бы лучше, вообше без первой строки, тогда-бы мы сразу получили результат, подобный sh /var/bin/stv.sh
    2. Поехали дальше ... в принципе все зависит о того, каким образом программа обрабатывает аргументы коммандной строки.
    root@dreambox /var/bin > sh /var/bin/stv.sh
    )id 7000 (1b58
    device for pid 1b58 created successfully

    \\ Видно что dvbnet просто игнорировал ^M в конце и запустился нормально


    Все остальное фактически выполняет одна программа - busybox, которая иначе обрабатывает аргументы коммандной строки, и получаются сплошные ошибки ...
    BusyBox v1.01 (2007.01.01-03:53+0000) multi-call binary
    Usage: sleep N
    Pause for N seconds.
    : Directory nonexistentnot create /proc/sys/net/ipv4/ip_forward
    : Directory nonexistentnot create /proc/sys/net/ipv4/conf/all/rp_filter
    : Directory nonexistentnot create /proc/sys/net/ipv4/conf/dvb0_0/rp_filter
    BusyBox v1.01 (2007.01.01-03:53+0000) multi-call binary
    Usage: sleep N
    Pause for N seconds.
    route: SIOC[ADD|DEL]RT: No such device

    ---------------------------------------------------------------------------------------------------
    root@dreambox:~> ls -l `which ifconfig` `which route` `which echo` `which dvbnet` `which sleep` `which sh`
    -rwxr-xr-x 1 root root 4840 Oct 16 14:07 /bin/dvbnet
    lrwxrwxrwx 1 root root 7 Oct 16 14:07 /bin/echo -> busybox
    lrwxrwxrwx 1 root root 7 Oct 16 14:07 /bin/sh -> busybox
    lrwxrwxrwx 1 root root 7 Oct 16 14:07 /bin/sleep -> busybox
    lrwxrwxrwx 1 root root 14 Oct 16 14:07 /sbin/ifconfig -> ../bin/busybox
    lrwxrwxrwx 1 root root 14 Oct 16 14:07 /sbin/route -> ../bin/busybox


    По этому листингу видно, кто есть кто ... dvbnet - отдельная программа, а все остальное busybox ... =)

  • спасибо за столь подробный разбор полетов, но есть маленький вопрос -

    Цитата

    Со слов пользователя zuriuslev
    1. Скрипт не запускался коммандой /var/bin/stv.sh
    Первая строка скрипта #!/bin/sh, указывает, что скрипт будет выполнять шелл /bin/sh. А так как,грубо говоря, было написано /bin/sh^M
    Скрипт не запускался, потому, что нет такой комманды...


    но почему тогда сообщение об ошибке было столь странным -


    -sh: stv.sh: Permission denied


    я понимал его так - сам файл-скрипт имеется, но доступ к нему запрещен.