Pазрешение в консоли (console resolution)

четверг, 26 марта 2009 г.
Еще один пост про консоль. Разрешение вне Иксов, в чистой консоли (например ctrl+alt+F1 - в первой консоли) или при загрузке, мягко говоря несколько неудобно. Слишком мало. Я предлагаю немного увеличить его. 

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

640x480 800x600 1024x768 1280x1024
256 0x301 0x303 0x305 0x307
32k 0x310 0x313 0x316 0x319
64k 0x311 0x314 0x317 0x31A
16M 0x312 0x315 0x318 0x31B


По горизонтали - разрешение, по вертикали - глубина цвета. 

Например, на мониторе с Иксовым разрешением 1280*1024 подойдет консольное разрешение 1024*768, если больше - то текст будет выглядеть слишком уж мелко, как для консоли. Значение vga=0x305.

А на 15-дюймовом мониторе с обычным разрешением 1024*768 отлично подойдет консольное разрешение 800*600. То есть значение vga=0x303.

Теперь, куда и как это прописывается:
Открываем файлик /boot/grub/menu.lst и добавляем в загрузку ядра выбранное значение нашего параметра. 
sudo cp /boot/grub/menu.lst /boot/grub/menu.lst.bak
sudo vi /boot/grub/menu.lst
Находим блок загрузки, похожий на 

title Ubuntu, kernel 2.6.15-25-386
root (hd0,5)
kernel /boot/vmlinuz-2.6.15-25-386 root=/dev/hda6 ro quiet splash
initrd /boot/initrd.img-2.6.15-25-386
savedefault
boot

И в строку загрузки ядра дописываем (см. Текстовый редактор vi) параметр vga:

kernel /boot/vmlinuz-2.6.15-25-386 root=/dev/hda6 vga=0x305 ro quiet splash.

Значение подбираете сами в зависимости от своих потребностей. 

Перегружаете машину, получаете разрешенное счастье в консоли :)

Восстановление md RAID1 массива


Диспозиция следующая 2-а HDD диска, один из которых на момент работы полностью обнулён, а второй содержит актуальный данный разрушенного RAID1 массива. Условимся, что:
/dev/hda - содержит актуальные данные;
/dev/hdc - свободен.

1. Создание аналогичной таблицы разделов:
sfdisk -ld /dev/hda | sfdisk /dev/hdc
2. Визуальная проверка таблицы разделов:
sfdisk -l /dev/hdc
3. Добавление партиции к /dev/md0
mdadm --add /dev/md0 /dev/hdc1
4. Восстановление менеджера загрузки grub
grub> device (hd0) /dev/hdc
grub> root (hd0, 0)
grub> setup (hd0)
grub> quit

Дата в Linux

вторник, 24 марта 2009 г.

Чтобы посмотреть текущие дату и время - date.

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

date MMDDhhmmCCYY.ss

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

Например:

date 100615352006.30

Эта команда установит текущие дату и время на 06 октября 2006 года, 15:35:30.

Дату и время может изменять только root-пользователь.

tftp-сервер на Debian

вторник, 24 февраля 2009 г.
Использование atftpd в режиме "inetd"
Установим atftpd (в качестве клиента можно использовать как классический tftp, так и его родной atftp, разницы между ними практически нет, но последний немного удобнее использовать в различных скриптах по причине большего количества аргументов командной строки):
apt-get install atftpd atftp

Сам atftpd может работать как в качестве самостоятельного сервера, так и в качестве одной из подсистем суперсервера inetd (или любого его аналога). По умолчанию он настроен на работу через inetd и для его функционирования в /etc/inetd.conf добавляется строка:
tftp dgram udp4 wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd --tftpd-timeout 300 --retry-timeout 5 --mcast-port 1758 --mcast-addr 239.239.239.0-255 --mcast-ttl 1 --maxthread 100 --verbose=5 /var/lib/tftpboot

Параметров тут перечислено много и информацию по ним лучше всего искать в man-странице atftpd. Основное что нас тут интересует: сервис работает с правами пользователя nobody и считает корнем директорию /var/lib/tftpboot.

Создаём директорию:
mkdir -p /var/lib/tftpboot && chown nobody /var/lib/tftpboot

