LINUX.ORG.RU

Сообщения evilsend

 

обновить данные mysql из bash скрипта

Помогите дописать или написать скрипт. Задача такая. Есть база данных(mysql) с таблицей servers, в ней есть поля server_id и server_status. Нужно вытащить все значение из поля server_id, эти значения прогнать через команду. И уже полученные значения внести в поле server_status. Вот что у меня пока получилось:

#!/bin/sh

user="debian-sys-maint"
pass="oS6D87L8iWkrvdJK"
db="mon"
sql="select server_id from servers"
TEST=`mysql -u $user -p$pass $db -e "$sql"`
printf "$TEST" > serverid
ID=`cat /home/bulat/serverid | grep -v server_id`
Q=` for SERVER in $ID; do
su -l gs$SERVER -c "screen -ls | grep -c gameserver"
done`
#echo "$Q"
mysql -u $user -p$pass $db -e "UPDATE servers SET server_status='$Q' WHERE server_id='$ID'"

При таком раскладе, меняеться почему только первая строка в таблице. А как его дописать так что бы обновились все строки?

 ,

evilsend
()

пользователи и группы в linux'e

Доброго времени суток. Не совсем допонимаю принцип работы пользователей и групп в linux'e. Стоит такая задача вывести на экран через браузер размер домашнего коталога пользователя, для этого я через php отправляю команду du -s. Если указать в php скрипте папку /var/www то вывод я получаю. Если же указываю /home/username то получаю ответ что у меня нет таких прав. Права на папки я выдал 755 а на файлы 644. Владелец папок и файлов являеться пользователь ivan а группа testgroup. Я добавил пользователя www-data в группу testgroup, в надежде на то что он унаследовает права группы testgroup. Но так не получилось. Если поменять группу с testgroup на www-data, то работает. Но это в моем случае не вариант. Каким образом мне решить данный вопрос?

 ,

evilsend
()

dovecot и active directory

Настроил связку postfix+dovecot с авторизацией через Active Directory. Все работает, единственный нюанс. Может ли dovecot авторизовывать пользователей по sAMAccountName, а создать каталоги для почты по атрибуту mail? Сам запрос на AD выглядить так:

pass_filter = (&(objectCategory=Person)(sAMAccountName=%n))
user_filter = (&(objectCategory=Person)(sAMAccountName=%n))
default_pass_scheme = CRYPT
user_attrs      = =home=/var/vmail/vmail1/%Ld/%Lu/Maildir/,=mail=maildir:/var/vmail/vmail1/%Ld/%Lu/Maildir/

 ,

evilsend
()

маршрутизация

Люди добрые помогите советом, имееться ubuntu 14.04 на ней два сетевых интерфейса один смотрит во внешку(белый ип), другой в локалку(серый ип). Провайдер отдает инет статикой, а в локальной сети несколько подсетей, одна для пользователей другая для серверов. Мой комп находиться в подсети пользователей (192.168.1.0/24) убунта в подсети серверов (192.168.2.0/24). Суть проблемы в том что я из своей подсети не могу достучаться до убунты, т.к не могу коректно настроить маршрутизацию. Настройка сетевых интерфейсов:

 
auto eth0
iface eth0 inet static
        address 10.100.1.43
        netmask 255.255.255.224
        gateway 10.100.1.65
        dns-nameservers 8.8.8.8

auto eth1
iface eth1 inet static
        address 192.168.81.207
        netmask 255.255.255.0
        gateway 192.168.81.1
        dns-nameservers 8.8.8.8 

route -n

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.100.1.65   0.0.0.0         UG    0      0        0 eth0
10.100.1.64   0.0.0.0         255.255.255.224 U     0      0        0 eth0
192.168.81.0    0.0.0.0         255.255.255.0   U     0      0        0 eth1
При таких настройках работает внешка, но из своей подсети не могу достучаться до проблемной убунты, могу только из подсети серверов. Если же выключить интерфейс который смотрит в наружу, то уже этот хост становиться доступным в локальной подсети. Но не имеет доступа к внешке. Так же в сети в есть аналогично настроенный сервер на дебиане 6, там с такими настройками все работает отлично. Там таблица маршрутизации выглядит так:
route -n

10.100.1.32   0.0.0.0         255.255.255.224 U     0      0        0 eth0
192.168.81.0     0.0.0.0         255.255.255.0   U     0      0        0 eth1
0.0.0.0         192.168.81.1   0.0.0.0         UG    0      0        0 eth1
0.0.0.0         10.100.1.33   0.0.0.0         UG    0      0        0 eth0
пробывал дописать еще один маршрут на убунте что бы было аналогично с debain 6, так: route add default gw 192.168.81.1. Но он все равно не доступен. В чем может быть проблема подскажите?

 ,

