29 октября 2009

Монтирование ntfs раздела в один клик

Двумя операционными системами на компьютере сейчас никого не удивишь. Устанавливая Linux совместно с Windows на компьютер, часто возникает необходимость доступа к ntfs разделам жесткого диска.

Разделы жесткого диска можно смонтировать прописав правило в файле  /etc/fstab, но если вы используете графическую среду Gnome и пользуетесь файловым менеджером Nautilus, то смонтировать ntfs раздел можно одним кликом на значке раздела. Так это работает в Ubuntu, а в Debian?

В Debian Lenny я столкнулся с тем, что кликая на значок ntfs раздела жесткого диска в Nautilus, получал ошибку "Не удалось подключить том. У вас недостаточно прав для подключения тома". Разбираясь с возникшей проблемой выяснилось, что подключение usb-флэшки отформатированной под ntfs, происходит без проблем одним кликом в Nautilus.

Не забегая вперед расскажу обо всем по-порядку. Для монтирования ntfs раздела в один клик нам понадобится доустановить пакеты выполнив в командной строке:

aptitude install libntfs-3g31 ntfs-3g libntfs10 ntfs-3g ntfsprogs fuse-utils gvfs-fuse libfuse2

При монтировании дисков из Наутилуса используется утилита gnome-mount в заимосвязи с hal и dbus. Для решения проблемы надо при помощи hal-set-property установить свойство storage.hotpluggable=true для соответствующего жесткого диска (storage), а также внести пользователя в группу plugdev.

Вносим пользователя в группу plugdev:

sudo usermod -aG plugdev <username>

Выясняем какие storage есть на вашем компьютере, выполнив следующую команду и наблюдая её вывод:

lshal -s | grep storage
...
storage_serial_SATA_TOSHIBA_MK1637G_77DTF4XMS
...

Посмотреть свойства соответствующего storage можно так (в выводе показаны только интересующие нас свойства):

lshal -u storage_serial_SATA_TOSHIBA_MK1637G_77DTF4XMS
...
udi = '/org/freedesktop/Hal/devices/storage_serial_SATA_TOSHIBA_MK1637G_77DTF4XMS'
...
storage.hotpluggable = false (bool)
...
storage.model = 'TOSHIBA MK1637GS' (string)
...
storage.serial = 'SATA_TOSHIBA_MK1637G_77DTF4XMS' (string)
...

Изменить свойство storage можно вот так, используя привилегии root (в качестве параметров используются значения из предыдущего вывода):

sudo hal-set-property --udi /org/freedesktop/Hal/devices/storage_serial_SATA_TOSHIBA_MK1637G_77DTF4XMS --key storage.hotpluggable --bool true

После этого Вы можете монтировать ntfs разделы в один клик. Но есть одно неудобство, надо выполнять эту команду после каждой перезагрузки. Как быть?

Автоматизируем процесс. Создаем файл ntfs-mount.fdi  в директории /etc/hal/fdi/information.

sudo sh -c ":> /etc/hal/fdi/information/ntfs-mount.fdi"

И заполняем его следующим содержанием:

<?xml version="1.0" encoding="UTF-8"?> <!-- -*- SGML -*- -->

<!--
   Change key storage.hotpluggable for sata hard drive
   for mount by user ntfs partitition from nautilus
-->
<deviceinfo version="0.2">
  <device>
    <match key="storage.model" string="TOSHIBA MK1637GS">
      <match key="storage.serial" string="SATA_TOSHIBA_MK1637G_77DTF4XMS">
        <merge key="storage.hotpluggable" type="bool">true</merge>
      </match>
    </match>
  </device>
</deviceinfo>

Значения параметров storage.model и storage.serial взяты из вывода lshal, показанного ранее. После сохранения файла надо перезагрузить компьютер для вступления настроек в силу.

Понравилась статья? Подпишись на этот блог! 

Читать дальше...

09 октября 2009

Простой способ узнать какие сайты посещает пользователь

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

Для этого нам понадобится файл places.sqlite, хранящийся в домашней директории пользователя в каталоге ~/.mozilla/firefox/ХХХХХХ.default. Вместо XXXXXX - последовательность букв и цифр, индивидуальная для каждого пользователя.
Переходим в каталог с файлом журнала. В моем случае выполняем следующую команду:
cd ~/.mozilla/firefox/ju8jw9kz.default
Далее смотрим историю посещения на экране:
grep -ao '\(http\|ftp\|https\)\://[0-9A-Za-z\-\.]\+/' places.sqlite | sort | uniq -c | sort -rn | more
или сохраняем её в файл:
grep -ao '\(http\|ftp\|https\)\://[0-9A-Za-z\-\.]\+/' places.sqlite | sort | uniq -c | sort -rn > /tmp/url.txt
Вывод команды будет выглядеть вот так:

    469 http://linuxforum.ru/
    457 http://www.blogger.com/
    415 https://www.google.com/
    336 http://lists.altlinux.org/
    313 http://plone.org/
    251 http://sourceforge.net/
    223 http://www.cisco.com/
    217 ftp://ftp.etersoft.ru/
    214 http://my.mail.ru/
    213 http://wordstat.yandex.ru/
    179 http://qutim.org/
    179 http://lingvo.yandex.ru/
    174 http://www.altlinux.org/
    154 http://www.sugarforge.org/
    152 http://ru.wikipedia.org/
    148 http://www.sugarcrm.com/
    146 http://www.sugarcrm.com.ua/
    133 ftp://ftp.altlinux.org/
    132 http://picasaweb.google.com/
    128 http://packages.debian.org/
    127 http://krasnoyarsk.hh.ru/
    120 http://matplotlib.sourceforge.net/
    115 http://albumo.com/
    110 http://lists.freedesktop.org/
    109 http://ubuntuforums.org/
    107 http://www.liveinternet.ru/
