Архив метки: linux

Asus eee PC rdesktop

Только что приволокли еееПЦ под асусовским линухом с диагнозом “rdesktop после ввода пароля вылетает в segmentation fault”.



С удивлением обнаружил, что там стоит Debain GNU/Linux Etch. Репозитории, естественно, асусовские. на всякий случай решил обновить систему. Rdesktop в списке обновлений не обнаружился. Асусовские репозитории отключил, подключил родной дебиановский.

> sudo apt-get install rdesktop

И всё работает. В родном репозитории пакет обновлён после исправления ошибки, а в асусовском – нет. Ну и как это называется?

что то давно холиваров не было

Сначала этот текст я нашёл ища в блогах по запросу “Linux”, потом у друзей появился… В общем сходил я туда, где вроде как лежит оригинал. Комментарии там тоже знатные. Думал сравнить с тем, что пишут на linuxsux.ru, но тот домен проплатить забыли и сайт недоступен.
Да, там я точно не буду ничего себе заводить или комментировать:
Чтобы добавлять комментарии, необходимо войти, используя идентификатор Windows Live ID (учетную запись Hotmail, Messenger или MSN).

Сама запись:

Часто, бродя по Интернету, натыкаюсь на очаги гитлерлинукс-пидарасов. Основными постулатами в их тусовках всегда является личный понт, полная безграмотность в предмете IT-бизнеса и предвзятость. Пучеглазые лузеры, обделавшиеся во всём и вся, вербуют дураковатых малолеток, которым объясняют, что предать Родину за Бога-Питуха – очень круто. Петушьём линуксоидов начали называть довольно давно именно за это – за подчёркнутую безграмотность при вопиющем фанатизме на пустом месте. Линуксоид – равнозначный термин с “шестёрка”, “придурок”, “лузер”. А вот мне подкинули ссылку с одурачиванием студентов:

kinder linux

Похоже, что я зря недоумевал по поводу такого, казалось бы странного, поискового запроса. Правда, помог мне разобраться что к чему не Google, а Яндекс.

Оказывается, что есть такой дистрибутив JUXlala – Linux für Kinder. Там по ссылке на немецком. Сколько я понял написанное, то это LiveCD для игр и обучения работе с компьютером расчитанный на детей от 3-х лет.

geoip в iptables

есть такой модуль для iptables – geoip. нужен он для того, чтобы фильтровать пакеты по географическому признаку.
по умолчанию в комплект поставки это счастье не входит, тк что собирать его придётся руками.
неполохое описание этого процесса есть здесь на русском или здесь на английском. версии немного отличаются.

Читать далее

простой скрипт iptables для домашнего роутера

#!/bin/bash

# определяем интерфейсы
# внутренний интерфейс
INTIF=eth0
# внешний интерфейс
EXTIF=eth1
# канал в инет
PPPIF=ppp0

# внутренний адрес понятие более менее статическое
INTIP=192.168.1.1
INTNET=192.168.1.0/24
# внешний адрес скорее всего выдаётся динамически
EXTIP=ifconfig $EXTIF | awk "/inet addr/{print \$2}" | tr -d "inet addr:"
PPPIP=ifconfig $PPPIF | awk "/inet addr/{print \$2}" | tr -d "inet addr:"

# чистим правила
/sbin/iptables -F INPUT
/sbin/iptables -F OUTPUT
/sbin/iptables -F FORWARD
# закрываем движение трафика на время установки правил
/sbin/iptables -P INPUT DROP
/sbin/iptables -P OUTPUT DROP
/sbin/iptables -P FORWARD DROP
/sbin/iptables -t nat -F 