evilsend
()

Asterisk и iptables

Всем приветы! Нужна помощь, есть ubuntu сервер с двумя интерфейсами ppp0 смотрит в наружу со статикой и eth0 смотрит в локалку 172.1.1.1/24.За шлюзом находится сервер asterisk имеющии ип 172.1.1.2 На самом шлюзе стоит iptables, делает нат, и перенаправляет трафик от конкретных ипов во внутрь на конкретный сервер астера. его правила:

#!/bin/sh modprobe ip_conntrack

IPT=«/sbin/iptables» IP_LOCAL=«xxx.xxx.xxx.xxx» IP_SIPSERVER=«yyy.yyy.yyy.yyy» IP_NAT=«172.1.1.1/24»

${IPT} -P INPUT DROP ${IPT} -P FORWARD ACCEPT ${IPT} -P OUTPUT ACCEPT

${IPT} -F INPUT ${IPT} -F OUTPUT ${IPT} -F FORWARD ${IPT} -t nat -F POSTROUTING

${IPT} -F CHECKBADFLAG ${IPT} -X CHECKBADFLAG ${IPT} -N CHECKBADFLAG

${IPT} -A CHECKBADFLAG -p tcp --tcp-flags ALL FIN,URG,PSH -j DROP ${IPT} -A CHECKBADFLAG -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -j DROP ${IPT} -A CHECKBADFLAG -p tcp --tcp-flags ALL ALL -j DROP ${IPT} -A CHECKBADFLAG -p tcp --tcp-flags ALL NONE -j DROP ${IPT} -A CHECKBADFLAG -p tcp --tcp-flags SYN,RST SYN,RST -j DROP ${IPT} -A CHECKBADFLAG -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP ${IPT} -A CHECKBADFLAG -p tcp ! --syn -m state --state NEW -j DROP ${IPT} -A CHECKBADFLAG -m state --state INVALID -j DROP

${IPT} -A INPUT -i lo -j ACCEPT ${IPT} -A FORWARD -i lo -j ACCEPT ${IPT} -A OUTPUT -o lo -j ACCEPT ${IPT} -A FORWARD -o lo -j ACCEPT

${IPT} -A INPUT -p icmp -j ACCEPT ${IPT} -A INPUT -p tcp -j CHECKBADFLAG ${IPT} -A OUTPUT -p icmp -j ACCEPT

#Trusted hosts ${IPT} -A INPUT -p all -s ${IP_SIPSERVER} -j ACCEPT ${IPT} -A INPUT -p all -s ${IP_LOCAL} -j ACCEPT ${IPT} -A INPUT -p all -s ${IP_NAT1} -j ACCEPT

#NAT ${IPT} -A FORWARD -i eth0 -o ppp0 -j ACCEPT ${IPT} -t nat -A POSTROUTING -o ppp0 -j SNAT --to-source 8.8.8.8

#Перенаправление трафика ${IPT} -t nat -A PREROUTING -s ${IP_LOCAL} -i ppp0 -j DNAT --to-destination 172.1.1.10

${IPT} -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

Проблема заключается в том что, при входящих звонках все работает нормально. А вот при исходящих звонках, звонок приходит но нету никакого голоса. Сам астер выдает при этом ошибку: [2013-04-17 14:09:09] WARNING[23771]: chan_sip.c:4164 retrans_pkt: Retransmission timeout reached on transmission NjZiY2M5N2IzMWZlYWYyZjExN2RhODJkNDM2NThlNDE. for seqno 2 (Critical Response) — See https://wiki.asterisk.org/wiki/display/AST/SIP Retransmissions Packet timed out after 32000ms with no response [2013-04-17 14:09:09] WARNING[23771]: chan_sip.c:4193 retrans_pkt: Hanging up call NjZiY2M5N2IzMWZlYWYyZjExN2RhODJkNDM2NThlNDE. - no reply to our critical packet (see https://wiki.asterisk.org/wiki/display/AST/SIP Retransmissions). == Spawn extension (internal, 79503164430, 1) exited non-zero on 'SIP/1000-00000010'

Может кто сталкивался с таким?

evilsend
()

Управление входящим трафиком

Всем приветы! Есть ubuntu сервер с двумя интерфейсами eth0 смотрит в наружу со статикой и eth1 смотрит в локалку(192.168.1.1) На ней развернуто две виртуальной машины с статическими адресами 192.168.1.2 И 192.168.1.3. Вопрос как сделать так что бы если пришел трафик с конкретного ип адреса к примеру 8.8.8.8 то он ушел на 192.168.1.2, а если трафик пришел с 9.9.9.9 то ушел на 192.168.1.3. Только нужно перенаправлять именно весь трафик, а порты пробрасывать.

evilsend
()

RSS подписка на новые темы