Статьи из рубрики «linux» RSS

Linux — дружественная операционная система. Она просто разборчива в выборе друзей.

ACL как одно из решений проблемы работы web-сервера под root

Я довольно часто встречал конфигурацию, когда web-сервер работает под root, чтобы обойти жёсткие права доступа, установленные на каталоги пользователей. Рассмотрим на примере: предположим, что пользовательские сайты расположены в /home/<username>/, при этом права на каталог home установлены в 0711 (rwx--x--x), а права на пользовательские каталоги установлены в 0700 (rwx------). Такие права устанавливаются, чтобы изолировать пользователей друг от друга — один пользователь не сможет зайти и посмотреть домашний каталог другого пользователя. Такая мера популярна у администраторов виртуального (shared) хостинга.

Для того, чтобы web-сервер мог нормально обслуживать сайты, обычно используется одно из следующих решений:

  • web-сервер работает под учётной записью root;
  • права на домашний каталог устанавливаются в 0750 (rwxr-x---), а пользователь, под которым работает web-сервер, вносится в группу, которой принадлежит пользователь.

Далее »

Автор: , опубликовано в: Linux, Администрирование, комментариев: 2
15
Ноя
2009

Решение проблем с дуплексным режимом при несоответствии дуплекса

На днях мы сменили хостера (с HiVelocity на Hvosting), и всё было здорово, кроме проблем с интегрированной сетевой картой (Intel Corporation 82567V-2 Gigabit Network Controller).

ifconfig показывал очень большое количество ошибок:

[-]
View Code Text
eth0      Link encap:Ethernet  HWaddr 00:1c:c0:ee:19:33
          inet addr:91.200.42.30  Bcast:91.200.43.255  Mask:255.255.252.0
          inet6 addr: fe80::21c:c0ff:feee:1933/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1492  Metric:1
          RX packets:45816071 errors:0 dropped:32127 overruns:0 frame:0
          TX packets:63359144 errors:9679835 dropped:0 overruns:0 carrier:9679835
          collisions:11287183 txqueuelen:10
          RX bytes:7996889371 (7.9 GB)  TX bytes:80681126916 (80.6 GB)

И, судя по collisions, карта работала в полудуплексном режиме. Техподдержка подтвердила, что коммутатор работает в дуплексном режиме на скорости 10 Мбит/сек. Следовательно, проблема либо в сетевом кабеле (на что указывают высокие значения carrier), либо с сетевой картой (на что указывают collisions). Далее »

Автор: , опубликовано в: Linux, комментариев: 3
13
Окт
2009

ngx_drop_privs: принцип минимальных привилегий в nginx

 — замечательный web-сервер, но, как и практически любой программный продукт, не свободен от ошибок, временами весьма критических.

Архитектура nginx такова, что обычно имеется один привилегированный процесс (запускаемый от всемогущего root) и один или более рабочих процессов (обычно работающих от имени непривилегированного пользователя). Тем не менее, я видел конфигурации, в которых все процессы nginx работают под привилегированным пользователем. Один из примеров — многопользовательский сервер, Document Root сайтов на котором имеет права вида 0700 (запускать несколько nginx и настраивать проксирование — тоже не лучший выход).