Цифры - это количество посещений адреса, который следует за этими цифрами. Вот такой простой способ.

Понравилась статья? Подпишись на этот блог! 

Читать дальше...

20 июня 2009

Устанавливаем дополнительные шрифты ttf

Для установки дополнительных шрифтов в Debian можно воспользоваться готовыми пакетами или установить их вручную. Например если вам нужны базовые шрифты Arial, Courier, Times, то можно установить пакет ttf-liberation. Для этого достаточно выполнить в командной строке:
sudo aptitude install ttf-liberation
Но иногда возникает необходимость установить понравившийся шрифт, например найденный в интернете. Как быть в этом случае?

Перед установкой шрифта его можно посмотреть при помощи gnome-font-viewer. Для этого достаточно в nautilus дважды кликнуть на файле шрифта или выполнить в директории со шрифтами в командной строке:
gnome-font-viewer <имя_файла_шрифта>
Для установки шрифта в сисему достаточно создать дополнтельную директорию, например ttf-other, в /usr/share/fonts/truetype, выполнив:
sudo mkdir /usr/share/fonts/truetype/ttf-other
Устанавливаем на созданную директорию права доступа 755:
sudo chmod 755 /usr/share/fonts/truetype/ttf-other
После создания директории, копируем в неё понравившиеся шрифты и устанавливаем на файлы шрифтов права доступа 644:
sudo find /usr/share/fonts/truetype/ttf-other -type f -exec chmod 644 '{}' \;
После этого обновляем кэш шрифтов:
sudo fc-cache -fv /usr/share/fonts/truetype/ttf-other
Все, можно пользоваться понравившимися шрифтами!

Читать дальше...

24 мая 2009

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

Организовать работу сканера в Linux можно используя SANE, предварительно убедившись, что ваша модель сканера им поддерживается. Часто при подключении сканера возникает ситуация когда сканер работает из под root и не работает под обычным пользователем. В данном посте пойдет речь о подключении сканера Mustek BearPaw 2448 TA Plus и организации его работы под обычным пользователем.

Для начала установим необходимые пакеты:
aptitude install libsane sane-utils xsane xsane-common
Сканер Mustek BearPaw 2448 TA Plus подключается к компьютеру через USB интерфейс. После подключения сканера к компьютеру, его можно "увидеть" в списке USB-устройств выполнив в командной строке:
lsusb
...
Bus 002 Device 003: ID 055f:021a Mustek Systems, Inc. BearPaw 2448 TA Plus
...
Теперь воспользуемся утилитой sane-find-scanner для поиска сканера и определения его файла устройства:
sane-find-scanner -q
...
found USB scanner (vendor=0x055f, product=0x021a [USB Scanner], chip=GT-6816) at libusb:002:003
...
Утилита scanimage поможет убедится в том, что сканер функционирует корректно. Для начала убедимся, что сканер доступен и отображается в списке доступных устройств, выполнив с правами root следующую команду:
sudo scanimage -L
...
device `gt68xx:libusb:002:003' is a Mustek BearPaw 2448 TA Plus flatbed scanner
...
Теперь надо выполнить тестирование сканера выполнив в командной строке:
sudo scanimage --test -d 'gt68xx:libusb:002:003'
...
[gt68xx] Couldn't open firmware file (`/usr/share/sane/gt68xx/A2Nfw.usb'): No such file or directory
scanimage: open of device gt68xx:libusb:002:003 failed: Invalid argument
...
Если вы получили такой-же вывод, то вам необходимо скачать файл A2Nfw.usb здесь. Это firmware, необходимое для работы сканера. Файл A2Nfw.usb надо расположить в директории /usr/share/sane/gt68xx/ с правами доступа 0644, для этого вам понадобятся права root.

После того как firmware установлено, вывод тестирования сканера в правами root выглядит следующим образом:
sudo scanimage --test -d 'gt68xx:libusb:002:003'
...
[gt68xx] Please wait for lamp warm-up
scanimage: scanning image of size 2555x3514 pixels at 8 bits/pixel
scanimage: acquiring gray frame, 8 bits/sample
scanimage: reading one scanline, 2555 bytes... PASS
scanimage: reading one byte... PASS
scanimage: stepped read, 2 bytes... PASS
scanimage: stepped read, 4 bytes... PASS
scanimage: stepped read, 8 bytes... PASS
scanimage: stepped read, 16 bytes... PASS
scanimage: stepped read, 32 bytes... PASS
scanimage: stepped read, 64 bytes... PASS
scanimage: stepped read, 128 bytes... PASS
scanimage: stepped read, 256 bytes... PASS
scanimage: stepped read, 512 bytes... PASS
scanimage: stepped read, 1024 bytes... PASS
scanimage: stepped read, 2048 bytes... PASS
scanimage: stepped read, 4096 bytes... PASS
scanimage: stepped read, 4095 bytes... PASS
scanimage: stepped read, 2047 bytes... PASS
scanimage: stepped read, 1023 bytes... PASS
scanimage: stepped read, 511 bytes... PASS
scanimage: stepped read, 255 bytes... PASS
scanimage: stepped read, 127 bytes... PASS
scanimage: stepped read, 63 bytes... PASS
scanimage: stepped read, 31 bytes... PASS
scanimage: stepped read, 15 bytes... PASS
scanimage: stepped read, 7 bytes... PASS
scanimage: stepped read, 3 bytes... PASS
...
Теперь надо воспользоваться утилитой scanimage с правами обычного пользователя, выполнив в командной строке:
scanimage -L
Если вы получите пустой вывод, надо посмотреть права доступа в файлу устройства (файл устройства можно узнать из вывода команд lsusb и sane-find-scanner). В нашем случае права к файлу устройства следующие:
ls -la /dev/bus/usb/002/003
...
crw-rw-r-- 1 root root 189, 130 2009-05-24 15:43 /dev/bus/usb/002/003
...
Файлы устройств в Linux динамически создаются при помощи утилиты udev по правилам описанным в файлах, расположенных в директории /etc/udev/rules.d. Для того чтобы файл устройства сканера создавался с корректными правами доступа необходимо в директории /etc/udev/rules.d создать файл 45-libsane.rules со следующим содержанием:
ACTION!="add", SUBSYSTEM!="usb", DRIVER!="usb", GOTO="libsane_rules_end"

