Вы читаете журнал [info]unix_man

Сентябрь 2011

Вс Пн Вт Ср Чт Пт Сб
    123
45678910
11121314151617
18192021222324
252627282930 

Трансляция

RSS Atom
Разработано LiveJournal.com

Предыдущие 10

23 Сент, 2011

Подключение раздела NTFS в режиме чтение-запись во FreeBSD 8.*

Устанавливаем сырцы системы (а не только ядра.)
# sysinstall --->configure --->distributions --->src
Отмечаем все. Сырцы нужно установить, иначе порт вываливается с ошибкой.
 
# cd /usr/ports/sysutils/fusefs-ntfs
# make install clean
# rehash 

Добавляем fusefs в автозагрузку:
# echo 'fusefs_enable=YES' >> /etc/rc.conf  

Монтируем раздел с NTFS в режиме чтение-запись в папку /mnt/ntfs 
# ntfs-3g -o rw,locale=ru_RU.CP1251,fmask=111,dmask=000,uid=2014,gid=1983 /dev/ad6s2 /mnt/ntfs 

В этом случае имена файлов будут отображаться в кодировке CP1251.
Файлы и папки будут принадлежать пользователю с uid=2014 и группе с gid=1983
Директории будут иметь mode 777, файлы – 666. 
Проверил – все работает на ура. Не понравилось то, что нельзя прикручивать юниксовые пермишены диференцировано. Только для всей ФС сразу. 

Подробнее читаем здесь:
http://www.lissyara.su/articles/freebsd/file_system/fusefs-ntfs/
Метки: ,

7 Сент, 2011

Перенос пользователей SAMBA

Насколько понял, если нужно сохранить юзеров,  хранящихся в smbpasswd и затем поместить их в новый формат базы - делаем так:

Сохранить базу пользователей:
pdbedit -e smbpasswd:/root/smbpasswd

Восстановить базу:
pdbedit -i smbpasswd:/root/smbpasswd

Если же база нового формата, то скорее всего нужно просто перенести два файла:
/usr/local/etc/samba/passdb.tdb
/usr/local/etc/samba/secrets.tdb


Ну и, конечно же, базу с системными юзерами нужно перенести.
Метки:

Оптимизация работы Samba-сервера

Вот здесь написано, как увеличить производительность Samba сервера. Сам не пробовал, но надо будет как-то поиграться.
Метки:

7 Янв, 2011

Рестарт сетевых интерфейсов

Вот здесь прочитал коротенький FAQ по FreeBSD и решил себе пометить, ибо бывает частенько нужно в работе.

В: Я произвел настройку сетевых интерфейсов в /etc/rc.conf как мне применить изменения ?
О: Необходимо выполнить /etc/netstart или /etc/rc.d/netif restart И НЕ ЗАБУДТЕ ТАКЖЕ /etc/rc.d/routing restart, а то прощай, маршруты!
Метки:

9 Авг, 2010

Аналог grep, ls, ifconfig, man в windows

Взял здесь system-administrators.info/  и заюзал у себя на компе. Оказалось очень удобно.
Привожу как есть:

Многим любителям шела нравится чудная команда grep.
К сожалению, windows нативно не имеет такой команды, по этому некоторые ставят себе наборы различных консольных утилит в *nix стиле, включая grep.

Мне, как любителю посидеть в консоли Windows очень мешало отсутствие грепа, по этому мои скрипты под Win всегда были не так хороши, как могли бы быть. Но мои скрипты должны работать на любой (ну, или почти на любой) Windows, так как же быть?

К счастью, в Windows XP (и выше) появились две команды, которые призваны исправить положение — это find и более мощный вариант — findstr.

первая простая, и имеет явный недостаток — искомый текст надо заключать в кавычки. Не знаю, как вам — но мне очень не удобно печатать кавычки каждый раз :)

findstr же этого не требует, и к тому же позволяет искать используя мощь регулярных выражений.
Таким образом, теперь надо помнить, что мы не в bash\zsh\etc, а в Win, и набирать findstr вместо grep.
Ну а на своей машине я сделал следующее:

