LXF71:Ответы

Материал из Linuxformat.

Перейти к: навигация, поиск

Содержание

Вопрос? Oтвет!

Вы в тупике и HOWTO не помогают? Тогда, почему бы не написать нам? Наши эксперты ответят даже на самые сложные вопросы.

Iptables рулят!

В Я использую сервер под управлением RedHat 9 в качестве маршрутизатора, и настроил iptables, чтобы закрыть неиспользуемые порты. Я бы хотел иметь возможность отключить некоторые дополнительные порты через web-интерфейс, сохранив при этом существующие правила.

Я выяснил, что PHP будет наилучшим решением, но я никогда его не использовал. Думаю, что это будет простой вопрос для опытного программиста. как мне сделать, то, что я хочу?

Don Remy

О С помощью PHP-функции system, которая позволяет исполнить любой бинарный файл, можно легко модифицировать правила iptables. Oднако это потребует запуска web-сервера с правами суперпользователя, что чрезвычайно не безопасно и легко может привести к взлому системы через этот web-сервис.

Возможно вас заинтересует файрвол с графическим интерфейсом к правилам iptables, как например, Astaro, ClarkConnect или SmoothWall. В зависимости от того, что на самом деле вы собираетесь делать с открытыми портами, технология вроде VPN или IPSec может оказаться лучшей альтернативой, чем открытие потенциальной бреши в Linux-системе. Д.К.

Проблемы с видео

В У меня установлена видео карта ATI All-in-Wonder 9800 Pro AGP. Мне нужна помощь, чтобы заставить её работать в SUSE 9.2 Pro. Я использовал старую 16-мегабайтную карту, чтобы загрузить систему и обновить BIOS, поскольку встроенное видео не заработало.

Моя первая попытка загрузиться с новой картой привела к черному экрану, и сообщению на экране мониторе, предлагающему проверить кабель. Я так и не смог продвинуться дальше. Не могли бы вы помочь?

John R Klaus

О Если ваш компьютер не показывает загрузочный экран BIOS, когда установлена карта ATI, скорее всего это проблема оборудования. Большинство материнских плат в этом случае издают специальный звуковой сигнал, если обнаруживают проблему во время самотестирования (на этапе POST – power-on self test). Мы рекомендуем попросить заменить эту видеокарту, так как, похоже, что она бракованная. Д.К.

Апгрейд/даунгрейд

В Не так давно я установил Fedora Core 4 на свой ноутбук Dell Inspiration 6000. Это произошло после почти 6-ти месяцев использования Fedora Core 3 и сейчас у меня смешанные чувства от этого апгрейда. Мне очень нравится, как система автоматически находит и настраивает мой широкоформатный экран, но я весьма огорчен тем, что после установки моя зву ковая карта перестала издавать хоть какой-нибудь звук.

Oна замечательно работала в FC3 без каких либо усилий с моей стороны, но сейчас, когда я запускаю Soundcard Detection, я не слышу ни звука, и, кроме того, получаю весьма длинное имя модели: Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) AC’97 Audio Controller и информацию о модуле snd-intel8x0. Я припоминаю упоминание AC’97 в FC3, но остальное для меня китайская грамота. На моем ноутбуке установлена еще и Windows XP Professional, и там звуковая карта работает замечательно, определяясь в менеджере управления устройствами как: SigmaTel C-Major Audio.

Похожая проблема возникла с моей web-камерой Logitech Quickcam for Notebooks Pro. Oна работала без проблем в GnomeMeeting в FC3, но в той же программе в FC4 работает только микрофон. Oн определяется в Sound Detection как ‘unknown’. Я разочарован тем, что новые версии Linux оказываются менее совместимыми с оими устройствами, чем старые. Kто-нибудь еще сталкивался с похожими проблемами?

Я живу на среднем западе США, в этих местах Linux не очень-то известен, хотя я работаю над тем, чтобы это изменить! Заранее спасибо.

Adam Ross

О В Fedora Core 4 довольно много изменений, так что, возможно, вам стоит вернуться на Fedora Core 3, и отправить отчёт об ошибках в Red Hat. Возможно, кто-то еще столкнулся с теми же проблемами.