#Mustek Systems, Inc. BearPaw 2448 TA Plus
ATTR{idVendor}=="055f", ATTR{idProduct}=="021a", ATTR{product}=="USB Scanner", MODE="664", GROUP="scanner"

LABEL="libsane_rules_end"
Атрибуты для написания правила можно взять из вывода команды udevinfo следующего вида:
udevinfo -a -n /dev/bus/usb/002/003
Как писать правила для udev можно почитать здесь. После того как правила прописаны, необходимо пререзагрузить компьютер и убедиться, что права к файлу устройства установленны корректно.
ls -la /dev/bus/usb/002/003
...
crw-rw-r-- 1 root scanner 189, 130 2009-05-24 16:26 /dev/bus/usb/002/003
...
Теперь надо внести пользователя в группу scanner. Это можно сделать следующим образом:
sudo usermod -aG scanner
После вненсения пользователя в группу надо перелогинится. Теперь вывод команды scanimage -L с правами пользователя должен быть аналогичным выводу этой команды с правами root.

После того как сканер подключен и протестирован отсканировать документ можно при помощи программы xsane, которая в Ubuntu располагается в меню "Приложения->Графика->Программа для сканирования изображения". К сканеру также можно организовать доступ по сети, как это сделать можно почитать здесь.

Читать дальше...

10 мая 2009

Настройка и использование bluetooth, часть вторая

В первой части было рассказано как установить и настроить устройство bluetooth в среде Debian. В этой части пойдет речь о том какое программное обеспечение надо установить для обмена файлами через bluetooth в среде Debian.

Обмениваться файлами через bluetooth в linux можно как при помощи консольных приложений, так и при помощи графических. Графические приложения для работы с bluetooth о которых пойдет речь, специфичны для среды Gnome.

Все что необходимо для обмена файлами через bluetooth можно установить выполнив следующюу команду:
aptitude install bluez-utils bluez-gnome gnome-bluetooth obex-data-server gnome-vfs-obexftp
После установки необходимых пакетов внесите вашего пользователя в группу netdev и перелогиньтесь, иначе у вас не будет доступа к устройству. Внести пользователя в группу можно выполнив команду:
sudo usermod -aG netdev
Посмотреть параметры устройства bluetooth на компьютере можно следующим образом:
sudo hciconfig -a
Сканирование доступных устройств из командной строки можно выполнить вот так:
hcitool inq
При выполнении сканирования мой мобильный телефон определился вот так:
Inquiring ...
00:21:9E:2F:D7:3A clock offset: 0x0425 class: 0x5a0204
Определить возможности обнаруженного при сканировании мобильного устройства по работе с bluetooth можно выполнив команду:
sdptool browse 00:21:9E:2F:D7:3A
Вывод команды большой, если выбрать из него только необходимое, то в случае с моим телефоном получим следующее:
sdptool browse 00:21:9E:2F:D7:3A | grep 'Service Name'

Service Name: OBEX SyncML Client
Service Name: Dial-up Networking
Service Name: Serial Port
Service Name: PAN Network Access Point
Service Name: Hands-Free Gateway
Service Name: Headset Gateway
Service Name: OBEX Object Push
Service Name: OBEX File Transfer
Service Name: OBEX IrMC Sync Server
Service Name: HID Mouse & Keyboard
Service Name: OBEX Phonebook Server
Отправку файла с компьютера на мобильный через bluetooth можно выполнить используя "Апплет Bluetooth", который запускается автоматически при старте ситемы, а при активации устройства bluetooth в области уведомления (рядом с часами) появляется значок. Щелчок правой кнопкой мыши на этом значке вызовет выпадающее меню, где надо выбрать пункт "Отправить файл...", далее выбираем необходимый файл и устройство на которое его надо отправить.

Для приема файла с мобильного устройства на компьютер через bluetooth надо запустить приложение, которое находится в меню "Приложения->Стандартные->Общий доступ к файлам по Bluetooth". После запуска приложения в области уведомления появится значок. При инициации отправки файла с мобильного устройства на компьютере появляется запрос на подтверждение приема файла. После приема файла появится запрос на действие над принятым файлом. По-умолчанию файл сохраняется на рабочем столе. Как обеспечить автоматический запуск приложения для приема файлов при старте системы можно посмотреть здесь.

Также обмен файлами через bluetooth в среде Gnome можно выполнять прямо из Nautilus. Для этого в адресной строке Nautilus (если адресная строка скрыта её можно отобразить нажав Ctrl+L) наберите obex:// и нажмите ввод. После ввода вы увидите список обнаруженных устройств, выбираете необходимое и видите файловую систему мобильного устройства. Далее работаете как с обычными файлами.

Читать дальше...

01 мая 2009

Настройка и использование bluetooth, часть первая

Технология bluetooth получила широкое распространение в мобильных устройствах. О том как настроить устройство bluetooth в среде Debian, какое программное обеспечение для этого надо установить пойдет речь в этом посте. Настройка устройства будет показана на примере модуля bluetooth в ноутбуке Toshiba A200.

Чтобы заработал модуль bluetooth на ноутбуке Toshiba A200, необходимо установить дополнительный модуль ядра. Модуль ядра установим из исходников при помощи утилиты module-assistant. Пакет с исходным кодом модуля ядра omnibook-source_2.20070211+svn20090227-1_all.deb можно взять тут.