Для grep:
echo findstr %1 %2 %3 %4 %5 > %systemroot%\grep.cmd
теперь можно не задумываясь грепать вывод:

C:\WINDOWS>netstat -an | grep LISTEN

C:\WINDOWS>findstr LISTEN
TCP 0.0.0.0:135 0.0.0.0:0 LISTENING
TCP 0.0.0.0:445 0.0.0.0:0 LISTENING
TCP 0.0.0.0:1963 0.0.0.0:0 LISTENING
TCP 10.198.17.58:139 0.0.0.0:0 LISTENING
TCP 127.0.0.1:1025 0.0.0.0:0 LISTENING
TCP 127.0.0.1:9050 0.0.0.0:0 LISTENING
TCP 127.0.0.1:9051 0.0.0.0:0 LISTENING
TCP 192.168.56.1:139 0.0.0.0:0 LISTENING

Ну и на закуску:
ifconfig:
echo IF "%1"=="-a" (ipconfig /all) ELSE (ipconfig %1) > %systemroot%\ifconfig.cmd

man:
echo %1 /?> %systemroot%\man.cmd

ls:

echo IF "%1"=="-a" (dir) ELSE (IF "%1"=="-al" (dir) ELSE (dir %1 %2 %3 %4 %5)) > %systemroot%\ls.cmd

Я часто на автомате даю ключ(и) -a(l) команде ls, по этому добавил их «обработку»

1 Июл, 2010

Squid: делаем прозрачным

Возникла необходимость сделать сквид прозрачным, т.е. невидимым для пользователей. Итак, в squid.conf добавляем опцию:
http_port 3128 transparent

В IPFW заворачиваем весь траф на 80 порт сквиду:
# ipfw add 0010 fwd 127.0.0.1,3128 tcp from 192.168.1.0/24 to any 80 in via rl0

Имеется ввиду входящий трафик на 80 порт из подсети 192.168.1.0/24 через сетевуху rl0
Недостатки метода: Запросы на 443 не проходят из-за особенностей протокола.

Выходов из ситуации два:
1. Прописать у клиента прокси в браузере руками - в этом случае SSL будет работать.
2. Пустить траф на 443 порт через нат мимо прокси.

Вдогонку: FTP прозрачный Squid тоже не кеширует. Но для FTP протокола вдобавок к двум предложенным выше решениям можно прикрутить прозрачный FTP прокси, например Frox

Может я не прав? Буду рад предложенному альтернативному решению.
Метки:

16 Июн, 2010

Squid faq - Контроль доступа

Здесь лежит хороший фак по теме. Просто и понятно.
Метки:

Простой шаблон для IPFW

Очень удобно разграничивать доступ. Так как трафик четко делится на входящий и исходящий на каждом интерфейсе (2 интерфейса = 4 направления), то в секционных настройках можно не указывать направление и интерфейс, ибо в секцию попадают уже четко отсортированные по этим значениям пакеты.

Содрано отсюда: http://www.opennet.ru/openforum/vsluhforumID10/2785.html

${ipfw} add 1000 skipto 10000 ip from any to any in recv rl0
${ipfw} add 1100 skipto 20000 ip from any to any out xmit rl0
${ipfw} add 1200 skipto 30000 ip from any to any in recv wi0
${ipfw} add 1300 skipto 40000 ip from any to any out xmit wi0

${ipfw} add 2000 deny log ip from any to any

#internal-in
${ipfw} add 10000 count ip from any to any
#здесь можно ограничить лишний трафик из локалки
${ipfw} add 19000 allow ip from any to any

#internal-out
${ipfw} add 20000 count ip from any to any
#здесь можно ограничить лишний трафик в локалку
${ipfw} add 29000 allow ip from any to any

#external-in
${ipfw} add 30000 count ip from any to any
# тут запрещаем все лишнее на входе
${ipfw} add 38000 divert natd ip from any to any
${ipfw} add 39000 allow ip from any to any

#external-out
${ipfw} add 40000 count ip from any to any
# тут запрещаем все лишнее на выходе
${ipfw} add 48000 divert natd ip from any to any
${ipfw} add 49000 allow ip from any to any

