автоопределение ip терминала при пробросе порта remserial

Модераторы: dimbor, Модераторы разделов

vadimttv
Сообщения: 7
ОС: SL 6.2

автоопределение ip терминала при пробросе порта remserial

Сообщение vadimttv »

Цитата:
"На принимающей стороне запускаем из-под пользователя, который будет работать со сканером, запускаем команду:
remserial -d -r 192.168.0.20 -p 7200 -l $HOME/.wine/dosdevices/com5 /dev/ptmx &
где за место "192.168.0.20" подставляем ip адрес машины с которой идет передача."

Вопрос! - Как на centos 6.2 (NX server от Nomachine или RX@etersoft + Wine@etersoft Admin установка) получать ip адрес nx clientа Пользователя и подставлять в указанную комаду. Так как пользователь может заходить на сервер каждый раз с разных машин (терминалов).
Спасибо сказали:

Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: автоопределение ip терминала при пробросе порта remserial

Сообщение sash-kan »

если нужен ip-адрес машины, на которой выполняется команда, то см. вывод:
$ /sbin/ip a
если же подключение (как я понимаю) было по ssh, и нужен ip-адрес машины, с которой осуществляется подключение, то см. вывод:
$ echo $SSH_CLIENT
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:

vadimttv
Сообщения: 7
ОС: SL 6.2

Re: автоопределение ip терминала при пробросе порта remserial

Сообщение vadimttv »

sash-kan писал(а):
17.04.2012 14:55
если нужен ip-адрес машины, на которой выполняется команда, то см. вывод:
$ /sbin/ip a
если же подключение (как я понимаю) было по ssh, и нужен ip-адрес машины, с которой осуществляется подключение, то см. вывод:
$ echo $SSH_CLIENT

спасибо - позже попробую
может еще укажете путь к подобным готовым скриптам)) ?
имел ввиду - может такая тема уже обсуждалась?
Спасибо сказали:

dimbor
Ведущий рубрики
Сообщения: 1507
Статус: Подвинутый участник

Re: автоопределение ip терминала при пробросе порта remserial

Сообщение dimbor »

Все слегка попроще. К каждому юзеру за пазуху лазать не надо.
nxserver --list от рута (или от юзера из группы nx вроде).
А если не хватит функционала, то оно живет вроде в /var/lib/nxserver/db - можно что-то свое написать парсирующее.
Спасибо сказали:

vadimttv
Сообщения: 7
ОС: SL 6.2

Re: автоопределение ip терминала при пробросе порта remserial

Сообщение vadimttv »

имеется ввиду чтоб пользователь при подключении с терминала (с компортами) к серверу автоматически получал проброс компортов (без неусыпного участия в этом действе администратора). с remserial при постоянном айпи на терминалах и когда пользователь постоянно работает с одного и того же айпи - то это совсем не проблема!, но с если пользователь работает на разных машинах и от разных айпи... надо скрипт, и как мне кажется правильно подсказал sash-kan - с использованием $ echo $SSH_CLIENT. но я как бы относительно новоиспеченный обитатель линукс сообщества... - и кажется мне буду долго рожать такой скрипт - так то в принципе понятно... да только будет долго. а так то кажется там всего пару строчек надо - получить айпи и подставить в команду remserial -d -r 192.168.0.20 -p 7200 -l $HOME/.wine/dosdevices/com5 /dev/ptmx & вместо айпи.
помогите)
Спасибо сказали:

dimbor
Ведущий рубрики
Сообщения: 1507
Статус: Подвинутый участник

Re: автоопределение ip терминала при пробросе порта remserial

Сообщение dimbor »

vadimttv писал(а):
17.04.2012 20:57
надо скрипт, и как мне кажется правильно подсказал sash-kan - с использованием $ echo $SSH_CLIENT. но я как бы относительно новоиспеченный обитатель линукс сообщества... - и кажется мне буду долго рожать такой скрипт - так то в принципе понятно... да только будет долго. а так то кажется там всего пару строчек надо - получить айпи и подставить в команду remserial -d -r 192.168.0.20 -p 7200 -l $HOME/.wine/dosdevices/com5 /dev/ptmx & вместо айпи.
помогите)

А мне кажется, что ему неправильно кажется. Вернее правильно для полумифического режима USER_MODE, который в nx с собаками ищут давно и все, включая Этерсофт.
Дело в том, что у юзера нету на сервере таких переменных, его сессия локальна. Канал живет под пользователем "nx". Это вызывает сложности с правами доступа. Тут даже врапер мутили для nxserver, помнится.

