Differences between revisions 85 and 86
Revision 85 as of 2012-01-02 09:43:04
Size: 64843
Editor: PavloRudyj
Comment: TODO: перевести и добавить http://wiki.debian.org/HowTo/CpuFrequencyScaling
Revision 86 as of 2012-01-21 00:02:57
Size: 64273
Editor: ?zorg
Comment: Переработал структура разделов. Вместо разделения по типу используется деление по назначению
Deletions are marked like this. Additions are marked like this.
Line 12: Line 12:
Такой подход наиболее полно реализует преимущества Debian перед Ubuntu и Gentoo - оптимальное сочетание затрат на установку\настройку к эффективности\захламлённости ненужным ПО. Считаю достойным восхищения то, что за 15 минут можно с нуля установить на голое железо по-настоящему универсальную ОС, которая будет содержать только самый минимум программ. Такой подход наиболее полно реализует преимущества Debian перед Ubuntu и Gentoo - оптимальное сочетание затрат на установку\настройку к эффективности\захламлённости ненужным ПО.
Line 14: Line 14:
Line 20: Line 19:
----------

<<TableOfContents(4)>>
----------
= Настройка менеджера пакетов aptitude =

<<TableOfContents(10)>>

----------
= Система =
----------
== П
олитика установки ПО ==
Line 36: Line 37:
== Настройка автоматического обновления == == Дата и время ==
------
=== Настройка ===
------
С консоли время в системе можно установить так:
{{{
# date MMDDhhmmCCYY.ss
#или
# date --set 4/13/2004
# date --set 14:46:27
}}}
Где MM — месяц, DD — день месяца, hh — часы, mm — минуты, CCYY — 4 цифры года, ss — секунды.
------
=== Синхронизация локально ===
------
Если вам не нужно раздавать время на другие машины, можете довольствоваться пакетом DebPkg:ntpdate, который не запускает свой демон при старте системы.
{{{
# aptitude install ntpdate
# ntpdate-debian
# ntpdate-debian -bs
}}}
Вторая команда выдает разницу во времени с дебиановскими серверами, а третья - однократно синхронизирует время на вашей машине с одним из них. Можно также использовать другие сервера.
------
=== Синхронизация для клиентов в сети ===
------
Устанавливаем DebPkg:ntp: - комплекс программ, позволяющих получить текущее время со специальных серверов в интернет и стать таким сервером для локальной сети.

{{{
# aptitude install ntp
}}}

По-умолчанию все настройки рабочие. Время забирается с сервера ntp.pool.org, служба автоматически синхронизирует время сразу после запуска. Настройки службы находятся в файле /etc/ntp.conf. Для раздачи времени в локальной сети нужно раскомментировать строку "broadcast" и добавить широковещательный адрес вашей сети.

Пример для сети 192.168.0.xx

{{{
broadcast 192.168.0.255
}}}
Перезапускаем службу для применения новых настроек
{{{
/etc/init.d/ntp restart
}}}
Далее можно прописывать IP адрес компьютера в качестве источника синхронизации.

----------
== Автоматическое обновление ==
Line 93: Line 139:
  ----------
= Настройка входа в систему =
----------
== Автоматический вход с mingetty ==
----------
== Вход в систему ==
----------
=== Автологин в консоли с mingetty ===
Line 117: Line 162:
== Автоматический вход с стандартным agetty == === Автологин в консоли с стандартным agetty ===
Line 129: Line 174:
----------
= Настройка сети =
----------
== Универсальная базовая настройка ==
---------
== Локализация ==
----------
=== Глобальные параметры локализации системы ===
-----
Смотрим текущую [[WikiPedia:ru:Локаль|локаль]]:
{{{
$ locale
}}}
Кроме LC_ALL все параметры должны быть ru_RU.UTF-8.

