Категорії
FreeBSD

Правильная пересборка ядра

Расскажу, как рекомендуется правильно пересобирать ядро, а именно включать, отключать опции и т.д.

1) Создание конфигурационного файла

Создаём пустой файл в /usr/src/sys/`uname -m`/conf , например, kern1 такого содержания:

include GENERIC
ident kern1

Этим мы определили, что использовать будем шаблон GENERIC, а имя нового ядра kern1.

Категорії
FreeBSD Linux Solaris

Защита от fork бомб

Solaris

В Solaris есть удобный механизм для ограничения количества запускаемых процессов/потоков – это проэкт. Что бы пользователи не смогли положить сервер fork-бомбой, нужно им ограничить количество LWP. Создадим проект и поместим туда пользователя testuser:

#projadd -U testuser -K 'project.max-lwps=(privileged,2048,deny)' user.testuser

Теперь пользователь testuser не сможет запустить более 2048 потоков.

Для тестирования можно использовать такую бомбу:

#!/usr/bin/bash
:(){ :|:& };:

Больше for bomb на разных языках можно взять здесь

Категорії
FreeBSD Linux OpenBSD Solaris

Меняем скорость и дуплекс сетевой карты

FreeBSD

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

# ifconfig -m nfe0
nfe0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=8210b<RXCSUM,TXCSUM,VLAN_MTU,TSO4,WOL_MAGIC,LINKSTATE>
        capabilities=8210b<RXCSUM,TXCSUM,VLAN_MTU,TSO4,WOL_MAGIC,LINKSTATE>
        ether fa:d5:5e:f7:db:ff
        inet 192.168.1.40 netmask 0xffffff00 broadcast 192.168.1.255
        inet6 fe80::f8d5:5eff:fef7:dbff%nfe0 prefixlen 64 scopeid 0x4
        inet 192.168.0.11 netmask 0xffffff00 broadcast 192.168.0.255
        inet 10.11.11.2 netmask 0xffffff00 broadcast 10.11.11.255
        nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
        supported media:
                media autoselect mediaopt flowcontrol
                media autoselect
                media 100baseTX mediaopt full-duplex
                media 100baseTX
                media 10baseT/UTP mediaopt full-duplex
                media 10baseT/UTP
Категорії
FreeBSD Linux Solaris

Порядок запуска стартовых скриптов

FreeBSD

$rcorder /etc/rc.d/* /usr/local/etc/rc.d/*

Linux

$ls /etc/rc`runlevel | cut -d ' ' -f 2`.d | sort

Solaris

$svccfg list

Категорії
FreeBSD

Поддержка dtrace в приложениях

Здесь буду добавлять описание наиболее часто используемого ПО, в которое можно добавить поддержку Dtrace.

Тестовый стенд: FreeBSD 9.0 Release amd64, ядро собрано с поддержкой Dtrace

Категорії
FreeBSD Misc, staff, other

TIMEOUT – READ_DMA retrying

Как пишут в сети, избавиться от этой ошибки помогает принудительное отключение DMA:

echo 'hw.ata.ata_dma="0"' >> /boot/loader.conf

то есть перевод в режим PIO (установить 1 для обеспечения доступа DMA, 0 – для PIO; по умолчанию, DMA).

Категорії
FreeBSD Linux OpenBSD Security Solaris

chattr, chflags и неудаляемые файлы

Как защитить файл от удаления из-под root’a? Ведь root может удалить любой файл? Или не любой? Оказывается, и здесь есть небольшая защита от дурака.

Создатели файловых систем позаботились о том, что бы добавить возможность выставить дополнительные флаги на файлы или папки, которые бы ввели дополнительную защиту:

– нельзя удалить файл (неважно под каким пользователем это делать)
– можно только дописывать/добавлять, но не изменять или удалять

а так же много других возможностей. Напомню, что это свойство файловой системы, а не ОС, поэтому, не для всех ОС эти свойства применимы

Категорії
FreeBSD

Рекомендации по настройке нового сервера FreeBSD

Данная статья поможет вам не забыть настроить основные моменты при поднятии нового сервера с нуля. Будут использоваться общие принципы при настройке сервера, не зависимо от назначения (а если есть специфические моменты – они будут оговорены отдельно)

Кстати, статья будет дополнятся, обновляться.

Категорії
FreeBSD Linux OpenBSD Solaris

Измеряем скорость соединения

Если появилась задача измерять скорость работы между 2-мя хостами, то лучшего инструмента, чем iperf/ttcp не найти.

Оба этих инструмента нужно запускать с обеих концов проверяемой трассы.

Категорії
FreeBSD Linux OpenBSD Solaris

Контролируем процессы

nice (linux/freebsd/solaris/openbsd)

Утилита nice запускает программу, заданную аргументом программа, с
изменённым приоритетом планирования, увеличивая eё значение “nice” на
указанное приращение. Если приращение не указано явно, оно полагается
равным 10. Чем меньше значение nice у процесса, тем более высокий прио-
ритет он имеет.

Суперпользователь может также указать отрицательное приращение, чтобы
запустить программу с более высоким приоритетом.

Домашняя страничка Andy
Записки молодого админа
Самостоятельная подготовка к Cisco CCNA
Самостоятельная подготовка к Cisco CCNP