Архив метки: 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, а разграничение доступа внутри шары делается через группы, следует внимательно следить за тем какие права доступа назначаются при создании файлов и каталогов и под какими группами работают пользователи.