Для начала установим утилиту module-assistant, которая позволяет управлять упаковкой сторонних модулей ядра. Также нам понадобятся дополнительные пакеты, которые можно установить выполнив в командной строке:
aptitude install module-assistant kernel-package linux-headers-$(uname -r)
Перед началом работы с module-assistant необходимо выполнить следующие команды, предварительно добавив в /etc/apt/sources.list строку deb-src http://ftp.de.debian.org/debian lenny main contrib non-free:
sudo m-a update
sudo m-a prepare
После того как мы подготовили к работе утилиту module-assistant установим пакет omnibook-source_2.20070211+svn20090227-1_all.deb. Пакет можно установить из локального репозитория или выполнив в директории, куда вы скачали пакет, команду:
sudo dpkg -i omnibook-source_2.20070211+svn20090227-1_all.deb
После установки пакета omnibook-source при помощи утилиты module-assistant выполним сборку пакета выполнив:
sudo m-a build omnibook-source
В результате выполнения команды в директории /usr/src появится пакет omnibook-module-2.6.26-2-686~090227-1+2.6.26-15_i386.deb. Если в процессе построения пакета возникли ошибки, то их вы можете посмотерть в каталоге /var/cache/modass в файле omnibook-source.buildlog.2.6.26-2-686 (цифры в имени файла 2.6.26-2-686 это версия ядра, вывод команды uname -r).

После успешной сборки пакета установим его:
sudo m-a install omnibook-source
После установки собранного пакета загрузим модуль ядра со следующими параметрами:
sudo modprobe omnibook ectype=14
Проверим наличие загруженного модуля и информацию о нем:
sudo lsmod | grep omnibook
sudo modinfo omnibook
Теперь, предварительно включив модуль bluetooth переключателем на ноутбуке, убедимся что устройство определяется:
lsusb | grep -i bluetooth
Наблюдаем следующий вывод:
Bus 001 Device 002: ID 0930:0508 Toshiba Corp. Integrated Bluetooth HCI
Обеспечим автоматическую загрузку модуля ядра при загрузке системы. Для этого нужно прописать опции модуля в файле /etc/modprobe.d/omnibook и автозагрузку модуля в файле /etc/modules. Сделать это можно следующим образом:
sudo sh -c "echo 'options omnibook ectype=14' > /etc/modprobe.d/omnibook"
sudo sh -c "echo 'omnibook' >> /etc/modules"
Перезагружаем компьютер и убеждаемся в том, что модуль omnibook загружен. На этом настройка модуля bluetooth закончена. О том какое программное обеспечение необходимо для работы с bluetooth в среде Debian речь пойдет в следующей части.

Читать дальше...

18 апреля 2009

Динамическое управление частотой процессора

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

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

Задачу загрузки необходимых модулей ядра и установки необходимой политики управления частотой процессора выполняют утилиты входящие в пакет cpufrequtils. Для установки пакета cpufrequtils, надо выполнить в командной строке:
sudo aptitude install cpufrequtils
При установке пакета cpufrequtils в уровни загрузки добавляются скрипты loadcpufreq и cpufrequtils. Скрипты исполняются автоматически при загрузке системы. Скрипт loadcpufreq определяет по типу процессора и загружает необходимые модули ядра для управления частотой процессора. Скрипт cpufrequtils устанавливает политику управления частотой процессора (governors policy).

Доступны несколько политик управления частотой (governors policy):
performance - устанавливает постоянную максимально возможную частоту процессора
powersave - устанавливает постоянную минимально возможную частоту процессора
ondemand - устанавливает частоту процессора динамически в зависимости от текущей нагрузки (подходит для десктопов)
conservative - аналогично ondemand, динамически устанавливает частоту процессора в зависимости от нагрузки, но делает это менее агрессивно (подходит для ноутбуков)

Сразу после установки пакета чтобы активировать управление частотой процессора нужно выполнить в командной строке:
sudo /etc/init.d/loadcpufreq start
sudo /etc/init.d/cpufrequtils start
По умолчанию используется политика ondemand. Для изменения политики по умолчанию нужно отредактировать строку GOVERNOR="ondemand" в скрипте /etc/init.d/cpufrequtils, вписав вместо ondemand желаемую политику.

Посмотреть текущую частоту процессора и используемую политику управления частотой можно выполнив в командной строке:
/usr/bin/cpufreq-info
Вывод команды cpufreq-info также покажет доступные политики управления частотой (governors policy), используемый драйвер (модуль ядра), доступный шаг изменения частоты процессора, аппаратные ограничения на изменение частоты процессора.

Для того чтобы изменить политику, например на conservative, можно также воспользоваться утилитой cpufreq-set, выполнив:
sudo /usr/bin/cpufreq-set -g conservative
В среде Gnome можно отслеживать текущее значение частоты процессора используя апплет "Монитор изменения частоты процессора", добавив его на панель.

Читать дальше...

05 апреля 2009

Лог консольных сообщений при загрузке

Во время загрузки ОС Debian на экран выводятся сообщения ядра и сообщения от исполняемых скриптов из /etc/init.d. Иногда, если к компьютеру нет физического доступа или загрузка уже произведена, встает вопрос как просмотреть эти загрузочные сообщения.

Сообщения ядра после загрузки можно посмотреть при помощи команды dmesg. Вывод команды как правило большой, поэтому лучше его перенаправить на программу постраничного вывода текста:
dmesg | less
Сообщения от скриптов из /etc/init.d по умолчанию не записываются в лог-файл. Для того чтобы их увидеть необходимо включить логирование. Сделать это можно внеся в файл /etc/default/bootlogd следующую строку:
BOOTLOGD_ENABLE=Yes
После того как изменения сделаны, при последующих загрузках сообщения от скриптов из /etc/init.d можно посмотреть в файле /var/log/boot.

Читать дальше...

