Категорії
FreeBSD Solaris

[dtrace] Протоколируем удалённые файлы

Ниже будет приведён скрипт, который позволяет перехватить удаление файла и вывести сообщение на консоль. При этом, на место блока /* INSERT HERE */ можно вставить свои обработчики, которые будут выполняться каждый раз, когда кто-то захочет удалить файл.

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

Отключаем SMF Auto-restart

По умолчанию, при падении сервиса (и даже при kill -9) он автоматически поднимается через restarter. Бывают моменты, когда это нужно отключить. И так, выполняем такие действия (покажу на примере nginx’a)

#svccfg -s svc:/network/cswnginx:default
svc:/network/cswnginx:default>  addpg startd framework

Если выругается, что группа уже есть, просто переходите к следующему пункту

svc:/network/cswnginx:default>  setprop startd/duration = astring: transient
svc:/network/cswnginx:default> validate

Команда validate покажет, если есть какие-то ошибки. Если ничего не выдало, просто выходим через exit

Теперь применяем конфигурацию:

#svcadm refresh svc:/network/cswnginx:default

Если вдруг не сработало, тогда ещё сделайте disable/enable сервису.

Что бы включить обратно restarter – просто удалим то, что создали.

Категорії
Solaris

Обновление Solaris 11

После выхода 11-ой версии и очень больших изменениях изменилась и сама процедура обновления. Теперь не нужно никаких LiveUpgrade, всё делается через пакетный менеджер pkg.

Ниже будет описан способ обновления для пользователей, у которых нет поддержки Oracle

Категорії
FreeBSD Solaris

Расширение корневого пула zfs

В статье будем рассмотрен механизм замены дисков корневого пула на диски большей ёмкости. Данный метод подходит как для Solaris-family так и для FreeBSD.

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

vi/vim и забыли, что нету прав за запись файла

Часто бывают такие ситуации, когда вы открыли через vi/vim файл, сделали очень много изменений и в конце понимаете, что забыли выполнить sudo. Что же делать? Заново править файл очень как не хочется. на помощь приходит такая команда:

:w !sudo tee %

а для Solaris можно ещё и такую

:w !pfexec tee %

После этого выдаётся запрос на ввода пароля и подтверждение, что вы хотите перезаписать файл и всё (с вариантом pfexec запрос пароля не происходит).

Категорії
Solaris

Количество ip/alias на сетевой карте

По умолчанию вы сможете задать на сетевую карту всего 256 ip (или алиасов). Узнаём текущее значение:

# ndd -get /dev/ip ip_addrs_per_if
256

Если нужно больше (допустим, у вас очень много зон), то делаем так:

# ndd -set /dev/ip ip_addrs_per_if 8191

Между прочим, это так же максимальное количество неглобальных зон, которые можно создать в global зоне.

Для сохранения при ребуте, можно внести изменения в /etc/system:

set ip:ip_addrs_per_if=8191

Категорії
Solaris

fmadm или узнаем обо всех проблемах на сервере

В Solaris существует встроенных механизм определения неполадок, называемый fmadm. Он позволяет определять, что вышло из строя и сигнализировать об этом. Этим всем управляет служба svc:/system/fmd:default. Например, вот вывод из системы, где вышел из строя 1 диск из зеркального пула

Категорії
Solaris

Обзор нового менеджера пакетов pkg

В Solaris 11 появился новый менеджер пакетов pkg. Он очень удобен, так как позволяет не только работать с пакетами (устанавливать, удалять, обновлять и т.д.), а и обновлять ОС.

В статье расскажу некоторые применения pkg.

Категорії
Solaris

ACL в Solaris

В последних предыдущих версиях Solaris поддерживалась реализация списков ACL, в первую очередь основанная на спецификации списков ACL согласно проекту стандарта POSIX. Списки ACL на основе проекта POSIX используются для защиты файлов UFS. Они преобразуются в версиях NFS, предшествующих версии 4.

При внедрении NFSv4 новая модель списков ACL полностью поддерживает возможности совместного функционирования клиентов UNIX и не UNIX, обеспечиваемые NFSv4. Новая реализация списков ACL согласно спецификации NFSv4 обеспечивает расширенную семантику на основе списков ACL типа NT.

Категорії
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 на разных языках можно взять здесь

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