${ipfw} add 65000 deny log ip from any to any
---------------------------------------------------------------

А теперь пример на основе данного шаблона
${ipfw} add 1000 skipto 10000 ip from any to any in recv rl0
${ipfw} add 1100 skipto 20000 ip from any to any out xmit rl0
${ipfw} add 1200 skipto 30000 ip from any to any in recv wi0
${ipfw} add 1300 skipto 40000 ip from any to any out xmit wi0

${ipfw} add 2000 deny log ip from any to any

#internal-in
${ipfw} add 10000 count ip from any to any
${ipfw} add 19000 allow ip from any to any

#internal-out
${ipfw} add 20000 count ip from any to any
${ipfw} add 29000 allow ip from any to any

#external-in
${ipfw} add 30000 count ip from any to any
${ipfw} add 36000 deny ip from any to not 10.0.0.66
${ipfw} add 38000 divert natd ip from any to any
${ipfw} add 39000 allow ip from any to any

#external-out
${ipfw} add 40000 count ip from any to any
${ipfw} add 48000 divert natd ip from any to any
${ipfw} add 49000 allow ip from any to any

${ipfw} add 65000 deny log ip from any to any

2. (добавил второе правило в твой набор правил)
${ipfw} add divert natd ip from 192.168.1.0/24 to any via wi0
${ipfw} add deny ip from any to not 10.0.0.66 in recv wi0
${ipfw} add divert natd ip from any to 10.0.0.66
${ipfw} add allow ip from me to 10.0.0.0/24 via wi0

${ipfw} add allow ip from 192.168.1.0/24 to any via rl0
${ipfw} add allow ip from any to 192.168.1.0/24

(запрещать те пакеты из внешней сети, что  беспокоят, надо ДО ДИВЕРТА иначе после их не отличить от нормальных )

Метки:

FreeBSD выдает ошибку при установке с CD (DVD)

Столкнулся с проблемой: ставлю восьмерку с сидюка - выкидывет ошибку. какую уже не помню. :-) Ну что-то типа того, что не может прочитать диск. Думал уже новый диск раскатать с образа, да решил у Гугла спросить. Оказывается есть такая проблема. Лечится так:

При выходе в меню загрузки нажать на клавиатуре "6" - шестой пункт меню - выход в single-user mode. Получаем шелл. Вводим:

# set hw.ata.atapi_dma=0
# boot

Ну и побежали строки. :-) Дальше установка, как обычно.
Метки:

Подмена MAC адреса во FreeBSD

Вчера мне понадобилось подменить MAC адрес на тачке под управлением FreeBSD. Причем нужно было сделать так, чтобы при каждой загрузке этот адрес цеплялся к нужному устройству. Итак исходные данные, которые есть:

имя интерфейса: fxp0
ip: 192.168.1.1
mask: 255.255.255.0
gw: 192.168.1.2
MAC: 00:45:ur:4e:85:3a


Хотим при загрузке получить ту же самую конфигурацию, только MAC адрес должен быть заменен надругой: New MAC: 00:20:ed:7e:78:6b

В /etc/rc.conf прописываем как обычно:
ifconfig_fxp0="inet 192.168.1.1 netmask 255.255.255.0"

Создаем файл (обычный текстовый - не скрипт, без бита "исполняемый")
/etc/start_if.имя_интерфейса   Т.е. в нашем случае будет
# touch /etc/start_if.fxp0
и прописываем в этот файл одну строчку:
ifconfig fxp0 ether 00:20:ed:7e:78:6b
Сохраняемся, перезагружаемся. Проверяем применилась-ли конфигурация. У меня прошло все гладко. Вообще, насколько я понял, в этот файл можно добавить и другие параметры, которые нужно передать интерфейсу во время загрузки. Как-то покопаюсь глубже, а пока и этого хватило.

Если есть необходимость поменять MAC без ребута, то применительно к нашему fxp0, делаем так:
# ifconfig fxp0 down
# ifconfig fxp0 ether 00:20:ed:7e:78:6b
# ifconfig fxp0 up

ну и проверяем? или сработало:
# ifconfig fxp0



Метки:

Предыдущие 10