28 марта 2009

Прозрачное проксирование для localhost

Прозрачное проксирование удобно тем, что нет необходимости изменять настройки браузера, особенно когда используется несколько браузеров. Также прозрачным проксированием удобно ограничивать посещение определенных сайтов. В этой заметке расскажу какие минимальные настройки необходимо сделать, чтобы организовать прозрачное проксирование на том же компьютере, где установлен прокси. В примере использована ОС Debian Etch, в качестве прокси используется Squid3.

Для начала необходимо установить Squid. Сделать это можно выполнив в командной строке:
sudo aptitude install squid3
После установки необходимо отредактировать кофигурационный файл Squid. Файл /etc/squid3/squid.conf для обеспечения прозрачного проксирования (режим transparent) на localhost минимально должен быть следующего содержания:
http_port 127.0.0.1:3128 transparent
icp_port 0
htcp_port 0
hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin \?
cache deny QUERY
cache_dir ufs /var/spool/squid3 300 16 256
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern . 0 20% 4320
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/8
acl SSL_ports port 443
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports

acl myip src <здесь ваш ip адрес>
http_access allow myip

http_access allow localhost
http_access deny all
http_reply_access allow all
icp_access deny all
htcp_access deny all
email_err_data off
error_directory /usr/share/squid3/errors/Russian-koi8-r
coredump_dir /var/spool/squid3
Жирным шрифтом выделены строки, которые обеспечат доступ с вашего IP адреса. Если IP адрес не указать, то получите сообщение о том, что доступ запрещен. Оригинальный конфиг Squid3 идет с коментариями и описаниями всех параметров, чтобы выделить уставноленные параметры в конфигурационном файле, нужно выполнить следующую команду:
grep -v "^#" /etc/squid3/squid.conf | sed -e '/^$/d'
После внесения изменений в конфигурационный файл Squid необходимо перезапустить Squid или указать Squid, чтобы он перечитал измененный файл. Для это нужно в командной строке выполнить:
sudo /etc/init.d/squid3 restart
или
sudo /etc/init.d/squid3 reload
На этом минимально необходимая настройка Squid в режиме transparent закончена. Теперь надо завернуть все обращения к порту http (tcp порт 80) на настроенный нами Squid (tcp порт 3128). Для этого надо внести изменения в таблицу nat утилиты iptables, выполнив в командной строке с привилегиями root:
iptables -t nat -A OUTPUT -p tcp --dport 80 -m owner ! --uid-owner proxy -j REDIRECT --to-port 3128
При установке Squid3 автоматически создается пользователь proxy. Прокси работает с правами этого пользователя. Мы указываем iptables перенаправлять все обращения на 80 порт от любого пользователя, кроме proxy на порт 3128. Теперь открываем браузер и пробуем выйти в интернет.

Чтобы убедится что вы работаете через Squid, посмотрите последние записи в его лог файле /var/log/squid3/access.log выполнив в командной строке c привилегиями root:
tail /var/log/squid3/access.log
Видим приблизительно следующий вывод:
1238221525.987 1513 172.25.55.195 TCP_MISS/200 3457 GET http://www.google.ru/ - DIRECT/72.14.203.104 text/html
Чтобы при пререзагрузке правило для iptables восстанавливалось автоматически, можно прописать его в файле /etc/rc.local. На этом минимальная настройка прозрачного проксирования закончена.

Читать дальше...

21 марта 2009

Работа Wi-Fi интерфейса в режиме Ad-Hoc c WPA

Режим Ad-Hoc позволяет взаимодействовать различным устройствам, через беспроводные интерфейсы, без наличия точки доступа (Access Point). Этот режим удобен например для организации домашней сети. В этой статье пойдет речь о том как настроить Wi-Fi интерфейс в режиме Ad-Hoc и обеспечить безопасность соединения используя WPA (Wi-Fi Protected Access) в среде Debian Lenny.

Сразу уточняю что настройки проводились на сетевой карте Intel Wireless 4965 AG. Если у вас другая wireless карта, то здесь вы можете найти информацию о необходимом драйвере для вашей карты.

Если вы не знаете какая wireless карта у вас, то чтобы это выяснить выполните в командной строке следующую команду:
lspci
Вывод команды покажет все PCI устройства в комьютере. Для карты на моем компьютере вывод команды следующий:
05:00.0 Network controller: Intel Corporation PRO/Wireless 4965 AG or AGN [Kedron] Network Connection (rev 61)
Если во время установки системы по каким-то причинам не был установлен драйвер для wireless карты, то это можно сделать выполнив следующую команду:
sudo aptitude install firmware-iwlwifi
Так как драйвер проприетарный то в /etc/apt/sources.list должна быть прописана секция non-free, т.е должна быть приблизительно такая строка:
deb http://ftp.de.debian.org/debian lenny main contrib non-free
После установки драйвера убеждаемся что он загружен, выполнив следующую команду:
lsmod | grep iwl
Наблюдаем следующий вывод:
iwl4965 92904 0
firmware_class 6816 2 pcmcia,iwl4965
iwlcore 23520 1 iwl4965
rfkill 5652 2 iwlcore
mac80211 139680 2 iwl4965,iwlcore
led_class 3908 1 iwlcore
cfg80211 21576 2 iwl4965,mac80211