Если это не так, тогда запускаем настройку
{{{
# dpkg-reconfigure locales
}}}
Если системная локаль не применяется к пользователю, то стоит посмотреть файл настроек интерпретатора командной строки (bash, dash, ash) в домашнем каталоге пользователя.
------
=== Кириллица в консоли ===
------
См. примечания [[#prim2|2]]

Настраиваем кириллицу в консоли

Устанавливаем пакет DebPkg:console-cyrillic:
{{{
# aptitude install console-cyrillic
}}}

Настраиваем все параметры пакета:
{{{
# dpkg-reconfigure console-cyrillic
}}}
------
=== Удаление неиспользуемых файлов локализации ===
------
DebPkg:localepurge - утилита для удаления ненужных локализаций, документации и прочего. При установке пакета с помощью debconf выводится список языков в различных кодировках, отметить следует только ''' нужные ''' вам локализации. Рекомендуется сперва сделать backup системы и добавить к нужным английскую локализацию. В дальнейшем утилита будет автоматически запускаться и чистить файлы сразу после установки любых пакетов.
{{{
# aptitude install localepurge
}}}
Удаление происходит при запуске утилиты:
{{{
## localepurge
localepurge: Disk space freed in /usr/share/locale: 345340 KiB
localepurge: Disk space freed in /usr/share/man: 2060 KiB
localepurge: Disk space freed in /usr/share/gnome/help: 65770 KiB
localepurge: Disk space freed in /usr/share/omf: 435 KiB

Total disk space freed by localepurge: 413605 KiB
}}}

Если вдруг понадобились удаленные языковые файлы, вернуть их можно так:
{{{
apt-get --reinstall install $(dpkg -S LC_MESSAGES | cut -d: -f1 | tr ', ' '
' | sort -u)
}}}
----------
== Загрузчик ==
----------
=== GRUB2 ===
----------
Решение проблем с кракозябрами
----------
При установке корневого раздела на зашифрованный диск GRUB может в главном меню показывать кракозябры. Это происходит из-за недоступности стандартного шрифта /usr/share/grub/unicode.pf2.
Копируем шрифт
{{{
cp /usr/share/grub/unicode.pf2 /boot/grub/
}}}
Указываем настройку
{{{
nano /etc/default/grub

GRUB_FONT=/boot/grub/unicode.pf2
}}}
Применяем настройку:
{{{
update-grub
}}}
------------
== Управление запуском служб ==
------
DebPkg:sysv-rc-conf: - утилита с curses интерфейсом, преназначенная для быстрого управления работой и запуском служб (демонов, сервисов). Очень удобна для просмотра установленных служб в системе.
  
{{{
# aptitude install sysv-rc-conf
}}}

Помимо настройки автозапуска, утилита позволяет в реальном времени запускать и останавливать имеющиеся в системе службы.
------------
== Сглаживание шрифтов ==
------------
[[ru/PatchCairo| Смотрим здесь]]
----------
= Железо =
----------
== Определение оборудования ==
------
Устанавливаем DebPkg:hwinfo: и DebPkg:lshw: - позволяют выборочно просматривать свойства программных и аппаратных компонентов компьютера

Достоинства и недостатки:
hwinfo выводит более подробную информацию, чем lshw, но устанавливает дополнительные библиотеки и постоянно работающую службу DebPkg:dbus.
{{{
# aptitude install hwinfo lshw
}}}

Эти программы по умолчанию выводят всю собранную информацию, что сильно затрудняет поиск нужных сведений.
Поэтому lshw полезно запускать с флагом -C и указанием раздела (display, network и т.д.). В этом случае программа покажет сведения только об указанном разделе. Аналогично осуществляется выборка и в hwinfo

Сначала получаем списки доступных разделов сведений о компьютере
{{{
# hwinfo --h
# lshw | less
}}}

Пример выбора раздела в hwinfo - просмотр сведений о видеокарте:
{{{
# hwinfo --gfxcard
}}}

Пример выбора раздела в lshw - просмотр сведений о сетевых соединениях:
{{{
# lshw -c network
}}}
Эта команда отобразит всю доступную информацию о ваших сетевых устройствах (проводных и беспроводных): от возможностей до драйверов и так далее. Важнее всего проверить, не отключено ли устройство и указан ли драйвер. Драйвер должен появиться в последней строке секции об этом устройстве и обозначен как «driver=имя_драйвера»
------
== Обновление микрокода процессора(ов) ==
------
Устанавливаем DebPkg:intel-microcode: - комплекс программ, позволяющих загрузить c cайта Intel обновлённый микрокод для Вашего Intel процессора и обновить его в процессоре сразу после включения компьютера. Обновлённый микрокод исправляет ошибки и оптимизирует работу процессоров Intel, что наиболее актуально для современных процессоров.

Во время установки нам будет предложено скачать новую версию микрокода, соглашаемся.
{{{
# aptitude install intel-microcode
}}}
Автоматически происходит только обновление микрокода в процессоре, загружать новый микрокод с сайта Intel нужно вручную:
{{{
# /usr/sbin/update-intel-microcode
}}}
------
== Управление скоростью вращения вентиляторов ==
------
Устанавливаем DebPkg:fancontrol: - службу, которая в зависимости от температуры оборудования устанавливает необходимую скорость работы вентилятора. На многих современных компьютерах и даже на не очень современных ноутбуках эта служба уже реализована средствами BIOS, и устанавливать fancontrol просто не необходимости.

Устанавливаем службу:
{{{
# aptitude install lm-sensors -r
}}}

Определяем датчики
{{{
# sensors-detect
}}}
Чтобы не перезагружать компьютер заново загружаем модули
{{{
/etc/init.d/module-init-tools
}}}
См. примечание [[#prim4|4]]

Смотрим показания датчиков
{{{
sensors
}}}
Далее настраиваем вывод программы:
 * Вместо "in0", "temp2", "fan4" сделаем понятные "CPU Temp", "CPU fan", "System fan".
 * Уберём лишние значения, которые невозможно опознать
 * Укажем допустимые пределы значений датчиков

Для поиска понятных названий датчиков можно воспользоваться:
 * мануал к материнской плате (напряжение и вентиляторы)
 * утилиту pwmconfig (температура ЦП и вентиляторы)
 * нагрузочную утилиту cpuburn (температура ЦП)
 * Аналогичные программы в других ОС (Aida64 и т.д.)

Если нашли кто есть кто, тогда смотрим название датчика
{{{
sensors | head -1
}}}
Перемещаем оригинальный файл.
{{{
mv /etc/sensors3.conf /etc/sensors3.conf.BAK
}}}
Cоздаём новый конфиг и правим его (Пример для ASUS p4p800)
{{{
nano /etc/sensors3.conf

# Указываем системный датчик

chip "w83627thf-isa-0290"

# Игнорируем неопознанные датчики

ignore in1
ignore in3
ignore in4
ignore in7
ignore in8
ignore fan3
ignore temp3

# Указываем правильное название датчика

label temp2 "CPU Temp"
label temp1 "MB Temp"
label fan1 "System Fan"
label fan2 "CPU Fan"
label in0 "Vcore"
label in2 "3.3V"

# Задаём max значения датчиков и уровеня отключения тревоги (ALARM)

set temp1_max 60
set temp1_max_hyst 50
set temp2_max 80
set temp2_max_hyst 60

# Указываем min PWM вентиляторов
set fan1_div 2
set fan1_min 0
set fan2_div 2
set fan2_min 0


# Указываем норму отклонения напряжения не более 5%
set in2_min 3.3 * 0.95
set in2_max 3.3 * 1.05
set in0_min 1.95 * 0.95
set in0_max 1.95 * 1.05
}}}
Чтобы sensors применил настройки проверено помогала только перезагрузка ПК.

Далее внимательно читаем и настраиваем fancontrol
{{{
pwmconfig
}}}
Перезапускаем службу для применения новых настроек
{{{
/etc/init.d/fancontrol restart
}}}
(./) Далее наслаждаемся тишиной 8)
----------
= Интернет и сети =
----------
== Сетевые настройки ==
----------
=== Базовая настройка ===
Line 194: Line 478:
== Настройка в псевдографическом интерфейсе wicd-curses == === Настройка в консольном интерфейсе wicd-curses ===
Line 212: Line 496:
= Firewall (брандмауэр, межсетевой экран и т.п.) =
------
== Общие сведения ==
== Firewall (брандмауэр, межсетевой экран и т.п.) ==
------
=== Общие сведения ===
Line 219: Line 503:
== Apf-firewall == === Apf-firewall ===
Line 271: Line 555:
== Vuurmuur (пока только для i386) == === Vuurmuur (пока только для i386) ===
Line 361: Line 645:
  ---------
= Локализация =
----------
== Глобальные параметры локализации системы ==
-----
Смотрим текущую [[WikiPedia:ru:Локаль|локаль]]:
{{{
$ locale
}}}
Кроме LC_ALL все параметры должны быть ru_RU.UTF-8.

Если это не так, тогда запускаем настройку
{{{
# dpkg-reconfigure locales
}}}
Если системная локаль не применяется к пользователю, то стоит посмотреть файл настроек интерпретатора командной строки (bash, dash, ash) в домашнем каталоге пользователя.
------
== Поддержка кириллицы в консоли ==
------
См. примечания [[#prim2|2]]

Настраиваем кириллицу в консоли

Устанавливаем пакет DebPkg:console-cyrillic:
{{{
# aptitude install console-cyrillic
}}}

Настраиваем все параметры пакета:
{{{
# dpkg-reconfigure console-cyrillic
}}}
------
== Удаление неиспользуемых файлов локализации ==
------
DebPkg:localepurge - утилита для удаления ненужных локализаций, документации и прочего. При установке пакета с помощью debconf выводится список языков в различных кодировках, отметить следует только ''' нужные ''' вам локализации. Рекомендуется сперва сделать backup системы и добавить к нужным английскую локализацию. В дальнейшем утилита будет автоматически запускаться и чистить файлы сразу после установки любых пакетов.
{{{
# aptitude install localepurge
}}}
Удаление происходит при запуске утилиты:
{{{
## localepurge
localepurge: Disk space freed in /usr/share/locale: 345340 KiB
localepurge: Disk space freed in /usr/share/man: 2060 KiB
localepurge: Disk space freed in /usr/share/gnome/help: 65770 KiB
localepurge: Disk space freed in /usr/share/omf: 435 KiB

Total disk space freed by localepurge: 413605 KiB
}}}

Если вдруг понадобились удаленные языковые файлы, вернуть их можно так:
{{{
apt-get --reinstall install $(dpkg -S LC_MESSAGES | cut -d: -f1 | tr ', ' '
' | sort -u)
}}}
----------
= Загрузчик =
----------
== GRUB2 ==
----------
=== Решение проблем ===
----------
==== Кракозябры ====
----------
При установке корневого раздела на зашифрованный диск GRUB может в главном меню показывать кракозябры. Это происходит из-за недоступности стандартного шрифта /usr/share/grub/unicode.pf2.
Копируем шрифт
{{{
cp /usr/share/grub/unicode.pf2 /boot/grub/
}}}
Указываем настройку
{{{
nano /etc/default/grub

GRUB_FONT=/boot/grub/unicode.pf2
}}}
Применяем настройку:
{{{
update-grub
}}}
----------
= Служебные программы =
----------
== Файловый менеджер Midnight Commander ==
------
Устанавливаем DebPkg:mc: - один из лучших инструментов для быстрой навигации по файловой системе компьютера в консоли:
{{{
# aptitude install mc
}}}

См. примечание [[#prim3|3]]
------
== Утилита-мультиплексор Screen ==
------
Устанавливаем DebPkg:screen: - утилиту-мультиплексор, предоставляющую пользователю доступ к нескольким сессиям в рамках одной сессии.:
{{{
# aptitude install screen
}}}
Далее настраиваем:
{{{
nano /etc/screenrc

# Отключаем приветствие
startup_message off
# Производить отключение сессии при разрыве связи с терминалом
autodetach on
# Включаем строку состояния
hardstatus on
# Параметры строки состояния
hardstatus alwayslastline "%{+b wk} %c $LOGNAME@%H %=[ %w ] "
}}}
или одной командой:
{{{
sed -i 's/^#startup_message.*/startup_message off/; s/^#autodetach.*/autodetach on/; s/^hardstatus off.*/hardstatus on/; s/^hardstatus string.*/hardstatus alwayslastline "%{+b wk} %c $LOGNAME@%H %=[ %w ] "/' /etc/screenrc
}}}
------
== Просмотр процессов Htop ==
------
Устанавливаем DebPkg:htop: - "Диспетчер задач" для нашей системы
{{{
# aptitude install htop
}}}

------
== Утилита для просмотра текста в консоли Less ==
------
Устанавливаем DebPkg:less: - позволяет прокручивать текст на экране вверх\вниз
{{{
# aptitude install less
}}}

Пример использования
{{{
# ifconfig -a | less
     Клавиши ↑ и ↓ позволят прокручивать текст
     Для выхода нужно нажать Esc
}}}

------
== Набор утилит для диагностики DNS ==
------
== Диагностика DNS ==
Line 524: Line 670:
== Утилита для просмотра загрузки сети nethogs == == Нагрузка на сеть ==
Line 532: Line 678:
== Утилиты для определения оборудования hwinfo и lshw ==
------
Устанавливаем DebPkg:hwinfo: и DebPkg:lshw: - позволяют выборочно просматривать свойства программных и аппаратных компонентов компьютера

Достоинства и недостатки:
hwinfo выводит более подробную информацию, чем lshw, но устанавливает дополнительные библиотеки и постоянно работающую службу DebPkg:dbus.
{{{
# aptitude install hwinfo lshw
}}}

Эти программы по умолчанию выводят всю собранную информацию, что сильно затрудняет поиск нужных сведений.
Поэтому lshw полезно запускать с флагом -C и указанием раздела (display, network и т.д.). В этом случае программа покажет сведения только об указанном разделе. Аналогично осуществляется выборка и в hwinfo

Сначала получаем списки доступных разделов сведений о компьютере
{{{
# hwinfo --h
# lshw | less
}}}

Пример выбора раздела в hwinfo - просмотр сведений о видеокарте:
{{{
# hwinfo --gfxcard
}}}

Пример выбора раздела в lshw - просмотр сведений о сетевых соединениях:
{{{
# lshw -c network
}}}
Эта команда отобразит всю доступную информацию о ваших сетевых устройствах (проводных и беспроводных): от возможностей до драйверов и так далее. Важнее всего проверить, не отключено ли устройство и указан ли драйвер. Драйвер должен появиться в последней строке секции об этом устройстве и обозначен как «driver=имя_драйвера»
------------
= Службы, демоны и сервисы =
------------
== Управление запуском служб ==
------
DebPkg:sysv-rc-conf: - утилита с curses интерфейсом, преназначенная для быстрого управления работой и запуском служб (демонов, сервисов). Очень удобна для просмотра установленных служб в системе.
  
{{{
# aptitude install sysv-rc-conf
}}}

Помимо настройки автозапуска, утилита позволяет в реальном времени запускать и останавливать имеющиеся в системе службы.
------
== Служба удаленного доступа ssh ==
== Анонимный доступ в интернет ==
------
___В разработке____
{{{
aptitude install tor
}}}
------
== Динамическая регистрация в DNS ==
------
Устанавливаем DebPkg:ddclient: - службу, позволяющую привязать динамический IP от вашего провайдера к бесплатному домену второго уровня (например от dyndns.org)

Регистрируемся на сайте dyndns.org и в итоге бесплатно получаем username, пароль и доменное имя. Я выбрал себе ххххх.dyndns.org

{{{
aptitude install ddclient
}}}
При установке скармливаем конфигуратору имя, пароль и домен. Для проверки работы этой службы можно использовать сайт http://ping.eu

Теперь служба будет автоматически обновлять Ваш IP в DNS сервере при его изменении.
----------
== Удаленный доступ к консоли ==
Line 675: Line 799:
== Служба обновления микрокода процессоров Intel ==
------
Устанавливаем DebPkg:intel-microcode: - комплекс программ, позволяющих загрузить c cайта Intel обновлённый микрокод для Вашего Intel процессора и обновить его в процессоре сразу после включения компьютера. Обновлённый микрокод исправляет ошибки и оптимизирует работу процессоров Intel, что наиболее актуально для современных процессоров.

Во время установки нам будет предложено скачать новую версию микрокода, соглашаемся.
{{{
# aptitude install intel-microcode
}}}
Автоматически происходит только обновление микрокода в процессоре, загружать новый микрокод с сайта Intel нужно вручную:
{{{
# /usr/sbin/update-intel-microcode
}}}
------
== Служба управления скоростью вращения вентиляторов fancontrol ==
------
Устанавливаем DebPkg:fancontrol: - службу, которая в зависимости от температуры оборудования устанавливает необходимую скорость работы вентилятора. На многих современных компьютерах и даже на не очень современных ноутбуках эта служба уже реализована средствами BIOS, и устанавливать fancontrol просто не необходимости.

Устанавливаем службу:
{{{
# aptitude install lm-sensors -r
}}}

Определяем датчики
{{{
# sensors-detect
}}}
Чтобы не перезагружать компьютер заново загружаем модули
{{{
/etc/init.d/module-init-tools
}}}
См. примечание [[#prim4|4]]

Смотрим показания датчиков
{{{
sensors
}}}
Далее настраиваем вывод программы:
 * Вместо "in0", "temp2", "fan4" сделаем понятные "CPU Temp", "CPU fan", "System fan".
 * Уберём лишние значения, которые невозможно опознать
 * Укажем допустимые пределы значений датчиков

Для поиска понятных названий датчиков можно воспользоваться:
 * мануал к материнской плате (напряжение и вентиляторы)
 * утилиту pwmconfig (температура ЦП и вентиляторы)
 * нагрузочную утилиту cpuburn (температура ЦП)
 * Аналогичные программы в других ОС (Aida64 и т.д.)

Если нашли кто есть кто, тогда смотрим название датчика
{{{
sensors | head -1
}}}
Перемещаем оригинальный файл.
{{{
mv /etc/sensors3.conf /etc/sensors3.conf.BAK
}}}
Cоздаём новый конфиг и правим его (Пример для ASUS p4p800)
{{{
nano /etc/sensors3.conf

# Указываем системный датчик

chip "w83627thf-isa-0290"

# Игнорируем неопознанные датчики

ignore in1
ignore in3
ignore in4
ignore in7
ignore in8
ignore fan3
ignore temp3

# Указываем правильное название датчика

label temp2 "CPU Temp"
label temp1 "MB Temp"
label fan1 "System Fan"
label fan2 "CPU Fan"
label in0 "Vcore"
label in2 "3.3V"

# Задаём max значения датчиков и уровеня отключения тревоги (ALARM)

set temp1_max 60
set temp1_max_hyst 50
set temp2_max 80
set temp2_max_hyst 60

# Указываем min PWM вентиляторов
set fan1_div 2
set fan1_min 0
set fan2_div 2
set fan2_min 0


# Указываем норму отклонения напряжения не более 5%
set in2_min 3.3 * 0.95
set in2_max 3.3 * 1.05
set in0_min 1.95 * 0.95
set in0_max 1.95 * 1.05
}}}
Чтобы sensors применил настройки проверено помогала только перезагрузка ПК.

Далее внимательно читаем и настраиваем fancontrol
{{{
pwmconfig
}}}
Перезапускаем службу для применения новых настроек
{{{
/etc/init.d/fancontrol restart
}}}
(./) Далее наслаждаемся тишиной 8)
------
== Установка системного времени и его автоматической раздачи/обновления(NTP) ==
------
С консоли время в системе можно установить так:
{{{
# date MMDDhhmmCCYY.ss
#или
# date --set 4/13/2004
# date --set 14:46:27
}}}
Где MM — месяц, DD — день месяца, hh — часы, mm — минуты, CCYY — 4 цифры года, ss — секунды.

Устанавливаем DebPkg:ntp: - комплекс программ, позволяющих получить текущее время со специальных серверов в интернет и стать таким сервером для локальной сети.

{{{
# aptitude install ntp
}}}

По-умолчанию все настройки рабочие. Время забирается с сервера ntp.pool.org, служба автоматически синхронизирует время сразу после запуска. Настройки службы находятся в файле /etc/ntp.conf. Для раздачи времени в локальной сети нужно раскомментировать строку "broadcast" и добавить широковещательный адрес вашей сети.

Пример для сети 192.168.0.xx

{{{
broadcast 192.168.0.255
}}}
Перезапускаем службу для применения новых настроек
{{{
/etc/init.d/ntp restart
}}}
Далее можно прописывать IP адрес компьютера в качестве источника синхронизации.

Если вам не нужно раздавать время на другие машины, можете довольствоваться пакетом DebPkg:ntpdate, который не запускает свой демон при старте системы.
{{{
# aptitude install ntpdate
# ntpdate-debian
# ntpdate-debian -bs
}}}
Вторая команда выдает разницу во времени с дебиановскими серверами, а третья - однократно синхронизирует время на вашей машине с одним из них. Можно также использовать другие сервера.
------
== Служба загрузки torrent Transmission ==
------
== Общий доступ к файлам ==
------
=== Тorrent ===
Line 886: Line 861:
== Служба доступа к файлам и принтерам SMB (CIFS) == === SMB (CIFS) ===
Line 981: Line 956:
=== Корзина для Samba === ==== Корзина ====
Line 1012: Line 987:
=== Аудит для Samba === ==== Аудит ====
Line 1073: Line 1048:
=== Принтеры для Samba === ==== Принтеры ====
Line 1098: Line 1073:
==== Проблемы, которые не удалось решить ==== Проблемы, которые не удалось решить
Line 1103: Line 1078:
=== Служба Web интерфейса для администрирования Samba === ==== Web интерфейс для администрирования ====
Line 1117: Line 1092:
------
== Служба сервера БД MySQL ==

Совместная работа с аудитом и корзиной не тестировалась
----------
= Работа в консоли =
----------
== Файловый менеджер ==
------
Устанавливаем Midnight commander DebPkg:mc: - утилита ставшая стандартом де-факто для быстрой навигации по файловой системе компьютера:
{{{
aptitude install mc
}}}

См. примечание [[#prim3|3]]
------
=== Сессии в консоли ===
------
==== Screen ====
------
Устанавливаем DebPkg:screen: - утилиту-мультиплексор, предоставляющую пользователю доступ к нескольким консолям в рамках одной сессии.:
{{{
# aptitude install screen
}}}
Далее настраиваем:
{{{
nano /etc/screenrc

# Отключаем приветствие
startup_message off
# Производить отключение сессии при разрыве связи с терминалом
autodetach on
# Включаем строку состояния
hardstatus on
# Параметры строки состояния
hardstatus alwayslastline "%{+b wk} %c $LOGNAME@%H %=[ %w ] "
}}}
или одной командой:
{{{
sed -i 's/^#startup_message.*/startup_message off/; s/^#autodetach.*/autodetach on/; s/^hardstatus off.*/hardstatus on/; s/^hardstatus string.*/hardstatus alwayslastline "%{+b wk} %c $LOGNAME@%H %=[ %w ] "/' /etc/screenrc
}}}
------
=== Просмотр процессов ===
------
Устанавливаем DebPkg:htop: - "Диспетчер задач" для нашей системы
{{{
# aptitude install htop
}}}

------
=== Просмотр больших текстов в консоли ===
------
Устанавливаем DebPkg:less: - позволяет прокручивать текст на экране вверх\вниз
{{{
# aptitude install less
}}}

Пример использования
{{{
# ifconfig -a | less
     Клавиши ↑ и ↓ позволят прокручивать текст
     Для выхода нужно нажать Esc
}}}
----------
= Прочее =
----------
== SQL сервер ==
Line 1127: Line 1165:
== Служба Web-сервера == == Web-сервер ==
Line 1150: Line 1188:
==== Поддержка PHP5 в Apache2 ==== ==== Поддержка PHP5 ====
Line 1190: Line 1228:
==== Поддержка PHP5 в Lighttpd ==== ==== Поддержка PHP5 ====
Line 1234: Line 1272:
==== Лог доступа к Lighttpd ==== ==== Лог доступа ====
Line 1245: Line 1283:
------
== Служба анонимного доступа TOR ==
------
___В разработке____
{{{
aptitude install tor
}}}
------
== Служба обновления имени домена для динамических IP адресов ddclient ==
------
Устанавливаем DebPkg:ddclient: - службу, позволяющую привязать динамический IP от вашего провайдера к бесплатному домену второго уровня (например от dyndns.org)

Регистрируемся на сайте dyndns.org и в итоге бесплатно получаем username, пароль и доменное имя. Я выбрал себе ххххх.dyndns.org

{{{
aptitude install ddclient
}}}
При установке скармливаем конфигуратору имя, пароль и домен. Для проверки работы этой службы можно использовать сайт http://ping.eu

Теперь служба будет автоматически обновлять Ваш IP в DNS сервере при его смене.
------------
= Сглаживание шрифтов =
[[ru/PatchCairo|Активация сглаживания шрифтов]]
Line 1270: Line 1285:
------------
Line 1281: Line 1297:

http://www.debian.org/logos/openlogo-nd-50.png http://www.debian.org/Pics/debian.png

Translation(s): - Русский


Подготовка свежеустановленной системы Debian к использованию

Этот раздел поможет наглядно подготовить чистую систему Debian squeeze к полноценному использованию в качестве того, что вы выберите сами. Нижеуказанные настройки рекомендую выполнять в пошаговом режиме. Каждый блок проверен, теория, практика и описания подаются кратко, без излишеств. Если мало, подробности ищите в Google.

Настоятельно рекомендую использовать только чистый Debian, т.е. без "заранее подобранных наборов ПО".

tasksel.jpg

Такой подход наиболее полно реализует преимущества Debian перед Ubuntu и Gentoo - оптимальное сочетание затрат на установку\настройку к эффективности\захламлённости ненужным ПО.


Страница находится в активной разработке


TODO: перевести и добавить http://wiki.debian.org/HowTo/CpuFrequencyScaling


Если есть что добавить, дополняйте разделы новой информацией. Наши опечатки и ошибки в статье можно править смело, нет необходимости сообщать об этом на почту, просьба соблюдать стилевое оформление этой страницы и использовать разделители разделов (серые линии различной толщины).

Contents

  1. Подготовка свежеустановленной системы Debian к использованию
  2. Система
    1. Политика установки ПО
    2. Дата и время
      1. Настройка
      2. Синхронизация локально
      3. Синхронизация для клиентов в сети
    3. Автоматическое обновление
    4. Вход в систему
      1. Автологин в консоли с mingetty
      2. Автологин в консоли с стандартным agetty
    5. Локализация
      1. Глобальные параметры локализации системы
      2. Кириллица в консоли
      3. Удаление неиспользуемых файлов локализации
    6. Загрузчик
      1. GRUB2
    7. Управление запуском служб
    8. Сглаживание шрифтов
  3. Железо
    1. Определение оборудования
    2. Обновление микрокода процессора(ов)
    3. Управление скоростью вращения вентиляторов
  4. Интернет и сети
    1. Сетевые настройки
      1. Базовая настройка
      2. Настройка в консольном интерфейсе wicd-curses
    2. Firewall (брандмауэр, межсетевой экран и т.п.)
      1. Общие сведения
      2. Apf-firewall
      3. Vuurmuur (пока только для i386)
    3. Диагностика DNS
    4. Нагрузка на сеть
    5. Анонимный доступ в интернет
    6. Динамическая регистрация в DNS
    7. Удаленный доступ к консоли
      1. Авторизация по ключам
        1. Генерация ключей
        2. Настройка сервера
        3. Настройка клиента
        4. Настройка Putty
      2. Усиленные настройки безопасности
      3. Параноидальные настройки безопасности (knock)
    8. Общий доступ к файлам
      1. Тorrent
      2. SMB (CIFS)
        1. Корзина
        2. Аудит
        3. Принтеры
        4. Web интерфейс для администрирования
  5. Работа в консоли
    1. Файловый менеджер
      1. Сессии в консоли
        1. Screen
      2. Просмотр процессов
      3. Просмотр больших текстов в консоли
  6. Прочее
    1. SQL сервер
    2. Web-сервер
      1. Apache2
        1. Поддержка PHP5
      2. Lighttpd
        1. Поддержка PHP5
        2. Лог доступа
  7. Примечания
    1. Примечание 1 (настройка aptitude)
    2. Примечание 2 (ошибка запуска сети)
    3. Примечание 3 (настройка мс)
    4. Примечание 4 (ошибка pcspkr)
    5. Примечание 5 (setfacl неподдерживаемая операция)


Система


Политика установки ПО


aptitude - локализованный менеджер пакетов с псевдографическим интерфейсом, который используется для наглядной и функциональной установки программ в Debian.

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

Запускем программу и настраиваем её параметры.

# aptitude --> F10 --> Параметры --> Предпочтения

См. примечание 1.


Дата и время


Настройка


С консоли время в системе можно установить так:

# date MMDDhhmmCCYY.ss
#или
# date --set 4/13/2004 
# date --set 14:46:27

Где MM — месяц, DD — день месяца, hh — часы, mm — минуты, CCYY — 4 цифры года, ss — секунды.


Синхронизация локально


Если вам не нужно раздавать время на другие машины, можете довольствоваться пакетом ntpdate, который не запускает свой демон при старте системы.

# aptitude install ntpdate
# ntpdate-debian
# ntpdate-debian -bs

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


Синхронизация для клиентов в сети


Устанавливаем ntp: - комплекс программ, позволяющих получить текущее время со специальных серверов в интернет и стать таким сервером для локальной сети.

# aptitude install ntp

По-умолчанию все настройки рабочие. Время забирается с сервера ntp.pool.org, служба автоматически синхронизирует время сразу после запуска. Настройки службы находятся в файле /etc/ntp.conf. Для раздачи времени в локальной сети нужно раскомментировать строку "broadcast" и добавить широковещательный адрес вашей сети.

Пример для сети 192.168.0.xx

broadcast 192.168.0.255

Перезапускаем службу для применения новых настроек

/etc/init.d/ntp restart

Далее можно прописывать IP адрес компьютера в качестве источника синхронизации.


Автоматическое обновление


Устанавливаем unattended-upgrades:

# aptitude install unattended-upgrades

Правим общие настройки обновления:

nano /etc/apt/apt.conf.d/50unattended-upgrades 

// Выбираем все источники обновлений
Unattended-Upgrade::Allowed-Origins {
        "${distro_id} stable";
        "${distro_id} ${distro_codename}-security";
        "${distro_id} ${distro_codename}-updates";
        "${distro_id} ${distro_codename}-proposed-updates";
};
// Список пакетов, которые не должны обновляться, у меня таких нет.
Unattended-Upgrade::Package-Blacklist {
//      "vim";
};
// Возможность оповещения об обновлении на почту пока отключаем.
//Unattended-Upgrade::Mail "root@localhost";
// Удаляем не нужные пакеты
Unattended-Upgrade::Remove-Unused-Dependencies "true";
// Автоматически перезагружаем систему, включаем
Unattended-Upgrade::Automatic-Reboot "true";
// Можно ограничить скорость загрузки к примеру в 70 кб в сек., отключаем
//Acquire::http::Dl-Limit "70";

Правим настройки периодичности обновления

nano /etc/apt/apt.conf.d/02periodic

// Включаем обновление
APT::Periodic::Enable "1";
// Проверяем обновления каждый 1 день
APT::Periodic::Update-Package-Lists "1";
// Отключаем загрузку пакетов без установки
APT::Periodic::Download-Upgradeable-Packages "0";
// Применяем обновления каждый 1 день
APT::Periodic::Unattended-Upgrade "1";
// Удаляем устаревшие установочные пакеты каждые 7 дней
APT::Periodic::AutocleanInterval "7";

Логи обновления смотрим тут - /var/log/unattended-upgrades/unattended-upgrades.log.

Указываем время выполнения обновления. Например каждый день в 6:25 утра:

nano /etc/сrontab

25 6    * * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )

Перезапускаем cron:

/etc/init.d/cron restart


Вход в систему


Автологин в консоли с mingetty


Устанавливаем Mingetty: - упрощённый вариант стандартной программы agetty, в задачи которой входит управление доступом к физическим и виртуальным терминалам.:

# aptitude install mingetty

Далее меняем строку настроек в консоли по-умолчанию, вместо root можно указать другой логин.

sed -i '/:2345/s/^/\#/; /:2345/a 1:2345:respawn:\/sbin\/mingetty --autologin root --noclear tty1' /etc/inittab

или вручную

nano /etc/inittab

#1:2345:respawn:/sbin/getty 38400 tty1
1:2345:respawn:/sbin/mingetty --autologin root tty1 linux
2:23:respawn:/sbin/getty 38400 tty2


Автологин в консоли с стандартным agetty


Стандартный менеджер входа agetty (util-linux) начиная с v.2.20 содержит функциональность mingetty

Далее настраиваем вход, вместо root пишем нужный логин

nano /etc/inittab

#1:2345:respawn:/sbin/getty 38400 tty2
1:2345:respawn:/sbin/getty --autologin root tty1 linux
2:23:respawn:/sbin/getty 38400 tty2


Локализация


Глобальные параметры локализации системы


Смотрим текущую локаль:

$ locale

Кроме LC_ALL все параметры должны быть ru_RU.UTF-8.

Если это не так, тогда запускаем настройку

# dpkg-reconfigure locales

Если системная локаль не применяется к пользователю, то стоит посмотреть файл настроек интерпретатора командной строки (bash, dash, ash) в домашнем каталоге пользователя.


Кириллица в консоли


См. примечания 2

Настраиваем кириллицу в консоли

Устанавливаем пакет console-cyrillic:

# aptitude install console-cyrillic

Настраиваем все параметры пакета:

# dpkg-reconfigure console-cyrillic


Удаление неиспользуемых файлов локализации


localepurge - утилита для удаления ненужных локализаций, документации и прочего. При установке пакета с помощью debconf выводится список языков в различных кодировках, отметить следует только нужные вам локализации. Рекомендуется сперва сделать backup системы и добавить к нужным английскую локализацию. В дальнейшем утилита будет автоматически запускаться и чистить файлы сразу после установки любых пакетов.

# aptitude install localepurge

Удаление происходит при запуске утилиты:

## localepurge
localepurge: Disk space freed in /usr/share/locale: 345340 KiB
localepurge: Disk space freed in /usr/share/man: 2060 KiB
localepurge: Disk space freed in /usr/share/gnome/help: 65770 KiB
localepurge: Disk space freed in /usr/share/omf: 435 KiB

Total disk space freed by localepurge: 413605 KiB

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

apt-get --reinstall install $(dpkg -S LC_MESSAGES | cut -d: -f1 | tr ', ' '
' | sort -u)


Загрузчик


GRUB2


Решение проблем с кракозябрами


При установке корневого раздела на зашифрованный диск GRUB может в главном меню показывать кракозябры. Это происходит из-за недоступности стандартного шрифта /usr/share/grub/unicode.pf2. Копируем шрифт

cp /usr/share/grub/unicode.pf2 /boot/grub/

Указываем настройку

nano /etc/default/grub

GRUB_FONT=/boot/grub/unicode.pf2

Применяем настройку:

update-grub


Управление запуском служб


sysv-rc-conf: - утилита с curses интерфейсом, преназначенная для быстрого управления работой и запуском служб (демонов, сервисов). Очень удобна для просмотра установленных служб в системе.

# aptitude install sysv-rc-conf

Помимо настройки автозапуска, утилита позволяет в реальном времени запускать и останавливать имеющиеся в системе службы.


Сглаживание шрифтов


Смотрим здесь


Железо


Определение оборудования


Устанавливаем hwinfo: и lshw: - позволяют выборочно просматривать свойства программных и аппаратных компонентов компьютера

Достоинства и недостатки: hwinfo выводит более подробную информацию, чем lshw, но устанавливает дополнительные библиотеки и постоянно работающую службу dbus.

# aptitude install hwinfo lshw

Эти программы по умолчанию выводят всю собранную информацию, что сильно затрудняет поиск нужных сведений. Поэтому lshw полезно запускать с флагом -C и указанием раздела (display, network и т.д.). В этом случае программа покажет сведения только об указанном разделе. Аналогично осуществляется выборка и в hwinfo

Сначала получаем списки доступных разделов сведений о компьютере

# hwinfo --h
# lshw | less

Пример выбора раздела в hwinfo - просмотр сведений о видеокарте:

# hwinfo --gfxcard

Пример выбора раздела в lshw - просмотр сведений о сетевых соединениях:

# lshw -c network

Эта команда отобразит всю доступную информацию о ваших сетевых устройствах (проводных и беспроводных): от возможностей до драйверов и так далее. Важнее всего проверить, не отключено ли устройство и указан ли драйвер. Драйвер должен появиться в последней строке секции об этом устройстве и обозначен как «driver=имя_драйвера»


Обновление микрокода процессора(ов)


Устанавливаем intel-microcode: - комплекс программ, позволяющих загрузить c cайта Intel обновлённый микрокод для Вашего Intel процессора и обновить его в процессоре сразу после включения компьютера. Обновлённый микрокод исправляет ошибки и оптимизирует работу процессоров Intel, что наиболее актуально для современных процессоров.

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

# aptitude install intel-microcode

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

# /usr/sbin/update-intel-microcode  


Управление скоростью вращения вентиляторов


Устанавливаем fancontrol: - службу, которая в зависимости от температуры оборудования устанавливает необходимую скорость работы вентилятора. На многих современных компьютерах и даже на не очень современных ноутбуках эта служба уже реализована средствами BIOS, и устанавливать fancontrol просто не необходимости.

Устанавливаем службу:

# aptitude install lm-sensors -r 

Определяем датчики

# sensors-detect  

Чтобы не перезагружать компьютер заново загружаем модули

/etc/init.d/module-init-tools

См. примечание 4

Смотрим показания датчиков

sensors

Далее настраиваем вывод программы:

  • Вместо "in0", "temp2", "fan4" сделаем понятные "CPU Temp", "CPU fan", "System fan".
  • Уберём лишние значения, которые невозможно опознать
  • Укажем допустимые пределы значений датчиков

Для поиска понятных названий датчиков можно воспользоваться:

  • мануал к материнской плате (напряжение и вентиляторы)
  • утилиту pwmconfig (температура ЦП и вентиляторы)
  • нагрузочную утилиту cpuburn (температура ЦП)
  • Аналогичные программы в других ОС (Aida64 и т.д.)

Если нашли кто есть кто, тогда смотрим название датчика

sensors | head -1

Перемещаем оригинальный файл.

mv /etc/sensors3.conf /etc/sensors3.conf.BAK

Cоздаём новый конфиг и правим его (Пример для ASUS p4p800)

nano /etc/sensors3.conf

# Указываем системный датчик

chip "w83627thf-isa-0290"

# Игнорируем неопознанные датчики

ignore in1
ignore in3
ignore in4
ignore in7
ignore in8
ignore fan3
ignore temp3

# Указываем правильное название датчика

label temp2 "CPU Temp"
label temp1 "MB Temp"
label fan1 "System Fan"
label fan2 "CPU Fan"
label in0 "Vcore"
label in2 "3.3V"

# Задаём max значения датчиков и уровеня отключения тревоги (ALARM)

set temp1_max 60
set temp1_max_hyst 50
set temp2_max 80
set temp2_max_hyst 60

# Указываем min PWM вентиляторов
set fan1_div 2
set fan1_min 0
set fan2_div 2
set fan2_min 0


# Указываем норму отклонения напряжения не более 5%
set in2_min  3.3 * 0.95
set in2_max  3.3 * 1.05
set in0_min  1.95 * 0.95
set in0_max  1.95 * 1.05

Чтобы sensors применил настройки проверено помогала только перезагрузка ПК.

Далее внимательно читаем и настраиваем fancontrol

pwmconfig

Перезапускаем службу для применения новых настроек

/etc/init.d/fancontrol restart

(./) Далее наслаждаемся тишиной 8)


Интернет и сети


Сетевые настройки


Базовая настройка


Этот метод настройки является самым гибким и функциональным, но требует ручной правки конфигурационных файлов.

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

Ищем нашу сетевую карту в списке:

# ifconfig -a

Для более детальной информации о сетевых картах можно воспользоваться специальными программами

Открываем файл конфигурации сети:

# nano /etc/network/interfaces

Строки, начинающиеся со слова "auto", используются для идентификации физических интерфейсов при их подьеме во время запуска ifup с опцией -a. (Эта опция используется сценариями загрузки системы.) Имена физических интерфейсов должны следовать за словом "auto" в той же строке. Может быть несколько строф "auto". ifup поднимет названные интерфейсы в порядке их перечисления.

Строки, начинающиеся с "allow-", используются для идентификации интерфейсов, которые должны быть подняты автоматически различными подсистемами. Это может быть сделано, например, с использованием команды "ifup --allow=hotplug eth0 eth1", которая будет поднимать только eth0 или eth1, если они перечислены в строке "allow-hotplug". Учтите, что "allow-auto" и "auto" - синонимы.

Если настройки статические, тогда, к примеру, заполняем так:

auto lo
iface lo inet loopback

auto eth0
allow-hotplug eth0
iface eth0 inet static
           address 192.168.1.94
           network 192.168.1.0
           netmask 255.255.255.0
           broadcast 192.168.1.255
           gateway 192.168.1.1

Если настройки сети раздаются через DHCP, тогда, к примеру, заполняем по-другому:

auto eth0
allow-hotplug eth0
iface eth0 inet dhcp 

Если необходимо использовать одновременно несколько IP адресов на одной сетевой карте, тогда, к примеру, добавляем строки:

auto eth0:1
iface eth0:1 inet static
           address 192.168.0.94
           network 192.168.0.0
           netmask 255.255.255.0
           broadcast 192.168.0.255

Для настройки DNS нужно редактировать файл /etc/resolv.conf

Статичный DNS, например:

nameserver 10.30.1.11 212.45.2.5
search gspk
domain bober.gspk

Динамический DNS по DHCP вносится в /etc/resolv.conf автоматически.


Настройка в консольном интерфейсе wicd-curses


wicd - cлужба управления проводными и беспроводными сетями для Linux с Qt, GTK+ и curses интерфейсами. Эта служба наиболее удобна, если часто возникает необходимость в быстром подключении к различным сетям.

После первого запуска wicd автоматические переключает все настройки сети на DHCP.

Для управления службой в консоли необходим curses клиент wicd-curses.

# aptitude install wicd-curses

Запускам настройку:

# wicd-curses

Для применения настроек необходимо нажать "Shift+C"


Firewall (брандмауэр, межсетевой экран и т.п.)


Общие сведения


Межсетевой экран - средство контроля и фильтрации сетевых соединений. В защищенной домашней или корпоративной сети установка firewall не актуальна и может принести больше вреда чем пользы. В случае если Ваш компьютер подключен к Интернет, то использование сетевого экрана просто обязательно. В Debian эта задача решается с помощью утилиты Iptables. Эту утилиту можно использовать в "чистом" виде путём ручного ввода команд в консоли, или запускать команды в самописном скипте, либо с помощью различных надстроек, облегчающих формирование сложных команд iptables. В зависимости от поставленной задачи каждый из способов имеет свои достоинства и преимущества.


Apf-firewall


Простой аскетичный аpf-firewall для быстрой защиты сервера без самописных скриптов.

Устанавливаем.

aptitude install аpf-firewall

Правим файл конфигурации

nano /etc/apf-firewall/conf.apf 

# чтобы через 5 минут фаерволл не перестал работать
DEVEL_MODE="0"

# Указываем что у нас монолитное ядро 
SET_MONOKERN="1" 

Сетевая которую будем защищать
IFACE_IN="eth0" 
IFACE_OUT="eth0"

# Это Открываем входящие TCP порты
IG_TCP_CPORTS="22"

# Это Открываем входящие UDP порты 
IG_UDP_CPORTS=""

# Отключаем фильтрацию на исходящих портах
EGF="0"

# Открываем исходящие TCP порты, если EGF="1"
EG_TCP_CPORTS="21,25,80,443,43"

# Открываем исходящие UDP порты, если EGF="1"
EG_UDP_CPORTS="20,21,53" 

Разрешаем запуск

nano /etc/default/apf-firewall 

RUN="yes"

Запускаем firewall

/etc/init.d/apf-firewall start


Vuurmuur (пока только для i386)


Vuurmuur - мощная свободная надстройка к iptables с curses интерфейсом. Псевдографический интерфейс значительно упрощает оперативную работу с сетевым экраном. К сожалению разработка программы заморожена уже более двух лет. Раньше она присутствовала в официальных репозиториях Debian, но была заброшена сопровождающим, что привело к её удалению. Программа полностью документирована и переведена на русский, но к сожалению пока что имеет проблемы отображения русского интерфейса конфигуратора с системной кодировкой UTF8. К сожалению, в официальных репозиториях аналогов найдено не было.

Подключаем "родной" источник установки

echo "deb ftp://ftp.vuurmuur.org/debian/ squeeze main" >> /etc/apt/sources.list

Обновляем список пакетов

aptitude update

Устанавливаем Vuurmuur и утилиту просмотра сетевых соединений conntrack

aptitude install vuurmuur conntrack -r

Разрешаем автозапуск

nano /etc/default/vuurmuur

VUURMUUR_START=1

Запускаем службу

/etc/init.d/vuurmuur start

Запускаем конфигуратор

LANG=en vuurmuur_conf

vur 1.JPG

1. Настраиваем пути к служебным утилитам Vuurmuur Config --> General

vur 2.JPG

2. Настраиваем interfaces, т.е. указываем с какими сетевыми картами будем работать.

Будьте внимательны - опция Active в настройках должна быть Yes, иначе Vuurmuur будет их игнорировать.

vur 3.JPG

3. Смотрим Services, если нет нужных добавляем свои. Я добавил входящий порт для Web морды SWAT.

vur 4.JPG

4. Настраиваем Zones, т.е. делим и\или объединяем наши сети в "зонах" на "свои" и "чужие". Каждая "зона" может содержать несколько сетей, хостов (т.е. компьютеров в сети) и групп хостов. Я создал две.

vur 5.JPG

5. В каждую из "зон" я добавил по одной соответствующей ей сети: интернет

vur 6.JPG

  • и локальную:

vur 7.JPG

6. В "домашнюю зону" я добавил хост, т.к. для него будут отдельные правила доступа.

vur 8.JPG

7. Настраиваем "rules", т.е. правила доступа в сети. Ниже переброс портов на комп локальной сети временно отключен.

vur 9.JPG

vur 10.JPG

Настройки применяем в главном меню нажав F11.

Решение проблем.

  • Все попытики соединений можно отследить в логах Logview --> Traffic.log.

  • Пробуйте работу с выключенным Vuurmuur.
  • Для проверки портов из интернет можно использовать ping.eu.
  • К уже настроенным Services в Vuurmuur нужно быть внимательным, т.к. они могут быть настроены с более узкими диапазонами портов (rdp, например).
  • Дополнительные возможности хорошо описаны на русском в /usr/share/doc/vuurmuur
  • Проверье опцию Асtive (нужно Yes)
  • Проверьте включено ли правило (нужно [х])
  • Подумайте как бы выглядело бы правило в самописном скрипте.
  • Гугл в помощь.


Диагностика DNS


Устанавливаем dnsutils: - получаем утилиту nslookup, позволяющую быстро диагностировать проблемы преобрзования доменных имен в IP адреса.

# aptitude install dnsutils

Пример использования: получаем IP адрес сервера lenta.ru. Если dns не работает, либо настроен неправильно, тогда получить такую информацию не удастся

root@tt400:~# nslookup lenta.ru
Server:         8.8.8.8
Address:        8.8.8.8#53

Non-authoritative answer:
Name:   lenta.ru
Address: 81.19.85.116

Или более мощный варинант

dig @8.8.8.8 -p 53 lenta.ru 


Нагрузка на сеть


Устанавливаем nethogs: - получаем утилиту наглядно отображающую какой процесс насколько сильно и какую нагружает сетевую карту.

# aptitude install nethogs

nethogs1.JPG


Анонимный доступ в интернет


_В разработке

aptitude install tor


Динамическая регистрация в DNS


Устанавливаем ddclient: - службу, позволяющую привязать динамический IP от вашего провайдера к бесплатному домену второго уровня (например от dyndns.org)

Регистрируемся на сайте dyndns.org и в итоге бесплатно получаем username, пароль и доменное имя. Я выбрал себе ххххх.dyndns.org

aptitude install ddclient

При установке скармливаем конфигуратору имя, пароль и домен. Для проверки работы этой службы можно использовать сайт http://ping.eu

Теперь служба будет автоматически обновлять Ваш IP в DNS сервере при его изменении.


Удаленный доступ к консоли


Устанавливаем ssh: - комплекс программ, позволяющих соединяться с удалёнными машинами по защищённому каналу и выполнять команды в консоли:

# aptitude install ssh

Этот метапакет содержит программу клиента ssh и службу sshd, обрабатывающую входящие ssh подключения к вашему компьютеру.


Авторизация по ключам


Генерация ключей


Вариaнт 1 (подходит для putty и native ssh клиентов Linux)


Выбираем пользователя на сервере под которым будем логиниться в ssh. Например это будет "user". Входим с его правами в консоль. Далее генерируем ключи, при желании указываем пароль на создаваемый ключ.

ssh-keygen -t rsa -b 2048 -C "комментрий к ключу" -f /user/.ssh/newserver.key

В итоге получаем в "/user/.ssh/" два файла "newserver.key" и "newserver.key.pub"


Вариaнт 2 (для всех + проприетарный Bitvise Tunnelier)


К сожалению, я не нашёл способа сконвертировать OpenSSH ключи в понятный Tunnelier-у формат. Поэтому действовать будем от обратного.

На Windows машине запускаем Bitvise Tunnelier. На вклaдке "Login" выбираем раздел "Authentickation" --> "Use keypair manager". В новом окне жмём "Generate New ...", выставляем опции на свой вкус --> "Generate". Далее выбираем "Export" и сохраняем любым удобным способом публичный ключ в формате OpenSSH в файл /user/.ssh/newserver.key.pub на ssh сервере.

ssh2.JPG

Для использования в других ssh клиентах аналогично экспортируем и закрытый ключ. В итоге получаем в "/user/.ssh/" два файла "newserver.key" и "newserver.key.pub"


Настройка сервера


Перемещаем открытый ключ в список разрешённых ключей Например так

mv /user/.ssh/newserver.key.pub /user/.ssh/authorized_keys

Правим конфигурацию сервера

nano /etc/ssh/sshd_config

# Разрешаем авторизацию по парам ключей
PubkeyAuthentication yes
# Путь к списку отпечатков открытых ключей
AuthorizedKeysFile      %h/.ssh/authorized_keys

Перезапускаем сервер

/etc/init.d/ssh restart


Настройка клиента


Выбираем пользователя на клиенте под которым будем логиниться в ssh. Например это будет "user". Логинимся по юзером. Любым удобным способом копируем сгенерированный ранее файл newserver.key в папку /home/user/.ssh. Если хочется, чтобы ssh клиент подхватывал ключ автоматически, сохраняем ключ с новыми именем "id_dsa"

Выставляем права доступа, иначе ssh клиент проигнорирует ключ.

cd /home/user
chmod 700 ./.ssh
chmod 600 ./.ssh/newserver.key

Запускаем ssh клиента.

ssh -i /home/user/.ssh/newserver.key user@192.168.0.1

Всё должно работать.


Настройка Putty


К сожалению, Putty не понимает ключи в формате OpenSSH. Поэтому загружаем latest development snapshot Puttygen. Обычный Puttygen нам не подойдёт.

Скармливаем проге наш newserver.key (Conversions --> Import key), если нужно вводим пароль для доступа ключу. Получаем окно

ssh1.JPG

Если надо меняем комментарий и пароль доступа к ключу. В разделе "Parameters" рекомендую выбрать SSH-2 RSA и 2048 bits. Далее жмём "Save private key" и получаем ключ в формате ppk, пригодный для скармливания обычному Putty в разделе Сonnection --> SSH --> Auth


Усиленные настройки безопасности


Рекомендую следующие настройки

nano /etc/ssh/sshd_config

#Запрещаем вход под root
PermitRootLogin no
# Меняем порт по умолчанию - может помочь против поверхностного сканирования портов
Port 17854
# Указываем на каком IP слушать порт
ListenAddress 192.168.0.1
# Запрещаем вход по паролям, усложняет брутфорс
PasswordAuthentication no
# Запрещаем пустые пароли
PermitEmptyPasswords no


Параноидальные настройки безопасности (knock)



Общий доступ к файлам


Тorrent


Устанавливаем transmission-daemon: - простой и не прожорливый до ресурсов torrent клиент.

# aptitude install transmission-daemon acl.

Останавливаем службу

/etc/init.d/transmission-daemon stop

Создаём папку для хранения загружаемых файлов

mkdir /mnt/data/downloads

Открываем полный доступ к папке только для пользователя debian-transmission

Если у Вас папка не на разделе ХFS, то смотрим примечание 5

setfacl -m u:debian-transmission:rwx /mnt/data/downloads

Правим файл конфигурации

nano /etc/transmission-daemon/settings.json

    "blocklist-enabled": false, 
    "download-dir": "/mnt/data/downloads", 
    "encryption": 1, 
    "peer-port": 52413, 
    "preallocation": 1, 
    "rpc-authentication-required": true, 
    "rpc-enabled": true, 
    "rpc-password": "password", 
    "rpc-port": 8091, 
    "rpc-username": "user", 
    "rpc-whitelist-enabled": false, 

Чтобы не засорять daemon.log настраиваем вывод в отдельный лог файл:

mkdir -p /var/log/transmission
echo > /var/log/transmission/transmission.log
setfacl -m u:debian-transmission:rwx /var/log/transmission

Указываем путь к лог файлу (можно и в /dev/zero)

nano /etc/default/transmission-daemon
...
OPTIONS="--config-dir $CONFIG_DIR --logfile /var/log/transmission/transmission.log"

Запускаем службу для применения новых настроек

/etc/init.d/transmission-daemon stop start

Далее можно управляеть загрузками по адресу http:\\ip_сервера:8091, либо с помощью клиентских программ. Также не забываем открыть порт 52413 для входящих соединений.


SMB (CIFS)


Устанавливаем samba: - набор утилит и служб, которые реализуют протокол SMB/CIFS в системах Unix, позволяя обслуживать запросы к файлам и принтерам

Устанавливаем

aptitude install samba samba-common-bin acl:
dpkg-reconfigure samba
dpkg-reconfigure samba-common

Выставляем базовые настройки:

nano /etc/samba/smb.conf

[global]
# сначала требуем вход с локальными логином и паролем клиента
security = user
# Если будет получен неправильный пароль, то клиенту будет дан гостевой доступ.
map to guest = Bad Password
# Принуждаем клиентов заходить под своим именем
client schannel = Yes
# Используем защищенную процедуру аутентификации
server schannel = Yes
# Работает только на нужной сетевой карте
interfaces = eth1
# Чтобы корректно отображались имена файлов, заканчивающиеся на точку
mangled names = no

Далее для примера решаем 2 типовые задачи:

1. Открываем папку для любых пользователей с правом на запись.

Создаём папку и выставляем разрешения

mkdir /mnt/data/share && chmod 777 /mnt/data/share

Вносим новые настройки в файл /etc/samba/smb.conf

# nano /etc/samba/smb.conf

[share]
path = /mnt/data/share/
browsable = yes
read only = no
guest ok = yes

2. Открываем папку только для пользователя Ivan с правом на запись.

Смотрим список пользователей в системе и в БД samba

cat /etc/passwd | cut -d: -f1
pdbedit -L

Создаём локального пользователя без права входа в систему и задаем пароль

useradd -c "Ivan" -m -g users Ivan -s /bin/false && passwd Ivan

Создаём пользователя в базе пользователей samba.

smbpasswd -a Ivan

Автоматически для пользователя будет создана и расшарена домашняя папка /home/Ivan доступная по сети только ему. Если надо отменяем расшаривание домашних папкок, удаляя или комментируя раздел [homes] в /etc/samba/smb.conf

Создаём папку и выставляем разрешения

Если у Вас папка не на разделе ХFS, то смотрим примечание 5

mkdir /mnt/data/doc && setfacl -m u:Ivan:rwx /mnt/data/doc

Вносим новые настройки в файл /etc/samba/smb.conf

# nano /etc/samba/smb.conf

[doc]
path = /mnt/data/doc/
browsable = yes
read only = no
guest ok = no

Перезапускаем samba для применения новых настроек

smbcontrol smbd reload-config

Если надо смотрим подключенных к шарам пользователей

smbstatus


Корзина


Создаём файл конфигурации

nano /etc/samba/recycle.conf

##Recycle Bin Configuration File##
repository = .recycle/%U
mode = KEEP_DIRECTORIES|VERSIONS|TOUCH
maxsize = 0
exclude = *.tmp|*.temp|*.o|*.obj|~$*|*.~??|*.trace
excludedir = /tmp|/temp|/cache
noversions = *.doc|*.ppt|*.dat|*.ini
keeptree = Yes
versions = Yes

Добавляем к каждой из выбранных расшаренных папок строки (или в [global]):

nano /etc/samba/smb.conf
...
vfs object = recycle
config-file = /etc/samba/recycle.conf

Перезапускаем samba для применения новых настроек

smbcontrol smbd reload-config

Теперь в каждой шаре у нас при удалении создаться каталог .recycle и в нём будут все удалённые файлы. Чистить эту «Корзину» нужно в ручную


Аудит


Можно будет узнать что, где, когда и кто сделал на Samba шаре.

nano /etc/samba/smb.conf
...
[global]
...
#Отключаем запись сообщений в syslog.
syslog = 0
#Количество сообщений, записываемых в лог-файлы, для всех VFS модулей.
log level = 0 vfs:2
# Снимаем ограничение на max размер log файла.
max log size = 0

# Добавляем модуль аудита
vfs objects = full_audit recycle
# Указываем дополнительные параметры модулю full_audit. Префикс, сообщений в лог-файле,каждая строка будет начинаться с user|ip_adress
full_audit:prefix = %u|%I
#Какие ошибки должны отображаться в лог-файле: none не протоколируем ошибки.
full_audit:failure = none
#Действия пользователей, которые записываются в лог-файл:
full_audit:success = connect, open, mkdir, rmdir, unlink, write, rename
full_audit:failure = connect, open, mkdir, rmdir, unlink, write, rename
#Параметры, позволяющие управлять записью в журналы демоном syslogd:
full_audit:facility = local5
full_audit:priority = notice

Вместо [global] все строки, начиная с vfs objects можно добавить в описание шары. В этом случае аудит будет проводиться только для этого ресурса.

Переносим лог аудита из /var/log/syslog в /var/log/samba/audit.log

Для этого правим /etc/rsyslog.conf

nano /etc/rsyslog.conf

#*.*;auth,authpriv.none           -/var/log/syslog
*.*;local5,auth,authpriv.none     -/var/log/syslog

local5.notice                   -/var/log/samba/audit.log

Затем настраиваем ротацию логов чтоб audit.log не разрастался и был удобен для поиска нужного события

nano /etc/logrotate.d/samba-audit

/var/log/samba/audit.log {
dateext
compress
copytruncate
daily
missingok
notifempty
rotate 300
}

Перезапускаем samba для применения новых настроек

smbcontrol smbd reload-config


Принтеры


Сперва настраиваем принтер

Далее вносим настройки:

nano /etc/samba/smb.conf

[global]
...
load printers = yes
printing = cups
printcap name = cups
...
[printers]
browseable = yes
printable = yes
guest ok = yes

Перезапускаем samba для применения новых настроек

smbcontrol smbd reload-config

Далее для Windows клиентов принтер устанавливается также, как и любой другой расшаренный из Windows принтер


Проблемы, которые не удалось решить


  • Подключённый через samba принтер в Windows оснастке всегда будет иметь статус "Нет доступа, подключиться не удалось." При этом принтер вполне успешно будет печатать.
  • Из-за ошибки result was WERR_UNKNOWN_PRINTER_DRIVER не удалось обеспечить автоматическую установку драйверов из print$. Интеграция драйверов проводилась по Руководству


Web интерфейс для администрирования


Устанавливаем swat: - веб-инструмент управления Samba.

Примечание - после установки SWAT 2:3.5.6 аккуратно подхватывает настройки из smb.conf, вносит свои и удаляет ВСЕ параметры которые система использует по-умолчанию.

Устанавливаем swat и документацию к samba

aptitude install swat samba-doc

После установки SWAT будет доступен по адресу http:\\ip_сервера:901.

Для применения внесённых изменений в SWAT изменений нужно на вкладке STATUS нажать кнопку "Перезапустить всё"

Совместная работа с аудитом и корзиной не тестировалась


Работа в консоли


Файловый менеджер


Устанавливаем Midnight commander mc: - утилита ставшая стандартом де-факто для быстрой навигации по файловой системе компьютера:

aptitude install mc

См. примечание 3


Сессии в консоли


Screen


Устанавливаем screen: - утилиту-мультиплексор, предоставляющую пользователю доступ к нескольким консолям в рамках одной сессии.:

# aptitude install screen

Далее настраиваем:

nano /etc/screenrc

# Отключаем приветствие
startup_message off
# Производить отключение сессии при разрыве связи с терминалом
autodetach on
# Включаем строку состояния
hardstatus on
# Параметры строки состояния
hardstatus alwayslastline "%{+b wk} %c $LOGNAME@%H %=[ %w ] "

или одной командой:

sed -i 's/^#startup_message.*/startup_message off/; s/^#autodetach.*/autodetach on/; s/^hardstatus off.*/hardstatus on/; s/^hardstatus string.*/hardstatus alwayslastline "%{+b wk} %c $LOGNAME@%H %=[ %w ] "/' /etc/screenrc


Просмотр процессов


Устанавливаем htop: - "Диспетчер задач" для нашей системы

# aptitude install htop


Просмотр больших текстов в консоли


Устанавливаем less: - позволяет прокручивать текст на экране вверх\вниз

# aptitude install less

Пример использования

# ifconfig -a | less
     Клавиши ↑ и ↓ позволят прокручивать текст
     Для выхода нужно нажать Esc


Прочее


SQL сервер


Устанавливаем mysql-server: - попyлярный сервер БД, требует не менее 256 МБ памяти. Необходим для множетсва Web интерфейсов. Устанавливаем

aptitude install mysql-server mysql-client

Не забываем написать где-нибудь пароль root доступа к серверу БД.


Web-сервер


Apache2


Устанавливаем apache2: - самый функциональный и популярный Web сервер в мире. Рекомендуется для отдачи динамического содержимого. Также рекомендуется новичкам, т.к. многие Web интерфейсы (например Zabbix, Mantiss и т.д.)по-умолчанию подстроены именно по него.

Сперва нужно определиться, что нам важнее - стабильность или скорость? Если скорость тогда так

aptitude install apache2-mpm-worker apache2

если надёжность и совместимость, то

aptitude install apache2-mpm-prefork apache2

Далее можно очень просто открыть доступ к файлам по протоколу http.

Например хотим открыть доступ к /mnt/data/

ln -s /mnt/data /var/www

Далее в браузере открываем адрес http://ip_адрес/data


Поддержка PHP5


Устанавливаем php5: - скриптовый язык программирования общего назначения. Необходим для множества Web-интерфейсов.

aptitude install php5 libapache2-mod-php5

Перезапускаем Apache2

/etc/init.d/apache2 restart

Создаём файл для проверки

nano /var/www/test.php

# test.php
<?php phpinfo(); ?>

Или одной командой

echo "# test.php" > /var/www/test.php && echo -n "<?php phpinfo(); ?>" >> /var/www/test.php

Далее в браузере открываем адрес http://ip_адрес/test.php. Если всё работает, то увидим много интересного.


Lighttpd


Устанавливаем lighttpd: - быстрый и простой Web сервер. Рекомендуется для отдачи статического содержимого.

aptitude install lighttpd

Настройки по-умолчанию вполне работоспособны и находятся в файле /etc/lighttpd/lighttpd.conf

Далее можно очень просто открыть доступ к файлам по протоколу http.

Например хотим открыть доступ на чтение /mnt/data/

ln -s /mnt/data /var/www

Далее в браузере открываем адрес http://ip_адрес/data


Поддержка PHP5


Работа PHP обеспечивается с помощью FastCGI

aptitude install php5-cgi

Чтобы обеспечить работу PHP5 в Lighttpd, открываем /etc/php5/cgi/php.ini и раскомментируем строку cgi.fix_pathinfo=1:

nano /etc/php5/cgi/php.ini

cgi.fix_pathinfo=1

или одной командой

sed -i '/cgi.fix_pathinfo=1/s/;//' /etc/php5/cgi/php.ini

Далее включаем поддержку

lighttpd-enable-mod fastcgi 
lighttpd-enable-mod fastcgi-php

При этом создаётся символическая ссылка к файлу /etc/lighttpd/conf-enabled/10-fastcgi.conf в каталоге /etc/lighttpd/conf-available

Смотрим результат:

ls -l /etc/lighttpd/conf-enabled

Перезапускаем Lighttpd

/etc/init.d/lighttpd force-reload

Создаём файл для проверки

nano /var/www/test.php

# test.php
<?php phpinfo(); ?>

Или одной командой

echo "# test.php" > /var/www/test.php && echo -n "<?php phpinfo(); ?>" >> /var/www/test.php

Далее в браузере открываем адрес http://ip_адрес/test.php. Если всё работает, то увидим много интересного.


Лог доступа


Включаем модуль accesslog

lighttpd-enable-mod accesslog

Перезапускаем Lighttpd

/etc/init.d/lighttpd force-reload

Лог доступа смотрим в /var/log/lighttpd/access.log


Примечания



Примечание 1 (настройка aptitude)


По-умолчанию aptitude устанавливает рекомендумемые пакеты. Если это не нужно, к консольной команде установки следует добавить ключ "-R", либо в curses интерфейсе в настройках запретить автоустановку.

}}}


Примечание 2 (ошибка запуска сети)


Если установка проводилась по сети с настройкой по DHCP, то после перезагрузки сетевой интерфейс eth0 может не запуститься автоматически, а значит вы не сможете устанавливать новые пакеты из сети. Для решения проблемы настраиваем eth0:

 nano /etc/networking interfaces
     Перед строкой "iface eth0 inet dhcp" добавляем новую строку "auto eth0"

Применяем настройки:

# /etc/init.d/networking restart


Примечание 3 (настройка мс)


Яркие синие цвета в mc некоторым уже могли надоесть. Чтобы изменить цвета нужно закрыть mc (чтобы настройка не затёрлась самим мс ). Папка .mc создаётся в домашней директории вашего пользователя при первом запуске mc.

sed -i 's/^base_color=.*/base_color=normal=cyan,default::selected=black,cyan:directory=cyan,default:marked=brightgreen,default:errors=red,default:marked=yellow,default:executable=brightred,default:marked=brightgreen,default:link=grey,default:marked=brightgreen,default:device=brightmagenta,default:marked=brightgreen,default:menuhot=black,cyan:menusel=cyan,black:menuhotsel=gray,black:menu=black,cyan:helpnormal=cyan,black:editnormal=cyan,black:editbold=yellow,black:editmarked=cyan,black/; s/^confirm_delete=1*/confirm_delete=0/; s/^confirm_exit=1.*/confirm_exit=0/' /root/.mc/ini


Примечание 4 (ошибка pcspkr)


В Debian 6 при запуске ядро по-умолчанию пытается загрузить уже задействованный модуль системного динамика, о чём и выдает ошибку. Исправляем баг.

echo "blacklist pcspkr" >> /etc/modprobe.d/blacklist.conf


Примечание 5 (setfacl неподдерживаемая операция)


Для устранения ошибки файловая система должна быть смонтирована с опцией acl. Для XFS эта опция применяется по-умолчанию.