Кроме того, за последние неполные пять лет в nginx найдено 112 ошибок (segmentation fault), некоторые из которых теоретически могут дать возможность выполнения произвольного кода в системе (wget http://sysoev.ru/nginx/changes.html -q -O - | grep segmentation | wc -l).

Я не знаю, все ли ошибки затрагивали только рабочие процессы, либо были ошибки в главном процессе — рисковать не хочется. Так и родилась идея написать модуль для nginx — . Далее »

Автор: , опубликовано в: C/C++, Linux, nginx, Безопасность, комментариев: 3
23
Сен
2009

cpufreq-info врёт

Обратил внимание, что при задании частоты нулевому ядру, cpufreq-info показывает одинаковую частоту для всех ядер. Меня это удивило, так как раньше я мог задавать разные частоты для каждого ядра. Решил проверить экспериментально. Далее »

Автор: , опубликовано в: Linux, комментариев: нет
23
Авг
2009

Возвращаем Skype к жизни в Ubuntu Karmic Koala на 64-битной платформе

Почти год назад я писал об аналогичной проблеме со в Intrepid Ibex. Воистину, история имеет тенденцию к повторению — сменился релиз, проблема осталась. Тем не менее, прошлогоднее исправление не помогает, поэтому приходится изобретать что-то новое.

К слову, проблема всё та же:


ALSA lib ../../src/conf.c:2700:(snd_config_hooks_call) Cannot open shared library /usr/lib/alsa-lib/libasound_module_conf_pulse.so
ALSA lib ../../../src/control/control.c:909:(snd_ctl_open_noupdate) Invalid CTL hw:0

Но решается иначе. Далее »

Автор: , опубликовано в: Linux, комментариев: 3
10
Авг
2009

SieFS для Debian Lenny/Ubuntu Jaunty

Почти год назад я писал о  — FUSE-драйвере для файловой системы телефонов Siemens. SieFS нет в репозиториях , к тому же он собирается с проблемами.

Так как далеко не все любят собирать программы из исходников (и плясать с бубном, чтобы кривая программа собралась), а драйвер, как оказалось, нужен многим, я собрал DEB-пакет для SieFS (под архитектуру AMD-64; пакет собирался в Ubuntu 9.04 , но должен работать в ). Далее »

Автор: , опубликовано в: Linux, комментариев: 5
5
Авг
2009

TCP/IP SYN+FIN Packet Filtering Weakness

Сканируя Nessus парочку хостов, столкнулся с тем, что Nessus определял, что система ( 2.6.x) не фильтрует TCP/IP пакеты, у которых установлены флаги SYN и FIN, что, теоретически, может привести к обходу межсетевого экрана (firewall). Далее »

Автор: , опубликовано в: Linux, комментариев: 1
3
Авг
2009

monit 5.0.3 для Debian/Ubuntu Linux

monit предоставляет весьма удобный для системного администратора инструмент мониторинга состояния систем, включая процессы, исполняемые и конфигурационные файлы, потребление ресурсов. умеет выполнять локальные действия (например, запускать упавшие процессы, перезапускать процессы, потребляющие слишком много ресурсов и т.п.), слать предупреждения почтой; имеет опциональный web-интерфейс. Далее »

Автор: , опубликовано в: Linux, комментариев: 1
28
Июл
2009

Борьба со спамом на уровне фильтра пакетов

Два месяца назад я писал об одном очень жестком методе борьбы с последствиями установки плагина Time spent on blog. Теперь этот же самый метод применяем на -ботах, которые безуспешно пытаются оставить спам в комментариях.

Отвлекусь от темы и отвечу на вопрос о необходимости применения жестких мер против спамеров: во-первых, они генерируют много паразитного трафика (трафик не бесплатен), во-вторых, они генерируют лишнюю нагрузку на сервер, в-третьих, вода камень точит — любую капчу можно подобрать. Далее »

Автор: , опубликовано в: Linux, WordPress, Администрирование, комментариев: 6
26
Июл
2009

dk-filter: util.c:47: dk_sterilize: Assertion `str != ((void *)0)’ failed: Часть 2

Вчера я писал об ошибке в dk-filter, приводящей к гибели процесса, если сконфигурирован использовать разные ключи для подписи сообщений от разных отправителей, и ключ для отправителя не найден.

Я предложил два решения: тривиальное (изменить файл конфигурации так, чтобы все отправители начинались со звёздочки) и правильное (пропатчить код демона, ибо фатальное завершение по такой пустяковой ошибке — это неправильно).

Именно о втором решении далее пойдёт речь. Далее »

Автор: , опубликовано в: C/C++, Linux, Администрирование, комментариев: нет
26
Июл
2009