Чтобы настроить wireless интерфейс надо установить пакеты wireless-tools и wpasupplicant, выполнив в командной строке:
sudo aptitude install wireless-tools wpasupplicant
После этого пропишем настройки Wi-Fi интерфейса со статическим IP адресом в /etc/network/interfaces следующим образом:
iface wlan0 inet static
address 172.16.0.1
netmask 255.255.255.0
wpa-ssid "HomeWireless"
wpa-mode 1
wpa-ap-scan 2
wpa-proto WPA
wpa-key-mgmt WPA-NONE
wpa-pairwise NONE
wpa-group TKIP
wpa-psk "supeRpasSworD"
Параметры wpa-ssid (идентификатор сети) и wpa-psk(ключ длиной от 8 до 63 ASCII символов ) указываете свои. Если не хотите чтобы ключ хранился открытым текстом, то можете сгенерировать шестнадцатеричный ключ выполнив в командной строке:
wpa_passphrase HomeWireless supeRpasSworD
получим следующий вывод:
network={
ssid="HomeWireless"
#psk="supeRpasSworD"
psk=ce041bd5192cd3e42aa6af59902d0236a51b0c40e7721705206d75e774aedf23
}
Полученной в предпоследней строке абракадаброй заменяем ключ прописанный открытым текстом, без кавычек.

После того как закончили настраивать интерфейс в /etc/network/interfaces, выполняем следующую команду:
sudo ifup wlan0
Теперь убедимся, что настройки вступили в силу выполнив следующую команду:
sudo iwconfig wlan0
Наблюдаем следующий вывод:
wlan0 IEEE 802.11 ESSID:"HomeWireless"
Mode:Ad-Hoc Frequency:2.412 GHz Cell: 82:F1:29:0D:52:F5
Tx-Power=15 dBm
Retry min limit:7 RTS thr:off Fragment thr=2352 B
Encryption key:CE04-1BD5-192C-D3E4-2AA6-AF59-902D-0236-A51B-0C40-E772-1705-A51B-0C40-E772-1705
Link Quality:0 Signal level:0 Noise level:0
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
Настройки IP параметров для wireless интерфейса можно посмотреть выполнив следующую команду:
sudo ifconfig wlan0
и наблюдая такой вывод:
wlan0 Link encap:Ethernet HWaddr 00:13:e8:69:21:ed
inet addr:172.16.0.1 Bcast:172.16.0.255 Mask:255.255.255.0
inet6 addr: fe80::213:e8ff:fe69:21ed/64 Scope:Link
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:21 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:2048 (2.0 KiB)
На этом настройка интерфейса закончена. Для взаимодействия с другими устройствами через wireless интерфейс, надо чтобы параметры wpa-ssid и wpa-psk на взаимодействующих устройствах были идентичные.

Читать дальше...

22 февраля 2009

Настройка umask для sftp сессии

Столкнулся с тем, что при работе по sftp не действует параметр umask, прописанный в профиле пользователя ~/.bash_profile. Файлы создаются с umask установленным в системе по умолчанию.

Связано это с тем, что для сессии sftp создается non-login non-interactive shells. Для такой оболочки настройки берутся из файла ~/.bashrc. Чтобы изменить umask для sftp сессии редактируем файл ~/.bashrc следующим образом - находим и комментируем следующую строку (строка находится в начале файла):
#[ -z "$PS1" ] && return
Вместо неё пишем следующий код (значение umask ставите которое вам нужно):
if [ -z "$PS1" ]; then
umask 0007
return
fi
После этого соединяемся по sftp, создаем директорию и смотрим с какими правами она создана:
sftp> mkdir test
sftp> ls -l
...
drwxrwx--- 2 user user 4096 Feb 22 16:57 test
...
Видим, что права соотвествуют установленному параметру umask 0007.

Читать дальше...

Как узнать установленную версию дистрибутива Linux?

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

Все это можно узнать если выполнить в командной строке, следующую команду:
/usr/bin/lsb_release -ircd
Для Ubuntu Hardy получим следующий вывод:
Distributor ID: Ubuntu
Description: Ubuntu 8.04.2
Release: 8.04
Codename: hardy
Для Debian Etch вывод команды будет таким:
Distributor ID: Debian
Description: Debian GNU/Linux 4.0r7 (etch)
Release: 4.0r7
Codename: etch

Читать дальше...

15 февраля 2009

Антивирус от Avira на Ubuntu Hardy, часть вторая

В первой части я рассказал о том, как установить модуль Dazuko, который использует антивирус AntiVir от Avira для проверки файлов в момент обращения к ним. В этой части установим непосредственно сам AntiVir.

Антивирус для Linux от Avira для персонального использования бесплатен, и доступен для скачивания здесь. Не забудьте скачать там же лицензионный ключ, так как ключ, который идет в составе дистрибутива, имеет ограниченный срок действия.

Установка антивируса для Linux производится из тарбола antivir-workstation-pers.tar.gz. Распаковываем тарбол там, куда вы его скачали, следующей командой, и заходим в распакованный каталог:
tar -xzvf antivir-workstation-pers.tar.gz
cd ./antivir-workstation-pers-2.1.12-19
Так же необходимо заменить в распакованном каталоге лицензионный ключ hbedv.key на ключ, скачанный по ссылке, указанной выше. Для установки понадобится сессия root, её можно установить выполнив в командной строке:
sudo -s
Собственно сам процесс установки прост, запускаем в распакованном каталоге установочный скрипт из командной строки:
./install
Читаем лицензию, принимаем её условия и отвечаем на вопросы по ходу установки. Антивирус не руссифицирован, поэтому текст лицензии и вопросы на английском языке. Привожу пример вопросов и ответов на них, с небольшими комментариями:

Do you agree to the license terms? [n] y
Здесь вам предлагают принять условия лицензии. В скобках ответ по-умолчанию. :)

Would you like to install the internet update daemon? [n] y
Здесь предлагают установить демон автоматического обновления антивирусных баз. Его можно не устанавливать, в дальнейшем обновления придется проводить вручную или автоматизировать процесс обновления при помощи cron.

Would you like to create a link in /usr/sbin for avupdater ? [y] y
Нужно ли создавать ссылку в каталоге /usr/sbin на исполняемый файл демона автоматического обновления. Все исполняемые файлы антивирус располагает в директории /usr/lib/AntiVir, чтобы их не искать предлагается создать ссылку в стандартном размещении бинарных исполняемых файлов.

