Если запущение скрипта является единственной вещью, которую Вы хотите, чтобы те другие пользователи смогли сделать, затем я пошел бы с использованием ssh ключи.
У каждого пользователя должен быть их собственный ssh ключ, таким образом, Вы не войдете в стычку, когда кому-то больше не будет нужен доступ. Общедоступная часть ключа должна быть помещена в
~scriptuser/.ssh/authorized_keys
и перед фактическим ключом, необходимо добавить текст command="/path/to/script"
Вот пример:
from="10.23.5.32",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty,command="/path/to/script" ssh-dss A........
Это ограничивает IP-адрес, что этот ключ может использоваться от, и он ограничивает, какая передача может быть сделана и удостоверяется, что никакое имущество никогда нельзя предоставлять при использовании этого ключа, и каждый раз, когда пользователь соединяется с этим ключом затем, скрипт будет запущен, и ничего иного не может произойти.
Для добавления переменной среды Вы просто добавляете его также к ключу:
from="10.23.5.32",environment="MYVARIABLE=whatever",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty,command="/path/to/script" ssh-dss A........
Однако для этого для работы Вы должны иметь PermitUserEnvironment
направляющий набор к "да" в sshd файле конфигурации. Если Вы не можете заставить это произойти, можно вместо этого изменить строку на это:
from="10.23.5.32",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty,command="export MYVARIABLE=whatever; /path/to/script" ssh-dss A........
Вы, вероятно, хотите сделать что-то как:
screen -p 0 -X hardcopy
это генерирует файл hardcopy.0
с содержанием экранной сессии. Аргумент -p
определяет который сессия.
Файлы выводятся на экранах текущий рабочий каталог или к набору набора каталога с hardcopydir
команда. Проверьте экранный конфигурационный файл на hardcopydir (/etc/screenrc
).
Если вы обнаружите, что описанное выше не работает или работает, но вы не можете найти поврежденный файл, вы можете сделать это внутри самого сеанса:
CTRL+A
CTRL+SHIFT+:
hardcopy -h /some/path/you/can/reach
Это должно работать, и вы можете разместить его там, где хотите.
screen
Вы используете (выводscreen -v
предпочтительно в вопросе) – Anthon 13.12.2013, 12:27