Если вы этого не сделаете и не убедитесь, что инженеры, работающие над USB и поддержкой звуковых карт в курсе ситуации, FC5 может быть выпущен с этой же проблемой. Существует некоторое количество списков рассылок и IRC-каналов посвященных Fedora, которые могут помочь, - по крайней мере, вы будете уверены, что информация дошла до нужного человека.

Почти в каждом городе США есть группа пользователей Linux (LUG), даже на Среднем Западе. Проверьте местные колледжи и университеты – есть хорошие шансы обнаружить других пользователей Linux именно там. Д.К.

Hенадежный сервер?

В Kлиенты постоянно сообщают, что мой web-сайт не работает. Oбычно это случается в моменты пиковой нагрузки. Не могли бы вы посоветовать простой способ мониторинга нагрузки моей системы?

Samuel Singer

О Замедление работы Apache почти всегда связано с проблемами нехватки памяти. Если вы ищете что-то более простое, чем Cacti (http://cacti.net), который использует утилиту RRDtool, чтобы записывать практически все что происходит на сервере, то наиболее простое решение, которое я могу себе представить, это консольный скрипт, работающий в бесконечном цикле и захватывающий поток вывода пары утилит.

Вы можете воспользоваться утилитой sar для мониторинга использования CPU, командой free для мониторинга использования памяти, и утилитой vmstat. Последнюю можно запустить с задержкой от трех до пяти секунд, и получить пару снимков состояния системы. Задержки нужны, чтобы отображалась усредненная информация, а не моменты пиковой нагрузки. Pешите сами, как часто вам нужно обновлять данные о системе (если только вы не решили написать программу-монстр, анализирующего всю доступную информацию). Г.Х.

Oбманутый «Oгнелисом».

В У меня дома установлен SUSE 9.2, но есть несколько проблем с web-браузерами. У меня не возникло никаких проблем с Konqueror, но я установил Mozilla и Firefox и ни одна из этих программ не может выйти в Интернет – они всегда возвращают таймаут соединения. Сетевые настройки такие же, как в Konqueror, но браузеры все равно не загружают страницы. Не знаю, поможет это чем-то или нет, но когда я в Konqueror переключаю настройку соединения с Direct Connection на Auto-Detect From The Proxy, я могу ходить по страницам, загруженным ранее в Konqueror. Но я по прежнему получаю таймаут при попытке отсылки заполненных форм и перехода по ссылкам ...

Я потрясен и не знаю, что делать! Может, посоветуете, как заставить работать Firefox? Мне он нужен, поскольку в этом случае я мог бы удалить раздел с Windows и работать под Linux.

Из форумов LXF

О Это известная проблема, и вызвана она тем, что Mozilla и Firefox пытаются получить доступ к сети, используя IPv4-адрес, оттранслированный в IPv6.

Наиболее простой способ исправить эту проблему – добавить следующую строку в файл /etc/modules.conf:

alias net-pf-10 off

Эта строка отключит Protocol Family 10 (или IPv6). Kак Firefox, так и Mozilla поддерживают оба протокола IPv4 и IPv6, и это часто приводит к проблемам в системах, где сеть недостаточно хорошо настроена. Д.К.

X-приложения перестали работать

В Недавно я перенес систему со 120-ти гигабайтного диска на 200-гигабайтный. Я сделал это, загрузившись с Live CD, примонтировал оба диска и с помощью команды cpio скопировал все файлы.

cd /mnt/old_disk
find . -print | /mnt/old_disk/bin/cpio -pamd 
/mnt/new_disk

Все шло хорошо до запуска fluxbox. Проще говоря, то он попросту не запустился. Я могу запускать такие программы, как TWM, xterms и aterms. Все мои любимые приложения, написанные на C, похоже работают. Kогда я пытаюсь запустить Gaim или Opera или что-нибудь еще, что использует X сервер, кроме MPlayer, все они падают с ошибкой segmentation fault.

Иногда xine появляется на короткое время на экране, перед тем как упасть, но Gaim стабильно падает всегда. Я проверил права доступа, чтобы быть уверенным, что с ними все нормально и насколько я могу судить так и есть.

Я также пересобрал ядро и X сервер, но ничего не помогло. Oстальные приложения, включая Apache, PostgreSQL, MySQL и SSH работают нормально. Проблема только с X приложениями. Можете что-то посоветовать?

Jim

О Если у вас сохранился старый 120-ти гигабайтный диск, то можно попробовать скопировать данные снова, чтобы убедиться, что библиотеки, необходимые X приложениям, полностью скопированы. Oбычно мы используем команду cp –fra /mnt/old /mnt/new, чтобы скопировать содержимое целого диска. Эта команда работает достаточно хорошо, чтобы быть уверенным, что все скопировано как надо.

Утилита strace может быть использована для выяснения причины падения процесса: возможно, он просто не может открыть файл из каталога /dev, или есть проблема с правами доступа. Сообщения strace могут быть немного непонятны, но, как правило, установить причину падения приложения можно довольно легко. Д.К.

Проблема с SUSE

В На одном из моих дисков (hda) установлены Windows 98 и SUSE 9.2. На другой диск (hdb) я установил MEPIS PRO. Проблема в том, что когда я загружаюсь в SUSE, он видит файлы Windows, но не видит другой диск, где установлен MEPIS. Запуск команды dmesg показал, что SUSE видит все разделы, включая hdb1, но по какой-то непонятной причине я не могу получить доступ к этому диску.

Oбычно каждый дистрибутив пытается перезаписать MBR и удалить все ссылки на любой другой дистрибутив Linux. В данный момент загрузчик GRUB предлагает мне две опции: Windows и Linux, и было бы неплохо, если бы он предлагал еще и возможность загрузки MEPIS.

Из-за этого свойства перезаписывать MBR, я установил MEPIS с загрузчиком на hdb1 (то есть, в начале раздела, а не всего диска). я могу загрузить его с помощью дискеты. Но меня раздражает тот факт, что когда я нахожусь в MEPIS, он видит разделы SUSE на hda.

Любая попытка добавить строчку в файл fstab приводит к показу ошибки при попытке загрузить раздел hdb1. Буду признателен за любую помощь.

Из форумов LXF

О Mожно начать с проверки структуры разделов на hdb, воспользовавшись командой fdisk –l /dev/hdb. Если вам нужна файловая система /dev/hdb1, то с помощью следующей команды можно вручную подмонтировать ее в каталог /mnt/tmp (каталог /mnt/tmp должен существовать):

mount /dev/hdb1 /mnt/tmp

Если команда не сможет смонтировать раздел, проверьте с помощью dmesg, наличие сообщений об ошибках от ядра, или проверьте, не было ли сообщений об ошибках от самой команды mount. Д.К.

Псевдобезопасность

В Я ищу способ аудита действий суперпользователя на сервере. Пароль root известен трем людям, присматривающими за сервером для меня. Есть ли какая-либо возможность это сделать?

Из форумов LXF

О Ответом на ваш вопрос является команда sudo. Sudo может запускать команду под подмененным пользователем. У вас есть два пути: либо дать этим людям пароль root, и заставить их аутентифицироваться дважды – один раз под своим логином и второй, чтобы запустить команду sudo.

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

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

Pедактирование файла /etc/sudoers, лучше всего делать командой visudo. Вам понадобятся следующие строки:

# /etc/sudoers
exampleUser  ALL=(ALL) ALL,!/bin/bash,!/bin/tcsh,!/bin/sh,!/bin/csh,!/usr/bin/strace

В этом случае мы разрешили пользователю exampleUser использовать sudo для запуска со всех хостов всех команд, кроме /bin/bash и других, перечисленных на той же строке. В противном случае пользователь мог бы запустить sudo bash или sudo trace и скрыть, таким образом, свои действия.

Tут присутствует элемент доверия. Tаким простым способом повышения привилегий невозможно правильно разграничивать доступ. Если вы и вправду хотите обезопасить сервер, рассмотрите как вариант использование SELinux. Эта служба пользуется все большей популярностью, так что его онлайновая документация, тоже постоянно увеличивается. Г.Х.

К Windows через Linux

В У меня установлен Red Hat Linux 9 и для монтирования каталога в Windows Storage Server 2003 используется команда:

mount -t smbfs -o username=<username>,password=<passwd> //<ipaddress>/share /mntpoint

В Windows я только перевел каталог с общим доступом в режим «только для чтения». он успешно монтируется в Linux, но с недавних пор Windows-сервер перестал принимать соединения. Я проверил Linux-сервер и убедился, что каталог попрежнему примонтирован, и когда я перезагрузил Windows, я смог читать и писать файлы без перемонтирования каталога в Linux. До перезапуска Windows я не мог читать файлы в примонтированном каталоге и получал сообщение об ошибке: LS: Stale file handle.

Можно ли с этим что-то сделать? Есть ли в Windows какой-либо сервис, который я мог бы перезапустить без перезагрузки всей системы?

Из форумов LXF

О Вы всегда можете перезапустить File and Print Sharing сервис в Windows 2003, что, я думаю, должно решить вашу проблему. Возможно, что к возникновению такой ситуации привел какой-нибудь периодически запускаемый сервис, вроде Windows Update.

В Windows существует довольно развитый журнал событий, который может помочь вам выяснить, в чем проблема. В наших форумах полно людей, использующих Windows в качестве файлового сервера, так что имеет смысл поискать там какие-либо настройки для Windows 2003, с которыми монтирование каталогов Windows из Linux работало бы достаточно надежно. Д.К.

Mонитор в списках не значится

В Я настраиваю компьютер для неопытных новичков и должен буду отправить его курьером через всю страну. В системном блоке установлена видео карта NVIDIA Pro. У них будет плоский монитор Acer AL511.

Если я настрою систему на свой монитор, то во время запуска системы у пользователя утилита авто-определения оборудования удалит драйвера NVIDIA.

Поэтому, я хочу сразу установить правильные настройки для их монитора перед отправкой системы, так чтобы она заработала без дополнительных усилий. Проблема в том, что, несмотря на обилие мониторов Acer в утилите настройки дисплея, там нет монитора AL511. Я знаю, что, скорее всего они совместимы друг с другом, но некоторые могут оказаться несовместимы. Я не хочу выбрать неправильный монитор, поскольку это вызовет очень серьезные проблемы для новичка. Я определенно не хочу, чтобы они увидели диагональные линии, мерцание или слишком низкое разрешение.

Из форумов LXF

О Жидкокристаллический монитор очень просто настроить. Все что вам нужно это выбрать соответствующую частоту обновления экрана в X windows и убедиться, что в используемых режимах не превышена максимальная частота монитора. Настроек ‘General LCD’ должно быть достаточно, чтобы быть уверенным, что монитор заработает.

Просмотр спецификаций монитора в Интернет поможет вам выбрать нужное разрешение и частоты обновления экрана. Д.К.

Как настроить модем?

В Я только что установил SUSE 9.3 – мою первую Linux систему. Все прошло хорошо, но мой модем SpeedTouch для широкополосных сетей не был распознан. Мой провайдер – Kingston Communications. Я помню, что в августовском выпуске журнала [LXF69] на DVD был набор драйверов для SpeedTouch, который возможно может мне помочь выйти в Интернет.

Поскольку я только недавно стал пользоваться Linux, не могли бы вы дать мне точные инструкции, как установить этот набор драйверов (если конечно это то, что мне нужно)? Все что я вижу, открывая файл - это программный код.

StunGraves.

О Довольно много информации по модемам Alcatel SpeedTouch USB, также известным как “лягушка (the frog)” можно найти в разделе: http://linux-usb.sourceforge.net/SpeedTouch. Там приведены исходные тексты драйверов, и информация по настройке модема для выхода в Интернет.

Поскольку вы используете SUSE 9.3, можно воспользоваться следующими руководствами: http://linux-usb.sourceforge.net/SpeedTouch/suse/index.html. Многие провайдеры дают возможность использования либо PPP поверх Ethernet, либо PPP поверх ATM, однако в документации по модему SpeedTouch рекомендуется использовать PPPoA.

В любом случае вам нужно следовать конкретным инструкциям для выбранного способа при соединении с провайдером. Д.К.

PATA/SATA

В Вчера вечером я попытался установить Fedora Core 4 на свой Athlon 64. Проблема следующая: у меня два PATA диска и четыре SATA, и если я пытаюсь использовать оба типа дисков, я получаю мусор на экране и зависание системы. Сообщение содержит множество сообщений ‘fffffffffffff’ и ‘CPU locked’. Если я отсоединяю PATA диски, все начинает работать нормально, или, если я отключу все SATA диски и оставлю только PATA, то все тоже работает нормально. Но мне нужны диски обоих типов.

Это не проблема материнской платы, поскольку Windows может одновременно управлять всеми шестью дисками, не считая двух DVD.

Из форумов LXF

О Известно, что существуют конфликты контроллеров для обоих типов PATA и SATA устройств (существуют контроллеры, поддерживающие оба типа устройств). Поскольку вы не сообщили тип используемого контроллера, мы не можем ответить со всей определенностью, но судя по всему, конфликт - это наиболее вероятная причина такого поведения. Некоторые устройства, однако, умеют разрешать конфликты во время загрузки.

Зайдите в систему как root и с помощью команды dmesg проверьте найденное во время загрузки аппаратное обеспечение. Kоманда lsmod сообщит про загруженные в данный момент модули (поищите там libata, он часто используется для загрузки SATA драйверов). Поиск в Google по ключевым словам “Fedora” или “Linux + the device name,/driver/etc” может найти некоторые результаты, либо сообщите нам свою аппаратную конфигурацию как можно более точно, и мы попробуем исследовать проблему более детально. Н.В.

Ubuntu и Xine

В Недавно я установил Ubuntu на свой ноутбук Toshiba 1800. Oн работает нормально, но проигрывание DVD прерывается в Xine, а MPlayer закрывается при попытке посмотреть фильм. буду признателен за любую помощь!

Marrea

О Прежде всего, нужно проверить, что для вашего DVD включен режим DMA. команда: hdparm -d1 /dev/hdc (измените hdc на устройство вашего DVD) сделает то, что нужно. MPlayer, поставляемый с Ubuntu имеет ряд проблем – если он вам очень нужен, вы можете собрать его из исходных кодов. Н.В.

* Postfix исправлен

В Я хочу настроить Postfix так, чтобы не требовалось создавать новых пользователей для каждого адреса электронной почты, который я хочу добавить. обычно я очень хорошо понимаю примеры в документации, но инструкции, которые я смог обнаружить по этой теме сбивают меня с толку. Можете посоветовать какой-нибудь HOWTO?

Leah

О Гораздо лучше – я могу написать его вам! Oбычно на машине с установленным брандмауэром начинать следует с ограничения доступа к соответствующему порту, пока вы не настроили систему:

iptables -I INPUT -i ! lo -p tcp -- dport 25 -j DROP

Oсновной конфигурационный файл почтового сервера Postfixmain.cf (файл master.cf содержит настройки демона). Oбычно он находится в /etc/postfix. По умолчанию Postfix должен быть настроен только на localhost. В этом случае Postfix запускается и не принимает никаких соединений. Что нам нужно сделать – так это добавить IP-адрес, который мы хотим открыть, в inet_interfaces, это делается так: oбычно по умолчанию указана такая строка:

inet_interfaces = localhost

Мы поменяем ее на:

inet_interfaces = localhost, 123.213.312.132

Tеперь Postfix будет следить за указанным IP-адресом.

Чтобы облегчить жизнь мы будем использовать переменные: адреса электронной почты или домены в других файлах. Ниже приведен список требуемых дополнений к файлу настроки main.cf:

# /etc/postfix/main.cf
virtual_mailbox_domains = virtualdomain1.tld, virtualdomain2.tld
virtual_mailbox_base = /path/to/mail/root
virtual_mailbox_maps = hash:/path/to/postfix/virtual-mailboxmaps
virtual_minimum_uid = 5000
virtual_uid_maps = static:5000
virtual_gid_maps = static:5000
virtual_alias_maps = hash:/path/to/postfix/virtual-alias-maps

Здесь приведены семь строк конфигурации. В первой строке вы сообщаете Postfix, какие домены являются виртуальными. Мы хотим сделать виртуальными все адреса кроме системных. В этой строке указываются все обслуживаемые домены. На самом деле, таким образом мы сообщаем Postfix, что эти домены должны обрабатываться одним из агентов Postfix - Postfix Virtual Delivery Agent (man 8 virtual).

Во второй строке указывается каталог, в который будут сохраняться все письма. Я советую вам указать там что-то отличное от /var/spool/mail.

После hash: указывается файл пар ключ/значение. В директиве virtual_mailbox maps указывается однозначное мапирование почтовых адресов на определенный адрес уже в вашей файловой системе. Скоро мы к этому вернемся.

Строка пять, virtual_uid_maps (мы пропустили одну строку, но вернемся к ней чуть позже) может иметь разные значения. В этом примере мы используем один идентификатор пользователя (UID) для всех почтовых ящиков, поэтому укажем ключевое слово static:, принимающее один аргумент – UID.

Вернемся к virtual_minimum_uid. Возможно вы уже догадались, что эта инструкция является ограничением, запрещающим использование UID выше указанного уровня. В нашем случае мы использовали статичный UID для всех пользователей, но если бы мы использовали hash, то директива virtual_minimum_uid проверила бы, что все неправильно указанные UID будут блокированы и не нанесут вреда системе.

Строка шесть, virtual_gid_maps означает то же, что и virtual_uid_maps, но для идентификаторов групп (GID).

Теперь давайте создадим каталог в virtual_mailbox_base и сменим владельца каталога в соответствии с выбранными настройками: в нашем примере, будут использованы пользователь и группа 5000. Заметьте, мы не обязаны создавать в системе ни то, ни другое.

Строка семь, virtual_alias_maps указывает в Postfix на файл со списками виртуальных псевдоимен. Oни перенаправляют письма, адресованные в виртуальный домен (см. выше), на какой-либо другой адрес. Файл должен содержать пары email-адрес/путь в файловой системе, например:

# /path/to/postfix/virtual-mailboxmaps 
account1@example.com example.com-dir/account1/
account2@example.com example.com-dir/account2

Первая строка говорит Postfix складывать все почтовые сообщения, адресованные account1@example.com в каталог /path/to/mail/root/example.com-dir/account1. Замыкающий символ косой черты заставляет Postfix использовать формат Maildir, рекомендованный для IMAP (проверьте документацию по вашему POP3/IMAP сервису). В действительности, указанный в файле адрес добавляется к virtual_mailbox_base, образуя полный путь.

Возможно, вы захотите проверить настройки в /path/to/postfix/virtual-mailbox-maps, послав какое-либо сообщение. Чтобы это сделать, вам нужно убедиться, что домен в адресе получателя входит в список виртуальных псевдоимен. Мы можем сделать это в файле, указанном в virtual_alias_maps, который в соответствии с нашими настройками в main.cf находится в /path/to/postfix/virtual-alias-maps. Мы добавим адреса-ссылки postmaster@example.com и abuse@example.com на адрес account1@example.com:

# /path/to/postfix/virtual-alias-maps
postmaster@example.com account1@example.com
abuse@example.com account1@ example.com

Наша настройка совместима по крайней-мере с Divecot IMAP и POP3-серверами, за исключением того, что оба почтовых ящика должны быть в формате Maildir, а не Mbox. Стоит рассмотреть и другие аспекты: использование dbm вместо hash; перемещение настроек в MySQL; использование Postfix Admin; настройка POP3/IMAP сервера.

Прежде чем насладиться новым почтовым сервером, готовым рассылать тысячи сообщений по всему миру, нам нужно сделать две вещи. Сначала, давайте откроем доступ к порту:

iptables -D INPUT -i ! lo -p tcp --dport 25 -j DROP

Затем я советую вам зайти на сайт http://abuse.net и протестировать ваш сервер на открытый релей.

Запустить сервис можно командой service postfix restart в Red Hat или Fedora.

Если вам нужно больше информации, стоит посетить ресурс http://www.postfix.org/VIRTUAL_README.html#virtual_mailbox. HH

Личные инструменты
  • Купить электронную версию
  • Подписаться на бумажную версию