Ну да ладно, в вторую половину ночи постараюсь родить че-нить. Допишу сюда. ОК?
Спасибо сказали:

vadimttv
Сообщения: 7
ОС: SL 6.2

Re: автоопределение ip терминала при пробросе порта remserial

Сообщение vadimttv »

вот же ж вам спасибо!!! за мной как говорится не заржавеет)
ну права относительно компортов я к примеру раздал поэтому проблем как я говорил при использовании команды ремсериал со статическими айпи не возникает - проблема как раньше говорил с тем чтобы вместо статических айпи "динамически" подставлять айпи текущей nx-сессии.
Спасибо сказали:

vadimttv
Сообщения: 7
ОС: SL 6.2

Re: автоопределение ip терминала при пробросе порта remserial

Сообщение vadimttv »

а разве пользователи nx не могут "видеть" айпи своего сеанса? ну тоесть ай пи "своего" терминала? ведь эта команда remserial -d -r 192.168.0.20 -p 7200 -l $HOME/.wine/dosdevices/com5 /dev/ptmx & должна запускаться именно в сеансе nx пользователя на сервере
а эта # remserial -d -p 7200 -s "9600 raw" /dev/ttyS0 - на терминале
ведь должна быть возможность именно из сеанса nx пользователя на сервере увидеть "свой ай пи" на теминале?
Спасибо сказали:

dimbor
Ведущий рубрики
Сообщения: 1507
Статус: Подвинутый участник

Re: автоопределение ip терминала при пробросе порта remserial

Сообщение dimbor »

Нет, просто так не могут. Они же работают не удаленно, а в терминальной сессии.

Дешевое и сердитое производство костылей продолжается.

Делай раз:
Добавляем юзверя dim (на именно этом имени не настаиваю ;)) в группу users.
В /etc/sudoers.d/ /etc/sudo.d/ (нужное подчеркнуть) рожаем файлик, скажем nxlist root:root 440

Код: Выделить всё

%users  ALL= NOPASSWD: /usr/bin/nxserver --list*

(при отсутствии каталога строчку дописываем в конец /etc/sudoers)

Проверка - в консоли от юзера sudo -l

dim@megaserver

User dim may run the following commands on this host: (root) NOPASSWD: /usr/bin/nxserver --list*



Делай два:
Запускаем скриптом

Код: Выделить всё

#!/bin/bash
sessid="$(echo "$NXSESSIONID" | cut -d- -f3 2>/dev/null)"
[ -z "$sessid" ] && return 1 # not nx-session
remip="$(sudo /usr/bin/nxserver --list "$USER" 2>/dev/null | grep "$sessid" | awk  '{print($4)}')" #'
[ -n "$remip" ] && {
    #echo "$remip"
    remserial -d -r $remip -p 7200 -l $HOME/.wine/dosdevices/com5 /dev/ptmx &
}
Спасибо сказали:

vadimttv
Сообщения: 7
ОС: SL 6.2

Re: автоопределение ip терминала при пробросе порта remserial

Сообщение vadimttv »

!!! :-) сейчас буду начинать пробовать - но вот только отпишусь уже завтра
"очень большое спасибо" пока до завтра не буду говорить - суеверный))
Спасибо сказали:

vadimttv
Сообщения: 7
ОС: SL 6.2

Re: автоопределение ip терминала при пробросе порта remserial

Сообщение vadimttv »

вобщемто инструкция супер подробная - пытаюсь вникнуть насчет "секьюрности"...
Спасибо сказали:

dimbor
Ведущий рубрики
Сообщения: 1507
Статус: Подвинутый участник

Re: автоопределение ip терминала при пробросе порта remserial

Сообщение dimbor »

А теперь дружно забываем весь бред, написанный мною выше. Потому как Акела который (десяток) раз промахнулся. И опять забыл сделать RTFM.
А он вещуе, что в файлике /etc/nxserver/node.conf.d/07-misc.conf надо всего лишь:

Код: Выделить всё

# When set to 1 exports NXUSERIP / NXSESSIONID in nxnode
EXPORT_USERIP="1"
#EXPORT_SESSIONID="1"

Появляется $NXUSERIP, употребляется так же.

Стыдоба на моя голова.
Спасибо сказали: