Ограниченное ssh удаленное выполнение с аргументами

Проверьте мое радио:

Пример WeFunkRadio.

Для первого плей-листа загрузки и получают адрес сервера и порт:

# http://www.wefunkradio.com/play/shoutcast.pls
# cat shoutcast.pls 
[playlist]
NumberOfEntries=2
File1=http://wefunkhub.com/radiodrops/introdrop-keithmurray2.mp3
File2=http://stream-90.shoutcast.com:80/wefunk_radio_mp3_64kbps

Это - адрес сервера: http://stream-90.shoutcast.com:80

Играть поток:

# mplayer "http://stream-90.shoutcast.com:80"

Сохранить поток:

# wget -O stream.mp3 "http://stream-90.shoutcast.com:80"

4
13.04.2017, 15:37
1 ответ

Если вы используете пользовательскую оболочку , как предполагает Arcege и 2bc, то эта оболочка получит команду, которую пользователь намеревается выполнить в качестве аргумента, потому что оболочка вызывается следующим образом:

shellname -c the_original_command

Так что игнорируйте -c (что ваш $1) и найдите команду в $2. Например:

#!/bin/sh

case "$2" in
    on)
        do something
        ;;
    off)
        do something else
        ;;
    *)
        echo "wrong command name!" >&2
        exit 1
esac

Если вы используете принудительную команду , как предлагает Coren, то вы найдете команду, которую пользователь намеревался вызвать в переменной окружения $SSH_ORIGINAL_COMMAND. Вы можете использовать скрипт, аналогичный приведенному выше.

3
27.01.2020, 20:58

Теги

Похожие вопросы