# разрешаем доступ снаружи на нужные порты (какие надо)
/sbin/iptables -A INPUT -d $EXTIP -p tcp --destination-ports 22,80 -j ACCEPT
/sbin/iptables -A INPUT -d $PPPIP -p tcp --destination-ports 22,80 -j ACCEPT
# запрещаем доступ снаружи на именованные порты
/sbin/iptables -A INPUT -d $EXTIP -p tcp --destination-port 1:1023 -j REJECT
# эти порты относятся к X11 и я не уверен, что оно поднято на роутере
/sbin/iptables -A INPUT -d $EXTIP -p tcp --destination-port 6000:6007 -j REJECT
/sbin/iptables -A INPUT -d $EXTIP -p udp --destination-port 1:1023 -j REJECT
/sbin/iptables -A INPUT -d $EXTIP -p udp --destination-port 6000:6007 -j REJECT
/sbin/iptables -A INPUT -d $PPPIP -p tcp --destination-port 1:1023 -j REJECT
/sbin/iptables -A INPUT -d $PPPIP -p tcp --destination-port 6000:6007 -j REJECT
/sbin/iptables -A INPUT -d $PPPIP -p udp --destination-port 1:1023 -j REJECT
/sbin/iptables -A INPUT -d $PPPIP -p udp --destination-port 6000:6007 -j REJECT

# если нет почтового сервера, то закроем отправку писем во внешний мир от греха подальше
/sbin/iptables -A OUTPUT -s $EXTIP -p tcp --destination-port 25 -j REJECT
/sbin/iptables -A OUTPUT -s $PPPIP -p tcp --destination-port 25 -j REJECT
# немного простенькой защиты
echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
# Sync-flood protection
/sbin/iptables -A FORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPT
# Hidden port scanning protection
/sbin/iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT
# Ping of death protection
/sbin/iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
# antispuffing...
  for f in /proc/sys/net/ipv4/conf/*/rp_filter; do
   echo -n " $f "
   echo " "
   echo 1 > $f
  done

# разрешаем forward
/sbin/iptables -A FORWARD -s $INTNET -j ACCEPT

# разрешаем маскарадинг
/sbin/iptables -t nat -A POSTROUTING -s $INTNET -o $EXTIF -j MASQUERADE
/sbin/iptables -t nat -A POSTROUTING -s $INTNET -o $PPPIF -j MASQUERADE
echo "1" > /proc/sys/net/ipv4/ip_forward

# прокидываем удалённый доступ к рабочему столу любимого виндового компа
/sbin/iptables -t nat -A PREROUTING -d $PPPIP -p tcp -m tcp --dport 3389 -j DNAT --to-destination 192.168.1.2
# прокидываем удалённый доступ к рабочему столу ещё одного виндового компа, но с другого порта
/sbin/iptables -t nat -A PREROUTING -d $PPPIP -p tcp -m tcp --dport 4389 -j DNAT --to-destination 192.168.1.3:3389
# можно сделать доступ и из провайдеровской локалки
/sbin/iptables -t nat -A PREROUTING -d $EXTIP -p tcp -m tcp --dport 3389 -j DNAT --to-destination 192.168.1.2

# загибаем web-трафик на squid
/sbin/iptables -t nat -A PREROUTING -d ! $INTIP -i $INTIF -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128

# снимаем запреты по умолчанию
# почему? параноя у нас пока на низком уровне.
/sbin/iptables -P INPUT ACCEPT
/sbin/iptables -P OUTPUT ACCEPT
# а в FORWARD всё что надо уже разрешили

ещё надо пропустить через NAT доступ к FTP
а это у меня уже описано

samba и права на доступ.

стандартный вопрос: “почему на шару в самбе писать можно, а клиенту пишет, что нет доступа на запись?”

всё на самом деле просто.
допустим запись в шару на самбе разрешён всем. а в каталог, который расшарен? от кого создавали? от рута? и какие права у него получились?
$ ls -l | grep share

drwxr-xr-x  2 root root       4096 2008-06-18 12:51 share

угадал?
создателю на полный доступ, а группе и всем остальным только чтение.
а самба у нас от кого запускается? правильно, от пользователя. простого. того, под кем на неё пользователь логинится.
в общем, права на каталог ставим самые простецкие:
$ sudo chmod 777 share
всё! пользователи самбы пишут в шару.

на что ещё надо обратить внимание.

при создании системоного пользователя по умолчанию создаётся группа таким же именем как у пользователя. она же прописывается пользователю как начальная группа единственным членом  которой он тут же становится. пользователь может входить и в другие, дополнительные, группы, но при создании пользователем каталогов и файлов в качестве группы подставляется именно начальная группа.
по этому, если не используются acl, а разграничение доступа внутри шары делается через группы, следует внимательно следить за тем какие права доступа назначаются при создании файлов и каталогов и под какими группами работают пользователи.