Создаём тестовый файл:
echo Test File > /var/lib/tftpboot/test && chown nobody /var/lib/tftpboot/test

Пробуем скачать тестовый файл и просмотреть его содержимое:
atftp -g -r test 127.0.0.1 && cat test

Если всё пройдёт нормально то на стандартный вывод будет выдана надпись: "Test File". Если же вместо этого будут какие-то ошибки - нужно начинать искать проблему. Скорее всего она кроется в правах доступа (как и в предыдущем случае).

Использование atftpd в режиме "standalone"
Здесь всё практически так же, как и в предыдущем случае, только нет необходимости запускать суперсервер inetd, поскольку atftpd в этом случае работает как самостоятельный сервер. Если интересен именно такой вариант то нужно сделать следующее: первым делом закоментировать строку запуска atftpd в /etc/inetd.conf:
## tftp dgram udp4 wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd --tftpd-timeout 300 --retry-timeout 5 --mcast-port 1758 --mcast-addr 239.239.239.0-255 --mcast-ttl 1 --maxthread 100 --verbose=5 /var/lib/tftpboot

и перезапустить суперсервер:
invoke-rc.d openbsd-inetd restart

Далее нужно поменять значение переменной USE_INETD в файле /etc/default/atftpd с true на false:
#USE_INETD=true
USE_INETD=false


Дополнительные опции для atftpd при такой настройке перечисляются в переменной OPTIONS всё того же файла. Настройки по умолчанию совпадают с настройками по умолчанию для режима "inetd", соответственно проверка работоспособности сервера проводится так же.

В параметрах можно убрать мультикаст удалив параметры --mcast-port, --mcast-addr, --mcast-ttl и указав --no-multicast 

Apt через proxy

среда, 18 февраля 2009 г.
Создайте файл /etc/apt/apt.conf.d/proxyсо следующим содержанием:
Acquire::http::Proxy "http://host:port";

Если необходимо использование авторизации:
Acquire::http::Proxy "http://login:pass@host:port";'

Использование зеркал:
Acquire
{
  http {
  Proxy "http://host:port/";
  Proxy::mirror "DIRECT";
  Proxy::mirror.example.com "DIRECT";
  }
}


Для FTP proxy соответственно:
Acquire::ftp {
  Proxy "ftp://host:2121/";
  ProxyLogin {
  "USER $(SITE_USER)@$(SITE)";
  "PASS $(SITE_PASS)";
  }
}

John the Ripper

среда, 11 февраля 2009 г.

установка пакета

apt-get install john

Обьединяем информацию файлов /etc/passwd  и /etc/shadow.

unshadow /etc/passwd /etc/shadow > ~/passwords

Запускаем

john ~/password

Получаем результат:

user1:123456:1002:1002:test,,,:/home/test:/bin/bash
user2:qwerty:1003:1003::/home/didi:/usr/bin/rssh

2 passwords cracked, 0 left

IIS ip binding

IIS сервер, по умолчанию, делает 
binding (привязку) ко всем IP адресам которые видны в системе. Даже если 
пройтись по всем установкам IIS и везде принудительно прописать один IP адрес, 
этого будет не достаточно.
Решить эту проблему поможет нам Httpcfg.exe. этот файл можно найти в Support.cab. 
В свою очередь файл Support.cab находится на оригинальном диске Windows Server 
2003 в директории Support\Tools.
Теперь пару слов о том, как работать с Httpcfg.exe. Есть одна маленькая 
особенность. Если у вас на сервере есть больше двух IP адресов и вы хотите, что 
бы ваш IIS слушал сразу по нескольким адресам, то надо будет прописать каждый 
адрес.
Для определения на каком IP будет работать IIS, выходим в командную строку (cmd.exe) 
и запускаем:

httpcfg set iplisten -i xxx.xxx.x.x 

Где xxx.xxx.x.x IP адрес на котором будет работать IIS-6 сервер. Если всё прошло 
нормально, то система выдаст следующий результат:

HttpSetServiceConfiguration completed with 0 

Что-бы проверить результат запускаем:

httpcfg query iplisten 

После выполнения данной процедуры, выполняем следующую команду:

net stop http /y 

и

net start w3svc 

Все, теперь наш IIS работает только на том IP адресе, который мы ему выделили.