LXF79:Ответы
м (Новая: ''Если вы бьетесь над решением какой-то проблемы и HOWTO не помогают, почему бы не написать нам? Наши эксп...) |
Lockal (обсуждение | вклад) м (восстановление кавычек в коде AWB) |
||
Строка 8: | Строка 8: | ||
'''В:''' ''На моем ноутбуке Dell Precision M60 установлена SUSE 10.0. К сожалению, мне (видимо, как и всем, чьи сайты я смог отыскать через Google) не удалось подключить к нему внешний монитор. Я пытался подсоединять и старый аналоговый монитор Dell, и новейшую ЖК-панель Sony KLV-S23A10 с ПК-разъемом. Пробовал подключать напрямую (без удлинителя) и через аналоговый преобразователь. В ноутбуке для переключения между внешним и внутренним видеовыводом служит комбинация клавиш Fn+F8; у меня это заканчивается зависанием.'' | '''В:''' ''На моем ноутбуке Dell Precision M60 установлена SUSE 10.0. К сожалению, мне (видимо, как и всем, чьи сайты я смог отыскать через Google) не удалось подключить к нему внешний монитор. Я пытался подсоединять и старый аналоговый монитор Dell, и новейшую ЖК-панель Sony KLV-S23A10 с ПК-разъемом. Пробовал подключать напрямую (без удлинителя) и через аналоговый преобразователь. В ноутбуке для переключения между внешним и внутренним видеовыводом служит комбинация клавиш Fn+F8; у меня это заканчивается зависанием.'' | ||
− | ''Я изучал настройки BIOS (жал F2 при загрузке), попробовал оба источника видео, System и | + | ''Я изучал настройки BIOS (жал F2 при загрузке), попробовал оба источника видео, System и Dock… Следовал различным HOWTO, перекопал свой xorg.conf, добавив новый монитор, Display и Screen… Менял разрешение, частоту вертикальной и горизонтальной синхронизации, чтобы она соответствовала параметрам монитора (1280 768, 47.4 КГц и 60 Гц)… Все впустую. YaST не находит никаких новых устройств.'' |
''На схожем ноутбуке (Dell Latitude) с Windows XP обнаружение внешнего монитора прошло без проблем, так что я думаю, что проблема в ядре Linux или в его варианте для SUSE.'' | ''На схожем ноутбуке (Dell Latitude) с Windows XP обнаружение внешнего монитора прошло без проблем, так что я думаю, что проблема в ядре Linux или в его варианте для SUSE.'' | ||
Строка 14: | Строка 14: | ||
''К. Эндрюс Лаварре (C Andrews Lavarre)'' | ''К. Эндрюс Лаварре (C Andrews Lavarre)'' | ||
− | '''О:''' Зависание было вызвано переключением видеовывода или Вам просто казалось, что машина зависла, потому что видеовывод направлялся на несуществующее | + | '''О:''' Зависание было вызвано переключением видеовывода или Вам просто казалось, что машина зависла, потому что видеовывод направлялся на несуществующее устройство? Во втором случае, Fn+F8 должно переключить Вас обратно на внутренний дисплей. В X.org есть способ работы с двумя мониторами одновременно, он называется MergedFB. Его работа похожа на Xinerama, но в MergedFB есть режим 'clone', позволяющий направлять одно и то же изображение на оба монитора. Этот режим подойдет, если Вы захотите вывести изображение на внешний монитор или проектор. |
Вам потребуется добавить следующие строки в секцию Device файла /etc/X11/xorg.conf: | Вам потребуется добавить следующие строки в секцию Device файла /etc/X11/xorg.conf: | ||
− | Option | + | Option "MergedFB" "auto" |
− | Option | + | Option "CRT2Position" "clone" |
− | Option | + | Option "MetaModes" "1024x768 800x600 640x480" |
− | Первая строка сохраняет возможность переключения конфигураций | + | Первая строка сохраняет возможность переключения конфигураций — если при запуске X-сервер обнаружит внешний монитор, то включится режим MergedFB. Вторая строка говорит о том, что изображение на внешнем мониторе будет копией изображения на встроенном дисплее. Третья строка -список видеорежимов, они должны быть такими же, какие указаны у Вас в секции Screen. Если видеорежимы не указаны, добавьте только тот видеорежим, в котором Вы работаете и который поддерживается внешним монитором. Чтобы на внешний и встроенный дисплеи выводилось одно и то же, Вам может понадобиться перенастроить BIOS. |
В Ваш ноутбук встроена видеокарта на базе чипа ATi, и я точно знаю, что X.org-драйвер для нее поддерживает режим MergedFB, у меня у самого такой же на iBook. Дополнительную информацию об использовании режима MergedFB можно найти на сайте: [http://www.winischhofer.at/linuxsispart2.shtml#mergedfbmode www.winischhofer.at/linuxsispart2.shtml#mergedfbmode]. '''''НБ''''' | В Ваш ноутбук встроена видеокарта на базе чипа ATi, и я точно знаю, что X.org-драйвер для нее поддерживает режим MergedFB, у меня у самого такой же на iBook. Дополнительную информацию об использовании режима MergedFB можно найти на сайте: [http://www.winischhofer.at/linuxsispart2.shtml#mergedfbmode www.winischhofer.at/linuxsispart2.shtml#mergedfbmode]. '''''НБ''''' | ||
Строка 33: | Строка 33: | ||
'''О:''' При условии, что на удаленной машине запущен SSH-сервер, для сброса пароля есть несколько способов. Если используется обычное разделение рабочих столов KDE, нужно просто удалить все строки с password из файла ~/.kde/share/config/krfbrc. Пароль будет сброшен. После этого Вы сможете соединиться с машиной и установить новый пароль через Центр Управления KDE. | '''О:''' При условии, что на удаленной машине запущен SSH-сервер, для сброса пароля есть несколько способов. Если используется обычное разделение рабочих столов KDE, нужно просто удалить все строки с password из файла ~/.kde/share/config/krfbrc. Пароль будет сброшен. После этого Вы сможете соединиться с машиной и установить новый пароль через Центр Управления KDE. | ||
− | Другой вариант | + | Другой вариант — подключиться к это му компьютеру через ssh с ключом -X и запустить kcontrol. Если конфигурация SSH на «безголовой» машине разрешает X forwarding, запустится Центр Управления KDE, и в нем Вы можете сменить пароль. Если у Вас на рабочей машине установлен KDE, мы рекомендуем сохранять пароли через Менеджер Паролей KDE (KWalletmanager). Тогда можно забыть пароли на удаленное подключение и жить спокойно… пока помните пароль от KWallet. '''''НБ''''' |
=== Пакеты для Fedora === | === Пакеты для Fedora === | ||
Строка 41: | Строка 41: | ||
''Майкл Остин (Michael Austin)'' | ''Майкл Остин (Michael Austin)'' | ||
− | '''О:''' Про Livna ([http://rpm.livna.org rpm.livna.org]) Вы уже знаете. Другой заслуживающий внимания репозитарий | + | '''О:''' Про Livna ([http://rpm.livna.org rpm.livna.org]) Вы уже знаете. Другой заслуживающий внимания репозитарий — FreshRPMs ([http://freshrpms.net freshrpms.net]). Большинство репозитариев содержит совместимые пакеты, но правда и то, что между пакетами из различных репозитариев бывают нестыковки, из-за различий в методах сборки пакетов. |
Безопаснее всего установить проверенную конфигурацию Yum, содержащую только те репозитарии, которые заведомо совместимы. Вы можете ознакомиться с информацией о них в неофициальном FAQ по Fedora ([http://www.fedorafaq.org/#yumconf www.fedorafaq.org/#yumconf]). Следуя инструкциям на этой странице, Вы сможете настроить Yum на репозитории Dag, Dries и redhat-kde, в дополнение к упомянутым. Это позволит Вам иметь самый широкий спектр пакетов, избежав всяческих несовместимостей. '''''НБ''''' | Безопаснее всего установить проверенную конфигурацию Yum, содержащую только те репозитарии, которые заведомо совместимы. Вы можете ознакомиться с информацией о них в неофициальном FAQ по Fedora ([http://www.fedorafaq.org/#yumconf www.fedorafaq.org/#yumconf]). Следуя инструкциям на этой странице, Вы сможете настроить Yum на репозитории Dag, Dries и redhat-kde, в дополнение к упомянутым. Это позволит Вам иметь самый широкий спектр пакетов, избежав всяческих несовместимостей. '''''НБ''''' | ||
Строка 51: | Строка 51: | ||
''Тони Харрис (Tony Harris)'' | ''Тони Харрис (Tony Harris)'' | ||
− | '''О:''' Вам повезло! Недавно я наткнул ся на проект PHPRPMs ([http://phprpms.sourceforge.net phprpms.sourceforge.net]), предоставляющий PRM-пакеты с PHP, скомпилированным с малоиспользуемыми или не-GPL расширениями. Пакеты в данный момент доступны для Fedora Core | + | '''О:''' Вам повезло! Недавно я наткнул ся на проект PHPRPMs ([http://phprpms.sourceforge.net phprpms.sourceforge.net]), предоставляющий PRM-пакеты с PHP, скомпилированным с малоиспользуемыми или не-GPL расширениями. Пакеты в данный момент доступны для Fedora Core 2-5, RHEL 3 и RHEL 4 (i386 и x86_64). Скачав подходящий пакет php-mcrypt для RHEL 4, просто установите его командой rpm, а после этого перезапустите сервис httpd. Если у Вас нет libmcrypt, взять RPM-пакет для RHEL можно с сайта [http://dag.wieers.com/packages/libmcrypt dag.wieers.com/packages/libmcrypt]. |
Теперь вместо пересборки PHP после обновления с RHN, Вам нужно будет проверять эти два сайта каждый раз, когда захочется обновить libmcryp и php-mcrypt. '''''КК''''' | Теперь вместо пересборки PHP после обновления с RHN, Вам нужно будет проверять эти два сайта каждый раз, когда захочется обновить libmcryp и php-mcrypt. '''''КК''''' | ||
Строка 57: | Строка 57: | ||
=== Autopackage === | === Autopackage === | ||
− | '''В:''' ''Давно хочу установить Autopackage 1.0 с диска LXF, но в журнале не написано, как это сделать. Я скопировал файл к себе в домашнюю директорию, а что дальше? Это что-то вроде tar-файла, с которым нужно как-то поколдовать? Я бы с радостью применял Autopackage: он, похоже, воплотил мои мечты о простоте установки ПО. RPM-пакеты я умею устанавливать, но мне ни разу не удавалось заставить работать программу из tar-файла. Мой дистрибутив | + | '''В:''' ''Давно хочу установить Autopackage 1.0 с диска LXF, но в журнале не написано, как это сделать. Я скопировал файл к себе в домашнюю директорию, а что дальше? Это что-то вроде tar-файла, с которым нужно как-то поколдовать? Я бы с радостью применял Autopackage: он, похоже, воплотил мои мечты о простоте установки ПО. RPM-пакеты я умею устанавливать, но мне ни разу не удавалось заставить работать программу из tar-файла. Мой дистрибутив — Mandrake 10.1 PowerPack.'' |
''Дж. А. Дрейк (J A Drake)'' | ''Дж. А. Дрейк (J A Drake)'' | ||
Строка 63: | Строка 63: | ||
'''О:''' Autopackage придуман как раз для упрощения пользования, его даже не надо устанавливать. Когда Вы попытаетесь что-нибудь установить из .package-файла, он загрузит последние версии всех необходимых файлов. Вам не нужно копировать Autopackage на жесткий диск, и это явно указано в документации, которая лежит в директории Autopackage нашего диска. Чтобы посмотреть его в работе, запустите терминал, перейдите в режим суперпользователя, набрав su -, и выполните | '''О:''' Autopackage придуман как раз для упрощения пользования, его даже не надо устанавливать. Когда Вы попытаетесь что-нибудь установить из .package-файла, он загрузит последние версии всех необходимых файлов. Вам не нужно копировать Autopackage на жесткий диск, и это явно указано в документации, которая лежит в директории Autopackage нашего диска. Чтобы посмотреть его в работе, запустите терминал, перейдите в режим суперпользователя, набрав su -, и выполните | ||
bash /mnt/cdrom/Magazine/HotPicks/Autopackage/autopackage-qt-1.0.x86.package | bash /mnt/cdrom/Magazine/HotPicks/Autopackage/autopackage-qt-1.0.x86.package | ||
− | Вас спросят, не хотите ли Вы скачать Autopackage? Ответьте | + | Вас спросят, не хотите ли Вы скачать Autopackage? Ответьте 'Y'. После этого все необходимые файлы будут загружены и установлены. |
− | Установка из tar-архивов на первый раз потребует терпения, но потом все будет проще. Для начала распакуйте архив, одной из следующих команд (в зависимости от типа архива | + | Установка из tar-архивов на первый раз потребует терпения, но потом все будет проще. Для начала распакуйте архив, одной из следующих команд (в зависимости от типа архива — gzip или bzip2): |
tar xzf somepackage.tar.gz | tar xzf somepackage.tar.gz | ||
tar xjf somepackage.tar.bz2 | tar xjf somepackage.tar.bz2 | ||
В распакованной директории Вы скорее всего найдете файлы INSTALL и README, содержащие инструкции по установке. | В распакованной директории Вы скорее всего найдете файлы INSTALL и README, содержащие инструкции по установке. | ||
− | В PRM-дистрибутивах вроде Mandrake установка стопорится обычно на стадии ./configure: выскакивают сообщения об отсутствии библиотек, хотя менеджер пакетов ясно показывает, что на самом деле они есть. Это потому, что RPM-пакеты разделены на два вида: стандартный RPM с программой или библиотекой и | + | В PRM-дистрибутивах вроде Mandrake установка стопорится обычно на стадии ./configure: выскакивают сообщения об отсутствии библиотек, хотя менеджер пакетов ясно показывает, что на самом деле они есть. Это потому, что RPM-пакеты разделены на два вида: стандартный RPM с программой или библиотекой и '-devel' пакет, содержащий заголовочные файлы. |
Для работы программ они не нужны, но нужны для компиляции программ из исходных текстов. Так что если configure выдаст сообщение об отсутствии libfoo, проверьте, установлен ли пакет libfoo-devel. '''''НБ''''' | Для работы программ они не нужны, но нужны для компиляции программ из исходных текстов. Так что если configure выдаст сообщение об отсутствии libfoo, проверьте, установлен ли пакет libfoo-devel. '''''НБ''''' | ||
− | === Сюда | + | === Сюда — Sudo === |
− | '''В:''' ''Я пытался создать скрипт для автоматизации некоторых операций, но не смог сделать так, чтобы часть его выполнялась от лица суперпользователя, а все остальное | + | '''В:''' ''Я пытался создать скрипт для автоматизации некоторых операций, но не смог сделать так, чтобы часть его выполнялась от лица суперпользователя, а все остальное — от лица того, кто его запустил. Я не хочу запускать весь скрипт из-под root, только отдельную его часть. Думал воспользоваться su, но потом сообразил, что после этого я буду уже не я и собственный скрипт выполнять не смогу.'' |
− | ''Я понимаю, что su | + | ''Я понимаю, что su — не лучший выход, но для тестирования сошло бы; или использование su из скрипта — вообще полная чушь? Другой вариант — запустить еще одну копию оболочки под root, но я не уверен, что это можно сделать из скрипта.'' |
''MGE, с форума LXF'' | ''MGE, с форума LXF'' | ||
− | '''О:''' Команда su создает новый процесс с правами другого пользователя, а сам скрипт останавливается и ждет завершения этого процесса. Использование su из скрипта | + | '''О:''' Команда su создает новый процесс с правами другого пользователя, а сам скрипт останавливается и ждет завершения этого процесса. Использование su из скрипта — плохая идея, угрожающая безопасности, поэтому оно часто блокируется. Лучше взять sudo. Эта команда разрешает некоторым пользователям выполнять определенные программы с правами root, не зная пароля. По умолчанию sudo запрашивает пароль запускающего ее пользователя, но для некоторых команд это можно отключить. |
− | Укажите полный путь к нужным программам в файле /etc/sudoers и добавьте опцию | + | Укажите полный путь к нужным программам в файле /etc/sudoers и добавьте опцию 'NOPASSWD', если не хотите, чтобы скрипт останавливался и спрашивал пароль. Вот запись, позволяющая пользователю fred монтировать и размонтировать файловые системы без пароля: |
fred ALL = NOPASSWD: /bin/mount,/bin/umount | fred ALL = NOPASSWD: /bin/mount,/bin/umount | ||
− | Обратите внимание на комментарий в самом начале файла /etc/sudoers | + | Обратите внимание на комментарий в самом начале файла /etc/sudoers — он должен редактироваться только командой visudo. Запустите visudo из-под root, и стартует редактор, указанный в переменной окружения $EDITOR. Можно отвести редактор специально для visudo: |
EDITOR=kate visudo | EDITOR=kate visudo | ||
Это делается неспроста. visudo не работает с файлом /etc/sudoers напрямую: сначала делает копию, проверяет ее на ошибки, а уж потом заменяет на нее /etc/sudoers. Большинство экспертов считают такую тактику хорошей, поскольку случайные опечатки могут причинить вред Вашей системе. '''''НБ''''' | Это делается неспроста. visudo не работает с файлом /etc/sudoers напрямую: сначала делает копию, проверяет ее на ошибки, а уж потом заменяет на нее /etc/sudoers. Большинство экспертов считают такую тактику хорошей, поскольку случайные опечатки могут причинить вред Вашей системе. '''''НБ''''' | ||
Строка 96: | Строка 96: | ||
''Трент Хорнибрук (Trent Hornibrook)'' | ''Трент Хорнибрук (Trent Hornibrook)'' | ||
− | '''О:''' А Вы не пробовали Syslog? И PHP, и C, и Perl имеют необходимые библиотеки для отсылки сообщений Syslog на хост. Оттуда Вы можете настроить Syslog на запись определенных сообщений в отдельный файл, а Logrotate | + | '''О:''' А Вы не пробовали Syslog? И PHP, и C, и Perl имеют необходимые библиотеки для отсылки сообщений Syslog на хост. Оттуда Вы можете настроить Syslog на запись определенных сообщений в отдельный файл, а Logrotate — на обновление журналов. |
− | Сперва добавьте новый селектор (левая сторона) и лог-файл (правая сторона) в /etc/syslog.conf и перезапустите Syslog. Селектор состоит из уровня разрешения и запретов. Уровень разрешения может быть local1 | + | Сперва добавьте новый селектор (левая сторона) и лог-файл (правая сторона) в /etc/syslog.conf и перезапустите Syslog. Селектор состоит из уровня разрешения и запретов. Уровень разрешения может быть local1 — local7 из пока не определенных. В данном случае я выбрал local3 и разрешил запоминание всех сообщений: |
# newprog | # newprog | ||
local3.* /var/log/newprog.log | local3.* /var/log/newprog.log | ||
Строка 105: | Строка 105: | ||
# newprog | # newprog | ||
local3.err /var/log/newprog.log | local3.err /var/log/newprog.log | ||
− | Теперь убедитесь, что Syslog работает нормально | + | Теперь убедитесь, что Syslog работает нормально — запустите следующее и про верьте вывод в журнал: |
$ logger -p local4.err test message | $ logger -p local4.err test message | ||
$ tail -f /var/log/newprog.log | $ tail -f /var/log/newprog.log | ||
Jan 31 1 1:46:40 host user: test message | Jan 31 1 1:46:40 host user: test message | ||
− | Убедившись, что с Syslog все в порядке, можно настроить Logrotate для ротации файлов журналов, задав ему соответствую щие правила; внесите полный путь к новому лог-файлу в конфигурационный файл Logrotate. Например, под Red Hat Enterprise Linux нужно поправить /etc/logrotate.d/syslog, добавив | + | Убедившись, что с Syslog все в порядке, можно настроить Logrotate для ротации файлов журналов, задав ему соответствую щие правила; внесите полный путь к новому лог-файлу в конфигурационный файл Logrotate. Например, под Red Hat Enterprise Linux нужно поправить /etc/logrotate.d/syslog, добавив '/var/log/newprog.log' в первую строку файла конфигурации. |
− | Теперь все, что Вам нужно | + | Теперь все, что Вам нужно — вызвать Syslog из Вашего скрипта, используя предварительно созданный селектор, который Вы добавили в syslog.conf. На других уровнях Вы можете выключить частичное слежение, добавив уровень запрета, как описано выше. |
Более подробную информацию о работе с Syslog из PHP, Perl, C и Bash, Вы можете получить из следующих источников man-страниц: | Более подробную информацию о работе с Syslog из PHP, Perl, C и Bash, Вы можете получить из следующих источников man-страниц: | ||
Строка 126: | Строка 126: | ||
''С форума LXF'' | ''С форума LXF'' | ||
− | '''О:''' Во-первых, Вам понадобится Bluetooth-адаптер, если только он не встроен в Ваш компьютер. В любом компьютерном магазине он стоит чуть больше 10 долларов. Нужно будет установить пакет bluez, содержащий драйверы и утилиты для работы с Bluetooth | + | '''О:''' Во-первых, Вам понадобится Bluetooth-адаптер, если только он не встроен в Ваш компьютер. В любом компьютерном магазине он стоит чуть больше 10 долларов. Нужно будет установить пакет bluez, содержащий драйверы и утилиты для работы с Bluetooth — они есть в большинстве дистрибутивов. Если у Вас установлена рабочая среда KDE, запустите kbluetoothd, и в системном меню отобразится иконка доступных Bluetooth-подключений. Щелчок по этой иконке даст Вам доступ к Bluetooth-устройствам. |
− | Для синхронизации контактов мобильного телефона есть несколько программ. Если Ваш телефон | + | Для синхронизации контактов мобильного телефона есть несколько программ. Если Ваш телефон — Nokia, вам подойдет Gnokii, тоже имеется практически в любом дистрибутиве или на [http://www.gnokii.org www.gnokii.org]. Более независимый от марки телефона подход поддерживается KMobileTools ([http://kmobiletools.berlios.de kmobiletools.berlios.de]). |
Пакеты, прилагающиеся к дистрибутиву, давно устарели. Чтобы получить новые функции, например, резервное копирование и восстановление телефонной книги, Вам придется собрать версию из SVN. Не волнуйтесь, это очень простая процедура, отлично описанная в имеющемся на сайте HOWTO. | Пакеты, прилагающиеся к дистрибутиву, давно устарели. Чтобы получить новые функции, например, резервное копирование и восстановление телефонной книги, Вам придется собрать версию из SVN. Не волнуйтесь, это очень простая процедура, отлично описанная в имеющемся на сайте HOWTO. | ||
− | Использовать гарнитуру для Skype тоже можно, но скорее всего в Вашем дистрибутиве не окажется нужных пакетов. Проект Bluetooth-alsa ([http://bluetooth-alsa.sourceforge.net bluetooth-alsa.sourceforge.net]) предоставляет поддержку Bluetooth-гарнитур как ALSA-устройств, при этом система считает гарнитуру звуковой картой. Затем Вам надо будет настроить Skype или другую программу на использование этой | + | Использовать гарнитуру для Skype тоже можно, но скорее всего в Вашем дистрибутиве не окажется нужных пакетов. Проект Bluetooth-alsa ([http://bluetooth-alsa.sourceforge.net bluetooth-alsa.sourceforge.net]) предоставляет поддержку Bluetooth-гарнитур как ALSA-устройств, при этом система считает гарнитуру звуковой картой. Затем Вам надо будет настроить Skype или другую программу на использование этой «звуковой карты». Вы можете даже слушать MP3 через вашу гарнитуру — правда, не ждите выдающегося качества звука. |
Скачайте и установите ПО, как описано на сайте. Затем установите гарнитуру в парный режим и подключите ее следующими командами: | Скачайте и установите ПО, как описано на сайте. Затем установите гарнитуру в парный режим и подключите ее следующими командами: | ||
Строка 142: | Строка 142: | ||
ls -l /proc/asound | ls -l /proc/asound | ||
aplay -D plughw:Headset somesound.wav | aplay -D plughw:Headset somesound.wav | ||
− | Первая команда должна показать все записи для гарнитуры, вторая проиграет на нее звуковой файл somesound.wav. Если все заработало, большинство этих действий можно автоматизировать. Например, добавить имя модуля в список автоматически загружаемых (/etc/modprobe.conf или /etc/modules.conf). Найдите строку, начинающуюся с | + | Первая команда должна показать все записи для гарнитуры, вторая проиграет на нее звуковой файл somesound.wav. Если все заработало, большинство этих действий можно автоматизировать. Например, добавить имя модуля в список автоматически загружаемых (/etc/modprobe.conf или /etc/modules.conf). Найдите строку, начинающуюся с 'alias snd-card-0' и добавьте после нее: |
alias snd-card-1 snd_bt_sco | alias snd-card-1 snd_bt_sco | ||
Команды esdctl и btsco можно добавить в короткий скрипт, вызываемый каждый раз при подключении гарнитуры: | Команды esdctl и btsco можно добавить в короткий скрипт, вызываемый каждый раз при подключении гарнитуры: | ||
Строка 152: | Строка 152: | ||
=== Кстати о рыбках === | === Кстати о рыбках === | ||
− | '''В:''' ''Знаю, что это глупо, но я хотел бы установить Xfishtank в качестве фона для рабочего стола. У меня установлена Mandriva 2006 Free с KDE и Xfishtank из RPM-пакета. Но все, чего я достиг | + | '''В:''' ''Знаю, что это глупо, но я хотел бы установить Xfishtank в качестве фона для рабочего стола. У меня установлена Mandriva 2006 Free с KDE и Xfishtank из RPM-пакета. Но все, чего я достиг — мимолетное появление рыбок при выключении компьютера. А я бы хотел видеть их постоянно. Как это сделать?'' |
''Джобекс (Jobex), с форума LXF'' | ''Джобекс (Jobex), с форума LXF'' | ||
Строка 158: | Строка 158: | ||
'''О:''' В KDE есть собственное корневое окно, запускающееся поверх корневого окна X-сервера, и программы, отображающие что-то на окне X-сервера, им заслоняются. Вы можете увидеть их лишь за небольшой промежуток времени, когда KDE уже завершил работу, а X-сервер еще нет. | '''О:''' В KDE есть собственное корневое окно, запускающееся поверх корневого окна X-сервера, и программы, отображающие что-то на окне X-сервера, им заслоняются. Вы можете увидеть их лишь за небольшой промежуток времени, когда KDE уже завершил работу, а X-сервер еще нет. | ||
− | К счастью, решение очень простое. Щелкните правой кнопкой мыши на рабочем столе и выберите пункт | + | К счастью, решение очень простое. Щелкните правой кнопкой мыши на рабочем столе и выберите пункт «Настроить рабочий стол» (Configure Desktop). Зайдите в пункт «Поведение» (Behaviour) и включите «Позволить программам выполняться в родительском окне» (Allow Programs In Desktop Window) — учтите, что при этом нельзя менять назначение правой кнопки мыши по умолчанию. То же самое можно сделать, зайдя в Центр Управления KDE. '''''НБ''''' |
=== Нас атакуют! === | === Нас атакуют! === | ||
Строка 166: | Строка 166: | ||
''Такие записи появляются что ни день, но IP-адреса и число попыток каждый раз разные. Похоже, кто-то пытается подобрать пароль к моей системе. Как я могу пресечь эти попытки? Какие действия вы порекомендуете для улучшения безопасности сервера?'' | ''Такие записи появляются что ни день, но IP-адреса и число попыток каждый раз разные. Похоже, кто-то пытается подобрать пароль к моей системе. Как я могу пресечь эти попытки? Какие действия вы порекомендуете для улучшения безопасности сервера?'' | ||
− | ''Д.З. Флинт (DZ Flint)'' | + | ''Д. З. Флинт (DZ Flint)'' |
− | '''О:''' Вы правы! Записи, которые послал вам Logwatch | + | '''О:''' Вы правы! Записи, которые послал вам Logwatch — неудавшиеся попытки проникновения. Есть несколько способов ужесточить доступ к sshd-серверу. Откройте конфигурационный файл OpenSSH (/etc/ssh/sshd_config). Давайте взглянем на него. |
Параметр AllowUsers позволит входить в систему только оговоренным пользователям. Для FTP-сервера с множеством пользователей это вариант достаточно сложный, и все-таки я бы рекомендовал именно его, хотя атакующие все равно будут пытаться угадать пароли любого пользователя. Также, запретите boot-доступ по ssh, используя следующую опцию: | Параметр AllowUsers позволит входить в систему только оговоренным пользователям. Для FTP-сервера с множеством пользователей это вариант достаточно сложный, и все-таки я бы рекомендовал именно его, хотя атакующие все равно будут пытаться угадать пароли любого пользователя. Также, запретите boot-доступ по ssh, используя следующую опцию: | ||
Строка 184: | Строка 184: | ||
libwrap.so.0 => /usr/lib/ | libwrap.so.0 => /usr/lib/ | ||
libwrap.so.0 (0x00140000) | libwrap.so.0 (0x00140000) | ||
− | DenyHosts написана на Python | + | DenyHosts написана на Python — значит, потребуется интерпретатор этого языка. Вы можете установить его следующим образом: |
# up2date -i python | # up2date -i python | ||
Теперь скачайте самую свежую версию. Для RHEL 4 доступен RPM-пакет: | Теперь скачайте самую свежую версию. Для RHEL 4 доступен RPM-пакет: | ||
Строка 196: | Строка 196: | ||
После скольких попыток начинать блокировку для легальных пользователей | После скольких попыток начинать блокировку для легальных пользователей | ||
− | Если Вы хотите получать уведомления о новых блокируемых хостах, введите свой адрес в строке | + | Если Вы хотите получать уведомления о новых блокируемых хостах, введите свой адрес в строке |
ADMIN_EMAIL = webmaster@example.com | ADMIN_EMAIL = webmaster@example.com | ||
Конфигурационный файл очень хорошо прокомментирован и несложен для восприятия. Когда Вы определитесь со всеми опциями, скопируйте файл в /etc/denyhosts.cfg. | Конфигурационный файл очень хорошо прокомментирован и несложен для восприятия. Когда Вы определитесь со всеми опциями, скопируйте файл в /etc/denyhosts.cfg. | ||
Теперь нужно подправить инициализационный скрипт (/usr/share/denyhosts/daemon-control-dist) для нашей системы: | Теперь нужно подправить инициализационный скрипт (/usr/share/denyhosts/daemon-control-dist) для нашей системы: | ||
− | DENYHOSTS_CFG = | + | DENYHOSTS_CFG = "/etc/denyhosts.cfg" |
и установить этот скрипт: | и установить этот скрипт: | ||
# cp /usr/share/denyhosts/daemon-control-dist /etc/init.d/denyhost | # cp /usr/share/denyhosts/daemon-control-dist /etc/init.d/denyhost | ||
Строка 216: | Строка 216: | ||
Письмо с уведомлением будет отправлено на адрес, указанный в ADMIN_EMAIL. | Письмо с уведомлением будет отправлено на адрес, указанный в ADMIN_EMAIL. | ||
− | Безопасность сервера | + | Безопасность сервера — довольно обширная тема. Попробуйте поискать в сети по ключевым словам «defending against brute force ssh attacks». '''''КК''''' |
=== Черный экран Debian === | === Черный экран Debian === | ||
− | '''В:''' ''Сегодня я установил Debian 3.1 с диска LXF 70. Малость помучившись, я установил первый диск; все, что мне теперь надо | + | '''В:''' ''Сегодня я установил Debian 3.1 с диска LXF 70. Малость помучившись, я установил первый диск; все, что мне теперь надо — открыть систему и продолжить.'' |
− | ''При входе я ввожу свое имя пользователя, | + | ''При входе я ввожу свое имя пользователя, пароль… и попадаю в черный экран с надписью 'david@debian~$:' . Я что-то сделал неправильно или нужно произнести какое-то заклинание? Я новичок, но надеюсь, что установил систему не зря.'' |
''Дэвид Чарлтон (David Charlton)'' | ''Дэвид Чарлтон (David Charlton)'' | ||
− | '''О:''' Вы установили только базовую систему, которая не включает графическое окружение. На втором этапе установки, после перезагрузки, вас спрашивали про наборы пакетов. Первым набором был Рабочий стол, кажется, что он отмечен по умолчанию, потому что подсвечен | + | '''О:''' Вы установили только базовую систему, которая не включает графическое окружение. На втором этапе установки, после перезагрузки, вас спрашивали про наборы пакетов. Первым набором был Рабочий стол, кажется, что он отмечен по умолчанию, потому что подсвечен — а вот и нет устанавливаются только те наборы пакетов слева от которых стоит звездочка. Если же Вы просто нажали Enter, то ничего не установилось. |
Но это не повод паниковать или бросаться переустанавливать систему. Войдите в систему как суперпользователь и введите команду aptitude; загрузится менеджер пакетов. Перейдите на пункт задач (Tasks) нажмите Enter. Спуститесь на пункт End User и снова нажмите Enter. Теперь выберите Desktop Environment и нажмите +. А теперь нажмите G (увидите, что будет установлено) и еще раз G для подтверждения установки. Эти действия приведут к установке KDE и Gnome, и при первом входе в систему Вы сможете выбрать одно из этих сред. | Но это не повод паниковать или бросаться переустанавливать систему. Войдите в систему как суперпользователь и введите команду aptitude; загрузится менеджер пакетов. Перейдите на пункт задач (Tasks) нажмите Enter. Спуститесь на пункт End User и снова нажмите Enter. Теперь выберите Desktop Environment и нажмите +. А теперь нажмите G (увидите, что будет установлено) и еще раз G для подтверждения установки. Эти действия приведут к установке KDE и Gnome, и при первом входе в систему Вы сможете выбрать одно из этих сред. | ||
Строка 238: | Строка 238: | ||
> Could not get DNS address | > Could not get DNS address | ||
>$ | >$ | ||
− | ''Я пробовала менять параметры командной строки | + | ''Я пробовала менять параметры командной строки — ничего не вышло Помогите, пожалуйста!'' |
''Аня'' | ''Аня'' | ||
Строка 248: | Строка 248: | ||
=== GPRS без проблем === | === GPRS без проблем === | ||
− | '''В:''' ''Позвольте сразу второй вопрос: Я использую для выхода в Интернет сотовый телефон | + | '''В:''' ''Позвольте сразу второй вопрос: Я использую для выхода в Интернет сотовый телефон «Samsung SGH X450» (GPRS), это единственная причина из-за которой я до сих пор пользуюсь Windows! Я люблю Linux, быстро привыкла к нему, но не могу выйти в Интернет через сотовый из Mandriva Linux 2006. Пожалуйста, подскажите, как мне заставить Mandriva Linux 2006 использовать сотовый как модем, и тогда я смогу полностью отказаться от Windows 2000!'' |
''Аня'' | ''Аня'' | ||
− | '''О:''' А какой у вас кабель? Если это COM, то все очень просто: после подключения телефона он будет виден в системе под именем /dev/ttyS[номер COM-порта]. Скорее всего это будет /dev/ttyS2. Имя этого устройства и нужно указать в KPPP. Для некоторых телефонов обязатель но нужна строка инициализации модема (AT+CGDCONT=1, | + | '''О:''' А какой у вас кабель? Если это COM, то все очень просто: после подключения телефона он будет виден в системе под именем /dev/ttyS[номер COM-порта]. Скорее всего это будет /dev/ttyS2. Имя этого устройства и нужно указать в KPPP. Для некоторых телефонов обязатель но нужна строка инициализации модема (AT+CGDCONT=1,"IP", «<acm вашего оператора>»). Все эти параметры знать не обязательно, если установить GPRS EasyConnect ([http://gprsec.hu/modules/index/ gprsec.hu/modules/index/]): тут нужно просто выбрать из списка телефон, порт для подключения (есть функция автоматического обнаружения порта телефона) и вашего оператора. Samsung SGH X450 находится в списке поддержива емых аппаратов (через COM-кабель). |
− | Если же у вас USB-кабель, то проблем будет немного больше | + | Если же у вас USB-кабель, то проблем будет немного больше — для разных типов кабелей нужно указывать разные устройства. После подключения проверьте, не появился ли у вас в системе файл /dev/ttyACM0. Если да, то это и есть ваш телефон. Но, скорее всего вы приобрели USB конвертер, и телефон будет известен системе как /dev/ttyUSB0. Если этого устройства нет, попробуйте вручную загрузить модуль pl2303 (modprobe pl2303). '''''АК''''' |
=== APT через посредника === | === APT через посредника === | ||
Строка 262: | Строка 262: | ||
''Никита Неверов'' | ''Никита Неверов'' | ||
− | '''О:''' Напрашивается примерно такой универсальный вариант решения | + | '''О:''' Напрашивается примерно такой универсальный вариант решения — определить переменную среды: |
− | HTTP_PROXY= | + | HTTP_PROXY="http://login:password@xxx.xxx.xx.xx:yyyy" |
export HTTP_PROXY | export HTTP_PROXY | ||
− | где xxx.xxx.xx.xx | + | где xxx.xxx.xx.xx — адрес proxy-сервера, yyyy — порт, а login и password — сооветствующие параметры Вашей учетной записи. В Debian такую строку резонно вписать в профильный файл суперпользователя, а в Ubuntu и Kubuntu в которых учетной записи root как таковой по умолчанию нет, эту переменную можно определить в профильном файле обычного пользователя (в ~/.bashrc). Ну и, конечно, никто не запрещает сделать это просто из командной строки: |
− | export HTTP_PROXY= | + | export HTTP_PROXY="http://login:password@xxx.xxx.xx.xx:yyyy" |
− | Есть и другой способ, более отвечающий Debian Way | + | Есть и другой способ, более отвечающий Debian Way — отредактировать файл /etc/apt/apt.conf. По умолчанию он содержит строку |
− | Acquire::::Proxy | + | Acquire::::Proxy "false"; |
предписывающую не использовать proxy. Ее достаточно изменить следующим образом: | предписывающую не использовать proxy. Ее достаточно изменить следующим образом: | ||
− | Acquire::http::Proxy | + | Acquire::http::Proxy "http://login:password@xxx.xxx.xx.xx:yyyy" |
К слову сказать, указание на порт в большинстве случаев можно и опустить. '''''АФ''''' | К слову сказать, указание на порт в большинстве случаев можно и опустить. '''''АФ''''' |
Текущая версия на 16:27, 27 апреля 2008
|
|
|
Если вы бьетесь над решением какой-то проблемы и HOWTO не помогают, почему бы не написать нам? Наши эксперты ответят даже на самые сложные вопросы.
Содержание |
[править] Двое на одного
В: На моем ноутбуке Dell Precision M60 установлена SUSE 10.0. К сожалению, мне (видимо, как и всем, чьи сайты я смог отыскать через Google) не удалось подключить к нему внешний монитор. Я пытался подсоединять и старый аналоговый монитор Dell, и новейшую ЖК-панель Sony KLV-S23A10 с ПК-разъемом. Пробовал подключать напрямую (без удлинителя) и через аналоговый преобразователь. В ноутбуке для переключения между внешним и внутренним видеовыводом служит комбинация клавиш Fn+F8; у меня это заканчивается зависанием.
Я изучал настройки BIOS (жал F2 при загрузке), попробовал оба источника видео, System и Dock… Следовал различным HOWTO, перекопал свой xorg.conf, добавив новый монитор, Display и Screen… Менял разрешение, частоту вертикальной и горизонтальной синхронизации, чтобы она соответствовала параметрам монитора (1280 768, 47.4 КГц и 60 Гц)… Все впустую. YaST не находит никаких новых устройств.
На схожем ноутбуке (Dell Latitude) с Windows XP обнаружение внешнего монитора прошло без проблем, так что я думаю, что проблема в ядре Linux или в его варианте для SUSE.
К. Эндрюс Лаварре (C Andrews Lavarre)
О: Зависание было вызвано переключением видеовывода или Вам просто казалось, что машина зависла, потому что видеовывод направлялся на несуществующее устройство? Во втором случае, Fn+F8 должно переключить Вас обратно на внутренний дисплей. В X.org есть способ работы с двумя мониторами одновременно, он называется MergedFB. Его работа похожа на Xinerama, но в MergedFB есть режим 'clone', позволяющий направлять одно и то же изображение на оба монитора. Этот режим подойдет, если Вы захотите вывести изображение на внешний монитор или проектор.
Вам потребуется добавить следующие строки в секцию Device файла /etc/X11/xorg.conf:
Option "MergedFB" "auto" Option "CRT2Position" "clone" Option "MetaModes" "1024x768 800x600 640x480"
Первая строка сохраняет возможность переключения конфигураций — если при запуске X-сервер обнаружит внешний монитор, то включится режим MergedFB. Вторая строка говорит о том, что изображение на внешнем мониторе будет копией изображения на встроенном дисплее. Третья строка -список видеорежимов, они должны быть такими же, какие указаны у Вас в секции Screen. Если видеорежимы не указаны, добавьте только тот видеорежим, в котором Вы работаете и который поддерживается внешним монитором. Чтобы на внешний и встроенный дисплеи выводилось одно и то же, Вам может понадобиться перенастроить BIOS.
В Ваш ноутбук встроена видеокарта на базе чипа ATi, и я точно знаю, что X.org-драйвер для нее поддерживает режим MergedFB, у меня у самого такой же на iBook. Дополнительную информацию об использовании режима MergedFB можно найти на сайте: www.winischhofer.at/linuxsispart2.shtml#mergedfbmode. НБ
[править] Ящик без головы
В: Я настроил удаленный рабочий стол (через Центр Управления Xandros) для ныне обезглавленной машины, и теперь не могу вспомнить пароль. Поиск в Google ничего не дал (сайт VNC советует применить Vncpasswd, но такой команды на удаленной машине не оказалось). Я не могу подключить к машине монитор, так что Xandros Control Center для смены пароля не запустить. Я думаю, что в Xandros используется обычное удаленное соединение KDE; как можно сбросить пароль из командной строки?
Скут (Scoot), с форума LXF.
О: При условии, что на удаленной машине запущен SSH-сервер, для сброса пароля есть несколько способов. Если используется обычное разделение рабочих столов KDE, нужно просто удалить все строки с password из файла ~/.kde/share/config/krfbrc. Пароль будет сброшен. После этого Вы сможете соединиться с машиной и установить новый пароль через Центр Управления KDE.
Другой вариант — подключиться к это му компьютеру через ssh с ключом -X и запустить kcontrol. Если конфигурация SSH на «безголовой» машине разрешает X forwarding, запустится Центр Управления KDE, и в нем Вы можете сменить пароль. Если у Вас на рабочей машине установлен KDE, мы рекомендуем сохранять пароли через Менеджер Паролей KDE (KWalletmanager). Тогда можно забыть пароли на удаленное подключение и жить спокойно… пока помните пароль от KWallet. НБ
[править] Пакеты для Fedora
В: Я собрался попробовать Fedora Core 4, на вид чрезвычайно интересную ОС. К сожалению, я не в курсе, какие у нее репозитарии. Я знаю про Fedora Extras и про Livna, но читал в сети, что их еще множество. Некоторые говорят, что пакеты из этих репозитариев нельзя смешивать с Fedora Extras и Livna. Можете ли вы рассказать, какие репозитарии используются чаще всего и содержат больше всего пакетов для архитектуры i386?
Майкл Остин (Michael Austin)
О: Про Livna (rpm.livna.org) Вы уже знаете. Другой заслуживающий внимания репозитарий — FreshRPMs (freshrpms.net). Большинство репозитариев содержит совместимые пакеты, но правда и то, что между пакетами из различных репозитариев бывают нестыковки, из-за различий в методах сборки пакетов.
Безопаснее всего установить проверенную конфигурацию Yum, содержащую только те репозитарии, которые заведомо совместимы. Вы можете ознакомиться с информацией о них в неофициальном FAQ по Fedora (www.fedorafaq.org/#yumconf). Следуя инструкциям на этой странице, Вы сможете настроить Yum на репозитории Dag, Dries и redhat-kde, в дополнение к упомянутым. Это позволит Вам иметь самый широкий спектр пакетов, избежав всяческих несовместимостей. НБ
[править] Спецпакеты
В: Я администратор сервера на Red Hat Enterprise Linux 4, это хост десяти доменов для сайтов и почты. Для облегчения обновления системы через Red Hat Network все программы установлены из RPM-пакетов. Недавно меня попросили перекомпилировать PHP с поддержкой Mcrypt, однако это значит, что мне придется пересобирать PHP при каждом обновлении пакета. Можно ли как-нибудь включить поддержку Mcrypt без пересборки пакета, или хотя бы добавит пакеты с php в pkgSkipList для up2date?
Тони Харрис (Tony Harris)
О: Вам повезло! Недавно я наткнул ся на проект PHPRPMs (phprpms.sourceforge.net), предоставляющий PRM-пакеты с PHP, скомпилированным с малоиспользуемыми или не-GPL расширениями. Пакеты в данный момент доступны для Fedora Core 2-5, RHEL 3 и RHEL 4 (i386 и x86_64). Скачав подходящий пакет php-mcrypt для RHEL 4, просто установите его командой rpm, а после этого перезапустите сервис httpd. Если у Вас нет libmcrypt, взять RPM-пакет для RHEL можно с сайта dag.wieers.com/packages/libmcrypt.
Теперь вместо пересборки PHP после обновления с RHN, Вам нужно будет проверять эти два сайта каждый раз, когда захочется обновить libmcryp и php-mcrypt. КК
[править] Autopackage
В: Давно хочу установить Autopackage 1.0 с диска LXF, но в журнале не написано, как это сделать. Я скопировал файл к себе в домашнюю директорию, а что дальше? Это что-то вроде tar-файла, с которым нужно как-то поколдовать? Я бы с радостью применял Autopackage: он, похоже, воплотил мои мечты о простоте установки ПО. RPM-пакеты я умею устанавливать, но мне ни разу не удавалось заставить работать программу из tar-файла. Мой дистрибутив — Mandrake 10.1 PowerPack.
Дж. А. Дрейк (J A Drake)
О: Autopackage придуман как раз для упрощения пользования, его даже не надо устанавливать. Когда Вы попытаетесь что-нибудь установить из .package-файла, он загрузит последние версии всех необходимых файлов. Вам не нужно копировать Autopackage на жесткий диск, и это явно указано в документации, которая лежит в директории Autopackage нашего диска. Чтобы посмотреть его в работе, запустите терминал, перейдите в режим суперпользователя, набрав su -, и выполните
bash /mnt/cdrom/Magazine/HotPicks/Autopackage/autopackage-qt-1.0.x86.package
Вас спросят, не хотите ли Вы скачать Autopackage? Ответьте 'Y'. После этого все необходимые файлы будут загружены и установлены.
Установка из tar-архивов на первый раз потребует терпения, но потом все будет проще. Для начала распакуйте архив, одной из следующих команд (в зависимости от типа архива — gzip или bzip2):
tar xzf somepackage.tar.gz tar xjf somepackage.tar.bz2
В распакованной директории Вы скорее всего найдете файлы INSTALL и README, содержащие инструкции по установке.
В PRM-дистрибутивах вроде Mandrake установка стопорится обычно на стадии ./configure: выскакивают сообщения об отсутствии библиотек, хотя менеджер пакетов ясно показывает, что на самом деле они есть. Это потому, что RPM-пакеты разделены на два вида: стандартный RPM с программой или библиотекой и '-devel' пакет, содержащий заголовочные файлы.
Для работы программ они не нужны, но нужны для компиляции программ из исходных текстов. Так что если configure выдаст сообщение об отсутствии libfoo, проверьте, установлен ли пакет libfoo-devel. НБ
[править] Сюда — Sudo
В: Я пытался создать скрипт для автоматизации некоторых операций, но не смог сделать так, чтобы часть его выполнялась от лица суперпользователя, а все остальное — от лица того, кто его запустил. Я не хочу запускать весь скрипт из-под root, только отдельную его часть. Думал воспользоваться su, но потом сообразил, что после этого я буду уже не я и собственный скрипт выполнять не смогу.
Я понимаю, что su — не лучший выход, но для тестирования сошло бы; или использование su из скрипта — вообще полная чушь? Другой вариант — запустить еще одну копию оболочки под root, но я не уверен, что это можно сделать из скрипта.
MGE, с форума LXF
О: Команда su создает новый процесс с правами другого пользователя, а сам скрипт останавливается и ждет завершения этого процесса. Использование su из скрипта — плохая идея, угрожающая безопасности, поэтому оно часто блокируется. Лучше взять sudo. Эта команда разрешает некоторым пользователям выполнять определенные программы с правами root, не зная пароля. По умолчанию sudo запрашивает пароль запускающего ее пользователя, но для некоторых команд это можно отключить.
Укажите полный путь к нужным программам в файле /etc/sudoers и добавьте опцию 'NOPASSWD', если не хотите, чтобы скрипт останавливался и спрашивал пароль. Вот запись, позволяющая пользователю fred монтировать и размонтировать файловые системы без пароля:
fred ALL = NOPASSWD: /bin/mount,/bin/umount
Обратите внимание на комментарий в самом начале файла /etc/sudoers — он должен редактироваться только командой visudo. Запустите visudo из-под root, и стартует редактор, указанный в переменной окружения $EDITOR. Можно отвести редактор специально для visudo:
EDITOR=kate visudo
Это делается неспроста. visudo не работает с файлом /etc/sudoers напрямую: сначала делает копию, проверяет ее на ошибки, а уж потом заменяет на нее /etc/sudoers. Большинство экспертов считают такую тактику хорошей, поскольку случайные опечатки могут причинить вред Вашей системе. НБ
[править] Журнальный вариант
В: У меня есть несколько скриптов, и я хочу, чтобы они генерировали файлы журналов отладки, причем я мог бы включать и выключать журнал по желанию. Что бы вы посоветовали?
Трент Хорнибрук (Trent Hornibrook)
О: А Вы не пробовали Syslog? И PHP, и C, и Perl имеют необходимые библиотеки для отсылки сообщений Syslog на хост. Оттуда Вы можете настроить Syslog на запись определенных сообщений в отдельный файл, а Logrotate — на обновление журналов.
Сперва добавьте новый селектор (левая сторона) и лог-файл (правая сторона) в /etc/syslog.conf и перезапустите Syslog. Селектор состоит из уровня разрешения и запретов. Уровень разрешения может быть local1 — local7 из пока не определенных. В данном случае я выбрал local3 и разрешил запоминание всех сообщений:
# newprog local3.* /var/log/newprog.log root$ service syslog restart
Если нужно, чтобы в журнал записывались только ошибки (err), syslog.conf должен содержать что-то наподобие
# newprog local3.err /var/log/newprog.log
Теперь убедитесь, что Syslog работает нормально — запустите следующее и про верьте вывод в журнал:
$ logger -p local4.err test message $ tail -f /var/log/newprog.log Jan 31 1 1:46:40 host user: test message
Убедившись, что с Syslog все в порядке, можно настроить Logrotate для ротации файлов журналов, задав ему соответствую щие правила; внесите полный путь к новому лог-файлу в конфигурационный файл Logrotate. Например, под Red Hat Enterprise Linux нужно поправить /etc/logrotate.d/syslog, добавив '/var/log/newprog.log' в первую строку файла конфигурации.
Теперь все, что Вам нужно — вызвать Syslog из Вашего скрипта, используя предварительно созданный селектор, который Вы добавили в syslog.conf. На других уровнях Вы можете выключить частичное слежение, добавив уровень запрета, как описано выше.
Более подробную информацию о работе с Syslog из PHP, Perl, C и Bash, Вы можете получить из следующих источников man-страниц:
Sys::Syslog (3pm) Unix::Syslog (3pm) logger (1) syslog (2)
Также рекомендую заглянуть на сайт php.net/syslog. КК
[править] Blue Skype
В: Я приобрел новый мобильный телефон с поддержкой Bluetooth. К нему еще прилагается Bluetooth-гарнитура. Можно ли использовать ее с компьютером? Я был бы счастлив, если бы по ней можно было бы разговаривать через Skype или другой Интернет-телефон. И если можно, то как?
С форума LXF
О: Во-первых, Вам понадобится Bluetooth-адаптер, если только он не встроен в Ваш компьютер. В любом компьютерном магазине он стоит чуть больше 10 долларов. Нужно будет установить пакет bluez, содержащий драйверы и утилиты для работы с Bluetooth — они есть в большинстве дистрибутивов. Если у Вас установлена рабочая среда KDE, запустите kbluetoothd, и в системном меню отобразится иконка доступных Bluetooth-подключений. Щелчок по этой иконке даст Вам доступ к Bluetooth-устройствам.
Для синхронизации контактов мобильного телефона есть несколько программ. Если Ваш телефон — Nokia, вам подойдет Gnokii, тоже имеется практически в любом дистрибутиве или на www.gnokii.org. Более независимый от марки телефона подход поддерживается KMobileTools (kmobiletools.berlios.de).
Пакеты, прилагающиеся к дистрибутиву, давно устарели. Чтобы получить новые функции, например, резервное копирование и восстановление телефонной книги, Вам придется собрать версию из SVN. Не волнуйтесь, это очень простая процедура, отлично описанная в имеющемся на сайте HOWTO.
Использовать гарнитуру для Skype тоже можно, но скорее всего в Вашем дистрибутиве не окажется нужных пакетов. Проект Bluetooth-alsa (bluetooth-alsa.sourceforge.net) предоставляет поддержку Bluetooth-гарнитур как ALSA-устройств, при этом система считает гарнитуру звуковой картой. Затем Вам надо будет настроить Skype или другую программу на использование этой «звуковой карты». Вы можете даже слушать MP3 через вашу гарнитуру — правда, не ждите выдающегося качества звука.
Скачайте и установите ПО, как описано на сайте. Затем установите гарнитуру в парный режим и подключите ее следующими командами:
modprobe -v snd_bt_sco esdctl stop hcitool scan btsco [адрес]
[адрес] в последней команде нужно взять из вывода команды hcitool scan. Это будет что-то вроде 00:13:EF:00:09:44. Теперь можно протестировать гарнитуру:
ls -l /proc/asound aplay -D plughw:Headset somesound.wav
Первая команда должна показать все записи для гарнитуры, вторая проиграет на нее звуковой файл somesound.wav. Если все заработало, большинство этих действий можно автоматизировать. Например, добавить имя модуля в список автоматически загружаемых (/etc/modprobe.conf или /etc/modules.conf). Найдите строку, начинающуюся с 'alias snd-card-0' и добавьте после нее:
alias snd-card-1 snd_bt_sco
Команды esdctl и btsco можно добавить в короткий скрипт, вызываемый каждый раз при подключении гарнитуры:
#!/bin/sh esdctl stop btsco 00:13:EF:00:09:44
Только подставьте верный адрес Вашего устройства. НБ
[править] Кстати о рыбках
В: Знаю, что это глупо, но я хотел бы установить Xfishtank в качестве фона для рабочего стола. У меня установлена Mandriva 2006 Free с KDE и Xfishtank из RPM-пакета. Но все, чего я достиг — мимолетное появление рыбок при выключении компьютера. А я бы хотел видеть их постоянно. Как это сделать?
Джобекс (Jobex), с форума LXF
О: В KDE есть собственное корневое окно, запускающееся поверх корневого окна X-сервера, и программы, отображающие что-то на окне X-сервера, им заслоняются. Вы можете увидеть их лишь за небольшой промежуток времени, когда KDE уже завершил работу, а X-сервер еще нет.
К счастью, решение очень простое. Щелкните правой кнопкой мыши на рабочем столе и выберите пункт «Настроить рабочий стол» (Configure Desktop). Зайдите в пункт «Поведение» (Behaviour) и включите «Позволить программам выполняться в родительском окне» (Allow Programs In Desktop Window) — учтите, что при этом нельзя менять назначение правой кнопки мыши по умолчанию. То же самое можно сделать, зайдя в Центр Управления KDE. НБ
[править] Нас атакуют!
В: Я отвечаю за web- и FTP-сервер под управлением Red Hat Enterprise Linux 4. Недавно я настроил Logwatch на посылку отчетов и нашел записи, которые меня беспокоят. Они касаются неудачных попыток авторизации и несуществующих пользователей.
Такие записи появляются что ни день, но IP-адреса и число попыток каждый раз разные. Похоже, кто-то пытается подобрать пароль к моей системе. Как я могу пресечь эти попытки? Какие действия вы порекомендуете для улучшения безопасности сервера?
Д. З. Флинт (DZ Flint)
О: Вы правы! Записи, которые послал вам Logwatch — неудавшиеся попытки проникновения. Есть несколько способов ужесточить доступ к sshd-серверу. Откройте конфигурационный файл OpenSSH (/etc/ssh/sshd_config). Давайте взглянем на него.
Параметр AllowUsers позволит входить в систему только оговоренным пользователям. Для FTP-сервера с множеством пользователей это вариант достаточно сложный, и все-таки я бы рекомендовал именно его, хотя атакующие все равно будут пытаться угадать пароли любого пользователя. Также, запретите boot-доступ по ssh, используя следующую опцию:
PermitRootLogin no
Используйте сильные пароли. Впрочем, чтобы их не угадали, я бы посоветовал перейти на аутентификацию по ключам, генерируемым утилитой ssh-keygen. Разберитесь с ключами при помощи ssh-agentissh-add и откажитесь от системы паролей.
Число атак на sshd-сервер можно уменьшить, назначив серверу другой порт по умолчанию. Большинство атакующих проверяет лишь стандартный порт 22. Попробуйте изменить его, например, на 222. Разрешайте пользоваться только версией 2 протокола SSH, в первой версии есть уязвимости. Убедитесь, что запрещены пустые пароли: предусмотрите опцию
PermitEmptyPasswords no
После запоминания всех этих изменений sshd-сервер нужно перезапустить.
Эти действия избавят от абсолютного большинства атак. Однако статичных правил недостаточно, ибо атаки изменчивы по природе. Кроме того, шифрование с публичным ключом может Вам не подойти. Проблемой занимается множество другого открытого ПО (Sshdfilter, Blockhosts и пр.), привлекая для работы PortSentry, Iptables, Tcpwrappers и др. Я сфокусируюсь на DenyHosts (denyhosts.sourceforge.net), так как он работает с Tcpwrappers, который есть в большинстве Unix-систем.
Для использования с Tcpwrappers, sshd должен быть скомпилирован с поддержкой libwrap. Собрана ли ваша версия sshd с libwrap, Вы узнаете, выполнив команду
# ldd /usr/sbin/sshd |grep libwrap libwrap.so.0 => /usr/lib/ libwrap.so.0 (0x00140000)
DenyHosts написана на Python — значит, потребуется интерпретатор этого языка. Вы можете установить его следующим образом:
# up2date -i python
Теперь скачайте самую свежую версию. Для RHEL 4 доступен RPM-пакет:
rpm -ivh http://kent.dl.sourceforge.net/sourceforge/denyhosts/DenyHosts-1.1.3-python2.3.noarch.rpm
DenyHosts поставляется с простым конфигурационным файлом (/usr/share/denyhosts/denyhosts.cfg-dist), его можно использовать как шаблон для Вашей системы. Вот некоторые опции, которые Вы, возможно, захотите изменить:
PURGE_DENY = 1w
Запрещает удалять записи, которым меньше одной недели (1w).
DENY_THRESHOLD_INVALID = 5
После скольких попыток начинать блокировку для нелегальных пользователей
DENY_THRESHOLD_VALID = 10
После скольких попыток начинать блокировку для легальных пользователей
Если Вы хотите получать уведомления о новых блокируемых хостах, введите свой адрес в строке
ADMIN_EMAIL = webmaster@example.com
Конфигурационный файл очень хорошо прокомментирован и несложен для восприятия. Когда Вы определитесь со всеми опциями, скопируйте файл в /etc/denyhosts.cfg.
Теперь нужно подправить инициализационный скрипт (/usr/share/denyhosts/daemon-control-dist) для нашей системы:
DENYHOSTS_CFG = "/etc/denyhosts.cfg"
и установить этот скрипт:
# cp /usr/share/denyhosts/daemon-control-dist /etc/init.d/denyhost # chmod +x /etc/init.d/denyhost # chkconfig denyhost on
Теперь можно запустить DenyHosts следующей командой:
# /etc/init.d/denyhost start &
Отныне, если Вы увидите в логах следы попыток проникновения в систему, знайте, что хост злоумышленника уже заблокирован!
#tail -n3 /etc/hosts.deny sshd: 66.34.205.1 sshd: 64.34.193.58 sshd: 220.1 17.241.3 sshd: 218.85.1 19.83
Письмо с уведомлением будет отправлено на адрес, указанный в ADMIN_EMAIL.
Безопасность сервера — довольно обширная тема. Попробуйте поискать в сети по ключевым словам «defending against brute force ssh attacks». КК
[править] Черный экран Debian
В: Сегодня я установил Debian 3.1 с диска LXF 70. Малость помучившись, я установил первый диск; все, что мне теперь надо — открыть систему и продолжить.
При входе я ввожу свое имя пользователя, пароль… и попадаю в черный экран с надписью 'david@debian~$:' . Я что-то сделал неправильно или нужно произнести какое-то заклинание? Я новичок, но надеюсь, что установил систему не зря.
Дэвид Чарлтон (David Charlton)
О: Вы установили только базовую систему, которая не включает графическое окружение. На втором этапе установки, после перезагрузки, вас спрашивали про наборы пакетов. Первым набором был Рабочий стол, кажется, что он отмечен по умолчанию, потому что подсвечен — а вот и нет устанавливаются только те наборы пакетов слева от которых стоит звездочка. Если же Вы просто нажали Enter, то ничего не установилось.
Но это не повод паниковать или бросаться переустанавливать систему. Войдите в систему как суперпользователь и введите команду aptitude; загрузится менеджер пакетов. Перейдите на пункт задач (Tasks) нажмите Enter. Спуститесь на пункт End User и снова нажмите Enter. Теперь выберите Desktop Environment и нажмите +. А теперь нажмите G (увидите, что будет установлено) и еще раз G для подтверждения установки. Эти действия приведут к установке KDE и Gnome, и при первом входе в систему Вы сможете выбрать одно из этих сред.
Во время установки вам зададут несколько вопросов о настройках (если Вы не уверены в своих знаниях, согласитесь на ответы по умолчанию, они прекрасно рабо тают). Те же вопросы были бы заданы при инсталляции системы, если выбрать набор пакетов Рабочий стол. Графическое окружение запустится при следующей загрузке системы. НБ
[править] Несговорчивый QEMU
В: Здравствуйте, уважаемая редакция! Я пыталась установить QEMU 0.7 и 0.8 с дисков журнала на Mandriva Linux 2006. При это компьютер стабильно выдает мне следующую ошибку:
> $ qemu -boot d -cdrom /dev/cdrom > Could not get DNS address >$
Я пробовала менять параметры командной строки — ничего не вышло Помогите, пожалуйста!
Аня
О: QEMU Выдает ошибку потому, что не может найти адрес DNS-сервера, который превращает строковые имена сайтов (www.linuxformat.ru) в IP-адреса (83.222.7.132) и нужен QEMU для внутренних нужд. Обычно адрес DNS-сервера выдается автоматически при подключении к Интернету или же назначается провайдером и Вы прописываете его в системе вручную. Если Ваш компьютер не подключен к Интернету, попробуйте добавить в файл /etc/resolv.conf следующую строку (это нужно делать от имени root):
nameserver 127.0.0.1
Это заставит QEMU замолчать, по крайней мере, до тех пор, пока ему не потребуется реально воспользоваться DNS. ВС
[править] GPRS без проблем
В: Позвольте сразу второй вопрос: Я использую для выхода в Интернет сотовый телефон «Samsung SGH X450» (GPRS), это единственная причина из-за которой я до сих пор пользуюсь Windows! Я люблю Linux, быстро привыкла к нему, но не могу выйти в Интернет через сотовый из Mandriva Linux 2006. Пожалуйста, подскажите, как мне заставить Mandriva Linux 2006 использовать сотовый как модем, и тогда я смогу полностью отказаться от Windows 2000!
Аня
О: А какой у вас кабель? Если это COM, то все очень просто: после подключения телефона он будет виден в системе под именем /dev/ttyS[номер COM-порта]. Скорее всего это будет /dev/ttyS2. Имя этого устройства и нужно указать в KPPP. Для некоторых телефонов обязатель но нужна строка инициализации модема (AT+CGDCONT=1,"IP", «<acm вашего оператора>»). Все эти параметры знать не обязательно, если установить GPRS EasyConnect (gprsec.hu/modules/index/): тут нужно просто выбрать из списка телефон, порт для подключения (есть функция автоматического обнаружения порта телефона) и вашего оператора. Samsung SGH X450 находится в списке поддержива емых аппаратов (через COM-кабель).
Если же у вас USB-кабель, то проблем будет немного больше — для разных типов кабелей нужно указывать разные устройства. После подключения проверьте, не появился ли у вас в системе файл /dev/ttyACM0. Если да, то это и есть ваш телефон. Но, скорее всего вы приобрели USB конвертер, и телефон будет известен системе как /dev/ttyUSB0. Если этого устройства нет, попробуйте вручную загрузить модуль pl2303 (modprobe pl2303). АК
[править] APT через посредника
В: Приветствую вас, редакция Linux Format. Вопрос в следующем: в номере LXF 2(76) было много сказано об утилите управления пакетами apt, с помощью которой можно производить обновление базы данных пакетов, обновление самих пакетов, установку новых программ с разрешением зависимостей. Эта прекрасная утилита является одной из сильных сторон дистрибутивов на базе Debian, но вот незадача: допустим у меня есть хороший Интернет-канал, работающий через proxy-сервер с аутентификацией по паролю! В этом случае возникают вопросы по настройке apt через proxy, да ещё и с аутентификацией! Подскажите что делать в этом случае для дистрибутивов Ubuntu и Debian, и есть ли различия в настройке этих параметров у данных дистрибутивов. Заранее спасибо.
Никита Неверов
О: Напрашивается примерно такой универсальный вариант решения — определить переменную среды:
HTTP_PROXY="http://login:password@xxx.xxx.xx.xx:yyyy" export HTTP_PROXY
где xxx.xxx.xx.xx — адрес proxy-сервера, yyyy — порт, а login и password — сооветствующие параметры Вашей учетной записи. В Debian такую строку резонно вписать в профильный файл суперпользователя, а в Ubuntu и Kubuntu в которых учетной записи root как таковой по умолчанию нет, эту переменную можно определить в профильном файле обычного пользователя (в ~/.bashrc). Ну и, конечно, никто не запрещает сделать это просто из командной строки:
export HTTP_PROXY="http://login:password@xxx.xxx.xx.xx:yyyy"
Есть и другой способ, более отвечающий Debian Way — отредактировать файл /etc/apt/apt.conf. По умолчанию он содержит строку
Acquire::::Proxy "false";
предписывающую не использовать proxy. Ее достаточно изменить следующим образом:
Acquire::http::Proxy "http://login:password@xxx.xxx.xx.xx:yyyy"
К слову сказать, указание на порт в большинстве случаев можно и опустить. АФ