Would you like the internet update daemon to start automatically? [y] y
Если хотите чтобы демон автоматического обновления запускался автоматически при загрузке системы, отвечаете "Да!" :)

How should AvGuard be installed? [k] k
Здесь спрашивают, надо ли устанавливать AvGuard - компоненту выполняющую в реальном времени сканирование файлов при доступе к ним. Для установки этой компоненты необходим модуль Dazuko, который мы установили в первой части. Если модуль Dazuko вы не установили, то отвечаете n. Если модуль Dazuko установлен, то возможны два варианта ответа m - при этом модуль Dazuko будет загружаться при старте AvGuard, k - при этом модуль Dazuko должен быть загружен постоянно, например при старте системы, как показано в первой части статьи.

Would you like to create a link in /usr/sbin for avguard ? [y] y
Аналогично, как в случае с демоном автообновление, спрашивают про необходимость создать ссылку на AvGuard в каталоге /usr/sbin.

Would you like AvGuard to start automatically? [y] y
Нужно ли запускать AvGuard автоматически при старте системы - выбор на ваш вкус.

Would you like to install the GUI (+ SMC support)? [y] y
Здесь предлагают установить графическую оболочку, для управления антивирусом. Чтобы запустить оболочку из под пользователя, необходимо внести его в группу antivir. Группа antivir создается автоматически при установке антивируса. Внести пользователя в группу можно выполнив в командной строке:
usermod -aG antivir user_name
Опция a нужна для того, чтобы сохранить членство пользователя в его текущих группах, вместо user_name подставляете имя вашего пользователя. После исполнения команды, пользователю надо перелогинится.

Would you like to configure the AntiVir updater now? [y] y
Если вы установили компоненту автоматического обновления, то здесь предлагатся сконфигурировать её параметры.

Would you like email notification about updates? [n]
Если вы согласислись сконфигурировать параметры автообновления, то здесь спрашивают надо ли отсылать уведомления о том как прошло автоматическое обновление на e-mail.

Would you like the updater to log to a custom file? [y]
What will be the log file name with absolute path (it must begin with '/')
? [/var/log/avupdater.log]
Надо ли вести отдельный лог-файл для демона автоматического обновления, и куда этот лог-файл разместить.

How often should AntiVir check for updates? [2] d
Здесь надо установить как часто проводить обновления. Возможные варианты 2 - раз в два часа, d - раз в день, n - запретить работу демона автообновления.

Does this machine use an HTTP proxy server? [n]
Если вы работаете через прокси-сервер, здесь предлагают настроить его параметры.

Save configuration settings? [y] y
После того как вы ответили на вопросы, предлагается сохранить настройки демона автоматического обновления.

Would you like to apply the new configuration? [y] y
После того, как настройки были сохранены предлагается их применить.

Would you like to start AvGuard now? [y] y
Надо ли запустить компонету сканирования файлов в реальном времени AvGuard, если вы её установили.

На этом установка антивируса закончена.

Если вы не установили компоненту автоматического обновления антивирусных баз, то выполнить обновление можно из командной строки:
/usr/lib/AntiVir/antivir --update
Необходимость обновления можно узанть выполнив в командной строке:
/usr/lib/AntiVir/antivir --update --check
Если вы не устанавливали компоненту сканирования файлов в реальном времени, то можете воспользоваться антивирусным сканером, предварительно изучив его параметры:
/usr/lib/AntiVir/antivir --help
Посмотреть информацию о версии антивируса и версии продукта можно выполнив команду:
/usr/lib/AntiVir/antivir --version
Каталог размещения исполняемых файлов антивируса /usr/lib/AntiVir/, конфигурационные файлы расположены в /etc/avguard.log и /etc/avupdater.log, лог-файлы можно найти в /var/log/avguard.log и /var/log/avupdater.log.

Читать дальше...

08 февраля 2009

Антивирус от Avira на Ubuntu Hardy, часть первая

Вокруг необходимости установки антивируса на Linux ходит много споров на различных форумах в интернете. Но в конечном счете каждый решает сам ставить его или нет. В этой статье я хочу рассказать об установке антивируса AntiVir от Avira на Ubuntu 8.04. Статья разбита на две части. В первой части пойдет речь об установке модуля Dazuko, чтобы обеспечить возможность сканирования файлов в момент обращения к ним. Во второй части речь пойдет непосредственно об установке AntiVir.

Установка модуля Dazuko производится из исходников которые можно скачать здесь. Стабильная версия на данный момент 2.3.5. Компиляция модуля Dazuko производилась мной для ядра 2.6.24-23-generic. Так как модуль компилируется под конкретное ядро, то рекомендую исключить возможность автоматического обновления пакетов ядра.

Чтобы узнать какое ядро на вашей системе наберите в командной строке:
uname -r
Для того чтобы исключить автоматическое обновление ядра в вашей системе выполните в командной строке:
sudo aptitude hold linux-image-$(uname -r)
Для компиляции модуля понадобятся дополнительные пакеты, которые можно установить выполнив команду:
sudo aptitude install linux-headers-$(uname -r) build-essential
Скачав исходные коды модуля Dazuko, распаковываем их там, где вы их разместили следующей командой и заходим в распакованную директорию:
tar -xzvf dazuko-2.3.5.tar.gz
cd ./dazuko-2.3.5
Для компиляции модуля понадобится сессия root, установить её можно командой:
sudo -s
Выполняем конфигурацию модуля командой:
./configure --disable-local-dpath --disable-chroot-support --enable-syscalls --mapfile=/boot/System.map-$(uname -r) --kernelsrcdir=/usr/src/linux-headers-$(uname -r) --sct-readonly
Хочу отметить, что модуль Dazuko заработал у меня только с указанной командой конфигурирования. Если вы хотите узнать что это за опции, выполните в командной строке:
./configure --help
Дополнительно про опции конфигурирования можно также прочитать здесь. При успешном конфигурировании вы должны увидеть на экране вот такое сообщение:
./configure successful

