URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 21096
[ Назад ]

Исходное сообщение
"Как получить свой ip"

Отправлено SnowMan , 25-Сен-02 10:07 
Вчера главному заказчику поставили FreeBSD и Interbase,
у него более 60 мест. Так вот нам иногда надо патчить наши базы, но делать это надо в монопольном режиме,
чтобы ни кто не подключился во время патча.
Когда там стояла NT мы делали так, шли на сервер, откидывали шнурок и патчили.
Естественно что под FreeBSD я не хочу так делать. Поэтому решил написать скрипт для того чтобы получить ip с
которого  я работаю, потом либо добавляет правило фаирвола или в hosts.allow , в котором разрешает
коннект только с моей машины. Так вот вопрос, если я подсоединен через sshd, как мне получить ip с
которого я работаю, вот мой корявый вариант:
#!/bin/sh
mtty=`tty | cut -d '/'  -f 3`
mip=`ps -xo pid,command | grep 'sshd' | grep $mtty | cut -d ' ' -f 4`
mip=`sockstat | grep $mip | cut -d ':22' -f 2 | cut -d ' ' -f 9`
echo $mip
есть ли более правильный вариант?

Содержание

Сообщения в этом обсуждении
"RE: Как получить свой ip"
Отправлено Garry , 25-Сен-02 11:45 
Зачем так извращатся? Свой ip то всегда известен - добавляешь правило ipfw deny from not <ip> to any и все.

"RE: Как получить свой ip"
Отправлено SnowMan , 25-Сен-02 12:06 
>Зачем так извращатся? Свой ip то всегда известен - добавляешь правило ipfw deny from not <ip> to any и все.


Я то знаю свой ip, но люди которые будут работать с патчем вообще имеют слабое представление что такое ip, им надо только запустить скрипт который замочит существующие конекты и обеспечит невозможность под ключения к БД(ни с каких машин кроме той с которой запущен скрипт) до тех пор пока не завершится патч. Все это должно делаться автоматически.
Необходимо добавить в /etc/hosts.allow
две строки
gds_db : <myip> : allow
gds_db : ALL : deny


"RE: Как получить свой ip"
Отправлено Y , 25-Сен-02 13:22 
>>Зачем так извращатся? Свой ip то всегда известен - добавляешь правило ipfw deny from not <ip> to any и все.
>
>
>Я то знаю свой ip, но люди которые будут работать с патчем
>вообще имеют слабое представление что такое ip, им надо только запустить
>скрипт который замочит существующие конекты и обеспечит невозможность под ключения к
>БД(ни с каких машин кроме той с которой запущен скрипт) до
>тех пор пока не завершится патч. Все это должно делаться автоматически.
>
>Необходимо добавить в /etc/hosts.allow
>две строки
>gds_db : <myip> : allow
>gds_db : ALL : deny

Можно в одну строку
who am i | awk '{print(substr($6,2,length($6)-2))}'



"RE: Как получить свой ip"
Отправлено Y , 25-Сен-02 13:25 
>>>Зачем так извращатся? Свой ip то всегда известен - добавляешь правило ipfw deny from not <ip> to any и все.
>>
>>
>>Я то знаю свой ip, но люди которые будут работать с патчем
>>вообще имеют слабое представление что такое ip, им надо только запустить
>>скрипт который замочит существующие конекты и обеспечит невозможность под ключения к
>>БД(ни с каких машин кроме той с которой запущен скрипт) до
>>тех пор пока не завершится патч. Все это должно делаться автоматически.
>>
>>Необходимо добавить в /etc/hosts.allow
>>две строки
>>gds_db : <myip> : allow
>>gds_db : ALL : deny
>
>Можно в одну строку
>who am i | awk '{print(substr($6,2,length($6)-2))}'

Ну и типа если тебе переменной это надо присвоить
ip=`who am i | awk '{print(substr($6,2,length($6)-2))}'`


"RE: Как получить свой ip"
Отправлено SnowMan , 26-Сен-02 08:10 
Спасибо большое за ответ Y!
Все получилось.
Но все же хотелось бы узнать такой вариан нормален, или лучше искать принципиально иные решения этой проблемы.