=======================
Configuration summary
=======================

module events = ON_OPEN ON_CLOSE ON_EXEC
devfs support = no
rsbac support = no
hooking via syscalls = yes
local __d_path() = no (using chroot events, see README.linux26)
path resolution = registered daemon context
module debug = no
library 1.x compatibility = yes
Если при конфигурировании у вас не было ошибок выполняем компиляцию модуля Dazuko, выполнив:
make
При успешной компиляции наблюдаем на экране следующий вывод:
make[1]: Вход в каталог `/usr/src/linux-headers-2.6.24-23-generic'
CC [M] /var/local/packages/avira/dazuko-2.3.5/dazuko_core.o
CC [M] /var/local/packages/avira/dazuko-2.3.5/dazuko_transport.o
CC [M] /var/local/packages/avira/dazuko-2.3.5/dazuko_linux.o
LD [M] /var/local/packages/avira/dazuko-2.3.5/dazuko.o
Building modules, stage 2.
MODPOST 1 modules
CC /var/local/packages/avira/dazuko-2.3.5/dazuko.mod.o
LD [M] /var/local/packages/avira/dazuko-2.3.5/dazuko.ko
make[1]: Выход из каталога `/usr/src/linux-headers-2.6.24-23-generic'
touch dummy_rule
Завершив компиляцию модуля протестируем его выполнив команду:
make test
При тестировании производится загрузка и выгрузка модуля в/из ядра системы, на экране наблюдаем следующий вывод при успешном тестировании:
/sbin/insmod ./dazuko.ko
/sbin/rmmod dazuko
--> test successful :)
После успешного тестирования выполняем установку модуля командой:
make install
После установки модуля загружаем модуль в ядро, выполнив в командной строке:
/sbin/modprobe -v dazuko
После загрузки проверяем наличие устройства Dazuko в каталоге /dev, выполнив команду и наблюдая следующий вывод:
ls -la /dev | grep dazuko

crw-rw---- 1 root root 252, 0 2009-02-08 10:29 dazuko
Чтобы модуль Dazuko загружался при старте системы, добавим его в файл /etc/modules, следующей командой:
sudo sh -c "echo 'dazuko' >> /etc/modules"
Перезагружаем систему, убеждаемся что модуль Dazuko загружен и в каталоге /dev создано устройство dazuko. Наличие загруженного модуля можно проверить из командной строки, выполнив следующую команду и наблюдая вывод:
lsmod | grep dazuko

dazuko 46716 0
На этом установка модуля Dazuko завершена. Можно приступать к установке антивируса AntiVir, но об этом в следующей части!

Читать дальше...

25 января 2009

Gnome и перерыв в работе за компьютером

Часто довольно сложно оторваться от экрана компьютера, или сложно оторвать от него кого-то другого. Если вы значительное время проводите за компьютером, то делать перерывы в работе вам может помочь принудительная периодическая блокировка экрана пользователя. Эта функция встроена в Gnome по умолчанию.

Для того чтобы включить блокировку экрана необходимо пройти в меню Система->Параметры->Клавиатура. В появившемся окне выбрать закладку Перерыв в работе. Затем пометить пункт Блокировать экран для принудительного перерыва в работе, задать Продолжительность работы, скажем 30 мин и Продолжительность перерыва, скажем 7 мин.

Вы можете оставить себе возможность кратковременно отказаться от блокировки, пометив пункт Разрешить откладывание перерывов. В этом случае при блокировке в нижнем левом углу экрана появляется кнопка Отложить перерыв. Перерыв откладывается приблизительно на 10% заданного времени продолжительности работы. В нашем примере это 3 мин.

В области уведомления, рядом с часами, появится зеленый значок который показывает сколько времени осталось до перерыва. Когда остается минуты две, до перерыва значок перекрашивается в красный и начинает мигать. При блокировке окно затемняется и появляется надпись Сделайте перерыв! с обратным отсчетом оставшегося времени перерыва.

Читать дальше...

24 января 2009

Обновление VLC в Ubuntu Hardy

Популярный медиа плеер VLC в официальном репозитории Ubuntu 8.04 представлен в версии 0.8.6, тогда как на официальном сайте текущая версия 0.9.8. У меня были проблемы при перемешении по меню DVD диска с версией из репозитория. Решил обновить VLC, тем более что текущая версия плеера значительно новее.

Обновления до текущей версии можно взять из репозитория http://ppa.launchpad.net/c-korn/ubuntu. Перед обновлением необходимо удалить страую версию VLC, иначе новая не установится. Для удаления в командной строке вводим:
sudo aptitude remove vlc vlc-nox
Чтобы установить обновление из репозитория нужно создать в директории /etc/apt/sources.list.d файл vlc.list, и внести в него строку deb http://ppa.launchpad.net/c-korn/ubuntu hardy main. Создать файл с необходимым содержимым можно выполнив в командной строке:
sudo sh -c "echo 'deb http://ppa.launchpad.net/c-korn/ubuntu hardy main' > /etc/apt/sources.list.d/vlc.list"
Команда должна быть записана в одну строку, обратите внимание на кавычки. После этого обновляем список пакетов:
sudo aptitude update
В завершении устанавливаем VLC:
sudo aptitude install vlc vlc-nox
Так как репозиторий не подписан, то aptitude выдаст предупреждение об установке ненадежных пакетов. Вместе с пакетами vlc и vlc-nox автоматически будут установлены зависимости.

Заметка написана по материалам yabBLOG.

Читать дальше...

Архив блога

Недавние посты

Недавние коментарии

  © Blogger template Blue Surfing by Ourblogtemplates.com 2008

Наверх