воскресенье, 23 января 2011 г.

zm


Что нужно:
  1. Мини-CD Ubuntu
  2. Linux и ZoneMinder поддержке карты захвата
  3. ПК
Давайте начнем!
  1. Установить Ubuntu
  2. После установки базовой системы установлен установить SSH (всегда хорошо иметь) и ZoneMinder

  3. user@ubuntu:~$ sudo apt-get install openssh-server zoneminder
  4. Добавить WWW-данных пользователя в группу "Видео" для доступа к видео-потоков с веб-интерфейсом: 
    user@ubuntu:~$ sudo usermod -a -G video www-data
  5. Сделать Apache автоматически запускается интерфейс ZoneMinder Сети и перезапустите Apache: 
    user@ubuntu:~$ sudo ln -s /etc/zm/apache.conf /etc/apache2/sites-enabled/001-zoneminder 
    Password: 
    user@ubuntu:~$ sudo service apache2 restart
  6. В этот момент вы должны быть в состоянии открыть веб-интерфейс ZoneMinder's, указав в браузере http:// IP-OF-ZoneMinder-сервер / гт /
  7. Скачать Cambozola чтобы иметь возможность просматривать живые потоки из любого браузера с поддержкой Java в случае просмотра Flash не работает для Вас: 
    user@ubuntu:~$ wget http://www.charliemouse.com:8080/code/cambozola/cambozola-latest.tar.gz 
    user@ubuntu:~$ tar -zxvf cambozola-latest.tar.gz 
    user@ubuntu:~$ sudo cp cambozola-0.76/dist/cambozola.jar /usr/share/zoneminder/
    Пожалуйста, обратите внимание: На момент написания этой cambozola версии 0,76 является последняя из которых, следовательно, если вы получаете новую версию вы должны изменить в соответствующий каталог.
  8. Это время, чтобы добавить ваши камеры - лучше сначала прочитать ZoneMinder, определяющим монитор документации
  9. В весьма вероятно, событие, которые вы получаете черный / пустой экран, когда вы пытаетесь просматривать изображение с камеры, то вы должны изменить ваш максимально допустимый объем разделяемой памяти и перезапустить Apache и ZoneMinder: 
    user@ubuntu:~$ sudo echo "256000000" > /proc/sys/kernel/shmmax 
    user@ubuntu:~$ sudo service apache2 restart 
    user@ubuntu:~$ sudo service zoneminder restart
    Как подсчитать, что магическое число (256000000 в моем случае) обсуждается вэтой теме в ZoneMinder в форумах . Лучше всего, чтобы прочитать ее и вычислить сумму самостоятельно, т.к. это сильно зависит от камеры, которые вы собираетесь использовать. 
    Для того чтобы добавить изменения постоянно нужно отредактировать / и т.д. / sysctl.conf и добавьте линии kernel.shmmax = 256000000 к нему. 
    Если вы все еще не получив изображение, которое вы должны проверить свои камеры и как вы установите их и экспериментировать с форматом и устройств захвата палитры.
  10. Все готово!
Это может быть хорошей идеей, чтобы немного изменить некоторые параметры конфигурации. Вы можете сделать это из меню настроек веб-интерфейса - он расположен в правом верхнем углу, прямо под нагрузкой / диска использования мониторинга и мне потребовалось время, чтобы найти его.
  1. Параметры -> Image -> OPT_CAMBOZOLA значение галочкой
  2. Параметры -> Image -> STREAM_METHOD установлен в MPEG

среда, 19 января 2011 г.

Опасные связи... Или игры разума?

  Факт из нашей жизни: Государство сплело вокруг каждого человека невидимые нити -- например, без паспорта ты ни кто. или без регистрации хоть ты и гражданин и имеешь право (как написано в паспорте) на свободное передвижение по стране, но регистрироваться тебя принуждают! Государство в лице силовых структур о тебе узнает даже то, что твои родители не помнят!!! А узнать все необходимое и не очень о ЧЕСТНОМ гражданине кажется задача слишком проста.
   Но как быть с не честными гражданами?! По каким причинам у нас за последние 2 года у нас в стране разгулялись кибер преступники??? Не ужели ни кто из влиятельных людей не попадал в неприятные ситуации с порно банерами на 90% рабочего стола компьютера??? Но что самое забавное, не было ни одного громкого дела с привлечением к уголовной ответственности лиц, вымогающих деньги у  рядовых пользователей персональных компьютеров! За то были новости о том, как героически были закрыты несколько торрент трекеров, как арестованы производители и распространители пиратской продукции. Да, это самое главное направление для ОБЭП, и не важно что таким образом они только защищают интересы корпораций, а то что с простых граждан возьмут в разы больше денег кибер-вымогатели им, похоже, не интересно. Или я недостаточно информирован...
Может быть ситуация совсем иная? Может быть это гос аппарат решил так с населения денег взять? сложно ведь придумать новый налог, да и народ может не понять... а тут такой шанс!))) Тогда все встает на свои места: ни кто в тюрьму не садится, штрафы не платит и вообще все счастливы...
   Вывод к которому я пришел: либо возникают проблемы с поисковиками, либо нет надобности напрягаться.

P.S. На самом дела, мне крупно повезло, я ни разу не попался на уловки жуликов. Для меня их уловки на сквозь видны. И еще, мое мнение таково, что следовало бы как минимум обязать операторов мобильной связи предоставлять возможность абоненту самому включать дополнительные услуги типа "смс на короткий номер". А по умолчанию списание средств только на базовые услуги: звонки, смс на мобильные, интернет. При жестких мерах, результат будет. Иначе все попытки обречены...

воскресенье, 16 января 2011 г.

удаленное включение ПК


Wake-On-LAN — технология, позволяющая удалённо включать компьютер. Почему-то не часто используемая функция, хотя бесспорно будет полезна любителям ввести halt не в том ssh-сеансе  Wink

Что понадобится:
- компьютер-жертва с ATX-источником питания, материнской платой, поддерживающей Wake On LAN и Ubuntu на борту;
- сетевой адаптер с поддержкой Wake On LAN;
- знание IP и MAC сетевого устройства;
- второй компьютер, при помощи которого будем будить первого;
- спец-программа на втором компьютере, умеющая отсылать «волшебный пакет».

Как это работает:
Управляемый компьютер находится в дежурном режиме (stand by) и выдаёт питание на сетевой адаптер. Сетевой адаптер находится в режиме пониженного энергопотребления, просматривая все пакеты, приходящие на его MAC-адрес и ничего не отвечая на них. Если одним из пакетов окажется Magic Packet, сетевой адаптер выдаёт сигнал на включение питания компьютера.

Делаем:
1.Включаем поддержку WAN в BIOS. Как это делается — смотрите в мануале вашей материнской платы. Или просто ищите в настройках BIOS что-то похожее на «enable Wake On LAN».

2.Теперь загружаем ОС и создаем скрипт, который будет должным образом конфигурировать сетевую карту при каждой загрузке Ubuntu.

- Выбираем необходимую сетевую карту:

Код:
ifconfig
Код:
eth0      Link encap:Ethernet  HWaddr 01:23:45:67:89:ab
          inet addr:192.168.1.2  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::215:f2ff:fe6f:3487/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:71495 errors:0 dropped:0 overruns:0 frame:0
          TX packets:76190 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:23164212 (22.0 MiB)  TX bytes:7625016 (7.2 MiB)
          Interrupt:217 Base address:0xd400

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:1290 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1290 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:161182 (157.4 KiB)  TX bytes:161182 (157.4 KiB)
в данном примере карта одна, eth0.

- Теперь создаем сам скрипт, для этого сначала необходимо получить права администратора:
Код:
sudo su
cd /etc/init.d/
gedit wakeonlanconfig

- пишем в файл следующие строки, сохраняем, закрываем:
Код:
#!/bin/bash
ethtool -s eth0 wol g
exit

- устанавливаем права:
Код:
chmod a+x wakeonlanconfig

- создаем символическую ссылку, делаем скрипт исполняемым при загрузке:
Код:
update-rc.d -f wakeonlanconfig defaults

на экране должно отобразиться что-то вроде
Код:
Adding system startup for /etc/init.d/wakeonlanconfig ...
   /etc/rc0.d/K20wakeonlanconfig -> ../init.d/wakeonlanconfig
   /etc/rc1.d/K20wakeonlanconfig -> ../init.d/wakeonlanconfig
   /etc/rc6.d/K20wakeonlanconfig -> ../init.d/wakeonlanconfig
   /etc/rc2.d/S20wakeonlanconfig -> ../init.d/wakeonlanconfig
   /etc/rc3.d/S20wakeonlanconfig -> ../init.d/wakeonlanconfig
   /etc/rc4.d/S20wakeonlanconfig -> ../init.d/wakeonlanconfig
   /etc/rc5.d/S20wakeonlanconfig -> ../init.d/wakeonlanconfig

- проверяем что всё нормально получилось, вводим в терминале
Код:
/etc/init.d/wakeonlanconfig
если никакого вывода не последовало и показалась следующая строка ввода - значит всё прошло гладко.

- проверяем на практике.
распечатываем данное руководство, выключаем первый компьютер и идём ко второму Smiley Здесь нам понадобится одна из многочисленных программ, умеющих слать волшебный пакет. Программа попросит указать IP и MAC первого компьютера, в крайнем случае - еще и порт (обычно 7 или 9).
Для Ubuntu удобна программа wakeonlan, для офтопика найдет гугл. Мне же нравится он-лайн сервис http://www.rshut.com/rus/products/wol которым легко можно воспользоваться даже с сотового телефона Smiley

Пробуем:
Код:
wakeonlan -i [IP адрес] -p [порт] [MAC адрес]
, например
Код:
wakeonlan -i 192.168.1.2 -p 7 01:23:45:67:89:ab

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

_____________________________________________________________________
источники:
http://ru.wikipedia.org/wiki/Wake-on-LAN - теоретическая часть
http://ubuntuforums.org/showthread.php?t=234588 - практическая часть

HowTo испробовано на Ubuntu 7.10, сработало с первой попытки.

голос меняем


« : 22 Декабря 2009, 16:12:49 »


Сейчас я расскажу как можно изменить голос Smiley
Предварительно настроить микрофон.
Далее надо установить:
Код:
sudo apt-get install libasound2-plugins "pulseaudio-*" paman padevchooser paprefs pavucontrol pavumeter
Код:
sudo apt-get install sox libsox-fmt-all
Добавить пользователя в группы pulse, pulse-access, audio
Нужно перезагрузиться или завершить сеанс.
Заходим в "Аудио и Видео->Регулятор громкости PulseAudio". Переходим на вкладку "Запись.
Запускаем терминал и вводим:
Код:
pacat --record | sox -t raw -r 44100 -s -b 16 -c 2 - -t ao pulse pitch -500
Попробуйти поговорить через микрофон. Ваш голос теперь явно должен  исказиться  Smiley
Осталось только запустить skype. Совершить тестовый вызов и в ранее запущеном "Регуляторе громкости PulseAudio" на вкладке запись, там где skype, выбрать "Монитор или встроенное  аудиоустройство Analog stereo".   coolsmiley
P.S. скайп и любое другое приложение должно работать через pulse audio

Документация:
По SoX http://sox.sourceforge.net/soxformat.html#index
Recording Audio from Pulseaudio using pacat (a.k.a. parec) and sox http://grangerx.wordpress.com/2009/08/03/fedora-11-recording-audio-from-pulseaudio-using-parec-and-sox/
PulseAudio https://wiki.ubuntu.com/PulseAudio
How-to: gtk-RecordMyDesktop and Pulseaudio record sound http://www.youtube.com/watch?v=S8E5nnhlKe8

суббота, 15 января 2011 г.

толковый ман по torrent web GUI


« : 13 Января 2011, 18:49:30 »
Процитировать


Наваял скрипт автоматической установки rTorrent клиента с веб-интерейсом из исходников.

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

Итак начнем:

1. создадим новый файл и обзовем его, к примеру, rtorrent_installer.sh
поместим внутрь следующее:
Код:
#!/bin/sh

apt-get update && apt-get -y install apache2 php5 php5-cgi php5-cli libapache2-mod-php5 php5-common php5-xmlrpc php5-curl libapache2-mod-scgi curl checkinstall subversion build-essential make autoconf autotools-dev automake libcurl4-openssl-dev libtool libsigc++-2.0-dev pkg-config libncurses5-dev libcppunit-dev screen

mkdir -m 777 $HOME/source_rtorrent

source_dir=$HOME/source_rtorrent

cat << EOF >> /etc/apache2/sites-available/default


ServerName *
ServerAdmin rutorrent@localhost
DocumentRoot /var/www/rutorrent
ServerPath /var/www/rutorrent
       
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
       

ErrorLog /var/log/apache2/www.rutorrent.log
CustomLog /var/log/apache2/www.rutorrent.log common

EOF

echo "SCGIMount /RPC2 127.0.0.1:5000" >> /etc/apache2/httpd.conf
a2dissite default
a2ensite default
a2enmod scgi
/etc/init.d/apache2 restart

cd $source_dir
wget -P $source_dir http://libtorrent.rakshasa.no/downloads/libtorrent-0.12.6.tar.gz && tar -vxzf libtorrent-0.12.6.tar.gz
wget -P $source_dir http://libtorrent.rakshasa.no/downloads/rtorrent-0.8.6.tar.gz && tar -vxzf rtorrent-0.8.6.tar.gz

svn co https://xmlrpc-c.svn.sourceforge.net/svnroot/xmlrpc-c/advanced $source_dir/xmlrpc-c
cd $source_dir/xmlrpc-c
./configure --prefix=/usr
make
make install

cd $source_dir/libtorrent-0.12.6
./configure --prefix=/usr
make
make install

cd $source_dir/rtorrent-0.8.6
./autogen.sh
./configure --with-xmlrpc-c --prefix=/usr
make
make install

cd /var/www
svn co http://rutorrent.googlecode.com/svn/trunk/rutorrent
cd /var/www/rutorrent/plugins
svn co http://rutorrent.googlecode.com/svn/trunk/plugins/cookies
svn co http://rutorrent.googlecode.com/svn/trunk/plugins/create
svn co http://rutorrent.googlecode.com/svn/trunk/plugins/diskspace
svn co http://rutorrent.googlecode.com/svn/trunk/plugins/edit
svn co http://rutorrent.googlecode.com/svn/trunk/plugins/erasedata
svn co http://rutorrent.googlecode.com/svn/trunk/plugins/retrackers
svn co http://rutorrent.googlecode.com/svn/trunk/plugins/tracklabels
svn co http://rutorrent.googlecode.com/svn/trunk/plugins/trafic
chown -R root\: /var/www/rutorrent
chmod -R 777 /var/www/rutorrent

echo "Будете ли вы использовать удаленный доступ к веб-интерфейсу?"
remote_read() {
   echo -n "Введите y/n: "
   remote_check
}
remote_yes() {
cat << EOF > /var/www/rutorrent/.htaccess
order allow,deny
allow from all

AuthUserFile /var/www/rutorrent/.htpasswd
AuthGroupFile /dev/null
AuthName "Please auth"
AuthType Basic
require valid-user

Satisfy all
EOF
}
remote_no() {
cat << EOF > /var/www/rutorrent/.htaccess
order deny,allow
deny from all
allow from 127.0.0.1
EOF
}
remote_check() {
   read ans_remote
   case $ans_remote in
      y) remote_yes
      ;;
      n) remote_no
      ;;
      *) remote_read
      ;;
   esac
}
remote_read

if [ "$ans_remote" = "y" ]; then
   echo "\nДоступ к веб-интерфейсу rutorrent будет осуществляться по логину и паролю."
   htuser_read() {
      echo -n "Введите логин пользователя: "
      htuser_check
   }
   htuser_check() {
      read htuser
      if [ -z $htuser ]; then
         htuser_read
      fi
   }
   htuser_read

   htpass_read() {
      echo -n "Введите пароль пользователя:"
      htpass_check
   }
   htpass_check() {
      stty -echo
      read htpass
      stty echo
      echo ""
      if [ -z $htpass ]; then
         htpass_read
      fi
   }
   htpass_read

   htpasswd -cbs /var/www/rutorrent/.htpasswd $htuser $htpass
fi

down_dir_read() {
   echo -n "Укажите папку для закачек: "
   down_dir_check
}
down_dir_check() {
   read down_dir
   if [ -z $down_dir ]; then
      down_dir_read
   fi
}
down_dir_read

mkdir -m 777 -p $down_dir
mkdir -m 777 -p $HOME/rtorrent/session

cat << EOF > $HOME/.rtorrent.rc
port_range = 6881-6991
port_random = no
check_hash = no
directory = $down_dir
session = $HOME/rtorrent/session
http_proxy =
encryption = allow_incoming,enable_retry
upload_rate = 0
download_rate = 0
min_peers = 1
max_peers = 200
min_peers_seed = 1
max_peers_seed = 200
max_uploads = 400
max_uploads_div = 0
max_downloads_div = 0
max_uploads_global = 1000
max_downloads_global = 1000
enable_trackers = yes
max_file_size = -1
use_udp_trackers = yes
dht = auto
dht_port = 6881
scgi_port = 127.0.0.1:5000
execute = {sh,-c,/usr/bin/php /var/www/rutorrent/php/initplugins.php tom &}
EOF


if [ "$ans_remote" = "y" ]; then
cat << EOF > /etc/init.d/rtorrent
#!/bin/sh

ans=\$1
case \$ans in
start)
   /etc/init.d/rtorrentd
;;
stop)
   killall -w rtorrent
;;
status)
   ps -AF | grep --color=always rtorrent | grep -v grep
;;
adduser)
   while [ -z \`echo \$htuser\` ]; do
      echo -n "Введите логин пользователя:"
      read htuser
      echo ""
   done

   while [ -z \`echo \$htpass\` ]; do
      echo -n "Введите пароль пользователя:"
      stty -echo
      read htpass
      stty echo
      echo ""
   done

   htpasswd -bs /var/www/rutorrent/.htpasswd \$htuser \$htpass
;;
restart)
   kill \`screen -ls | grep rtorrent | awk -F. '{print \$1}'\` > /dev/null 2>&1 && /etc/init.d/rtorrentd
;;
*)
   echo "Usage: /etc/init.d/rtorrent {start|stop|restart|status|adduser}"
   exit 1
;;
esac
EOF
else
cat << EOF > /etc/init.d/rtorrent
#!/bin/sh

ans=\$1
case \$ans in
start)
   /etc/init.d/rtorrentd
;;
stop)
   killall -w rtorrent
;;
status)
   ps -AF | grep --color=always rtorrent | grep -v grep
;;
restart)
   kill \`screen -ls | grep rtorrent | awk -F. '{print \$1}'\` > /dev/null 2>&1 && /etc/init.d/rtorrentd
;;
*)
   echo "Usage: /etc/init.d/rtorrent {start|stop|restart|status}"
   exit 1
;;
esac
EOF
fi

cat << EOF > /etc/init.d/rtorrentd
#!/bin/sh
screen -A -m -d -S rtorrent /usr/bin/rtorrent -n -o import=$HOME/.rtorrent.rc
EOF

chmod +x /etc/init.d/rtorrent
chmod +x /etc/init.d/rtorrentd

echo "Запускать rtorrent при запуске системы?"
readans2() {
   echo -n "Введите y/n: "
   ans2_check
}
ans2_yes() {
   ln -s /etc/init.d/rtorrentd /etc/rc2.d/S98rtorrentd
}
ans2_no() {
   echo ""
}
ans2_check() {
   read ans2
   case $ans2 in
      y)
         ans2_yes
      ;;
      n)
         ans2_no
      ;;
      *)
         readans2
      ;;
   esac
}
readans2

/etc/init.d/rtorrentd
сделаем файл исполняемым
sudo chmod +x rtorrent_installer.sh

2. запускаем инсталляцию
sudo ./rtorrent_installer.sh

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

3. теперь примем решение, будем ли мы удаленно управлять нашим торрент-клиентом или нам это не интересно и мы будем только из дому с ним работать

4. если на предидущий вопрос мы ответили утвердительно, то доступ к веб-интерфейсу управления торрент-клиентом будет запаролен, поэтому на запрос логина вводим логин, на запрос пароля вводим пароль (при вводе символы на экране не отображаются)

5. указываем папку куда по-умолчанию сохранять закачки

6. теперь нужно ответить на вопрос хотим ли мы автоматически запускать торрент-клиент при запуске системы или нет

7. теперь можно зайти на веб-интерфейс http://localhost/rutorrent и если в логе вы не увидели ни одной ошибки как на скрине ниже, значит все работает как надо!


УРА!!! Happy End!

===========================

для управления запуском/остановкой и т.д. используйте
/etc/init.d/rtorrent {start|stop|restart|status|adduser}

Пользователь решил продолжить мысль 14 Января 2011, 12:42:55:
подправил скрипт, что б пока не укажешь логин и пароль для доступа к интерфейсу и папку для сохранения закачек скрипт дальше не отработает

Пользователь решил продолжить мысль 14 Января 2011, 21:33:00:
дописал скрипт, что б был выбор будет ли удаленный доступ или нет

команды. на память


Очень полезные команды Linux на одном листе

пятница, 14 января 2011 г.

whois - ip, dns инфо

user@host:/home/user# whois google.ru
% By submitting a query to RIPN's Whois Service
% you agree to abide by the following terms of use:
% http://www.ripn.net/about/servpol.html#3.2 (in Russian)
% http://www.ripn.net/about/en/servpol.html#3.2 (in English).

domain:     GOOGLE.RU
nserver:    ns1.google.com.
nserver:    ns2.google.com.
nserver:    ns3.google.com.
nserver:    ns4.google.com.
state:      REGISTERED, DELEGATED, VERIFIED
org:        Google Inc
phone:      +1 650 330 0100
fax-no:     +1 650 618 8571
e-mail:     dns-admin@google.com
e-mail:     ccops@markmonitor.com
registrar:  RUCENTER-REG-RIPN
created:    2004.03.04
paid-till:  2011.03.05
source:     TCI

Last updated on 2011.01.14 13:55:46 MSK/MSD

Работаем с файловой системой удаленно

sudo apt-get install sshfs
команда id от пользователя, от имени которого будем работать.

sshfs user@192.168.x.x:/home/user /home/user/dir -o idmap=user -o uid=1000 -o gid=1000

смотрим, какие порты в системе открыты

lsof -Pni4 | grep LISTEN

ssh brute force. Закроем двери

Никогда не думал, что мой домашний комп кому-то понадобиться... Сегодня глянул логи auth.log и упал на землю - 700 записей с неудачными попытками авторизироваться к моему компу по ssh!
  Первым делом я полез в конфиг ssh и изменил параметр:
ListenAddress 0.0.0.0 на ListenAddress х.х.х.х (указал интерфейс с которого принимать запросы)
  Первое что мне показал гугл было:
iptables -A INPUT -p tcp -m state --state NEW --dport 22 -m recent --update --seconds 20 -j DROP
iptables -A INPUT -p tcp -m state --state NEW --dport 22 -m recent --set -j ACCEPT
  И еще:
apt-get install fail2ban
/etc/fail2ban/jail.conf


полезная программуля denyhosts, кладёт нехорошие айпишники в /etc/hosts.deny и отсылает отчёт об этом на мыло.

понедельник, 10 января 2011 г.

Жизнь без GUI или работа в командной строке

Поставил не так давно серверную ОС графики естественно там нет. Сеть настроил, NAT, web, squid, samba.
А вот с принтером не все так просто...
Случайно удалил принтер. поставил так:

lpadmin -p Photosmart_C3100 -E -v socket://127.0.0.1:632 -P /path/to/ppd -u allow:all


lpadmin -d Photosmart_C3100 - добавил его по умолчанию
lpstat -p
lpstat -d - проверяем))

Удаляем принтер:

lpadmin -x HP-Photosmart-3100


lpq - просмотр очереди печати
lprm - удаление из очереди

http://ru.wikibooks.org/wiki/Ubuntu

How to print on remote Ubuntu machine via samba

sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.backup
 gedit /etc/samba/smb.conf
Find the following lines
...
 # printing = cups
 # printcap name = cups
 ...
and uncomment them.
printing = cups
 printcap name = cups
Restart cups server
sudo /etc/init.d/cups restart

воскресенье, 9 января 2011 г.

консоль и торрент

apt-get install deluge-common deluge-webui deluge-console

apt-get install deluge
deluge --ui web&
Web интерфейс работает по порту 8112.
Заходим через браузер на нужный сервер по этому порту.
Пароль по умолчанию - deluge

сканирование с командной строки

root@share:/home/ur4a# scanimage --format=tiff > /home/ur4a/share/001.tif

На основе статьи: http://www.bible-mda.ru/soft/scanning/scanning-linux.html

среда, 5 января 2011 г.

snmp+mrtg

Небходима библиотека: apt-get install gcc
http://www.net-snmp.org качаем последнюю версию snmp.
$ sudo su
# cd /путь до папки куда распаковали содержимое
# ./configure - далее отвечаем на вопросы.
этот конфиг проверен лично мной и используется. ссылка в конце статьи.

sudo gedit /etc/mrtg.cfg:
######################################################################
# Multi Router Traffic Grapher -- Sample Configuration File
######################################################################
# This file is for use with mrtg-2.5.4c
# Global configuration

RunAsDaemon: yes
LogDir: /var/log/mrtg
WorkDir: /var/www/mrtg
WriteExpires: Yes
EnableIPv6: no
#HtmlDir: /var/www/mrtg
#ImageDir: /var/www/mrtg #images

###########################
# Сетевой интерфейс маршрутизатора

Title[wlan0]: Output interface
PNGTitle[wlan0]: Interface to local #Internet
MaxBytes[wlan0]: 64000
AbsMax[wlan0]: 128000
Options[wlan0]: growright, bits
SetEnv[wlan0]: MRTG_INT_IP="192.168.1.1" MRTG_INT_DESCR="wlan0"
Target[wlan0]: 2:public@localhost:
PageTop[wlan0]: < h1 >
Output interface< /h1 >
YLegend[wlan0]: bits/s
ShortLegend[wlan0]: b/s
Legend1[wlan0]: Incoming Traffic
Legend2[wlan0]: Outgoing Traffic
Legend3[wlan0]: Maximum Incoming Traffic
Legend4[wlan0]: Maximum Outgoing Traffic
LegendI[wlan0]:  In:
LegendO[wlan0]:  Out:
WithPeak[wlan0]: ymwd

# Сетевой интерфейс маршрутизатора

Title[eth0]: Output interface
PNGTitle[eth0]: Interface to Internet
MaxBytes[eth0]: 64000
AbsMax[eth0]: 128000
Options[eth0]: growright, bits
SetEnv[eth0]: MRTG_INT_IP="93.170.13.118" MRTG_INT_DESCR="eth0"
Target[eth0]: 2:public@localhost:
PageTop[eth0]: < h1 > Output interface< / h1 >
YLegend[eth0]: bits/s
ShortLegend[eth0]: b/s
Legend1[eth0]: Incoming Traffic
Legend2[eth0]: Outgoing Traffic
Legend3[eth0]: Maximum Incoming Traffic
Legend4[eth0]: Maximum Outgoing Traffic
LegendI[eth0]:  In:
LegendO[eth0]:  Out:
WithPeak[eth0]: ymwd

###########################
# CPU

LoadMIBs: /usr/share/snmp/mibs/UCD-SNMP-MIB.txt
Target[cpu]:ssCpuRawUser.0&ssCpuRawUser.0:public@127.0.0.1+ssCpuRawSystem.0&ssCpuRawSystem.0:public@127.0.0.1+ssCpuRawNice.0&ssCpuRawNice.0:public@127.0.0.1
RouterUptime[cpu]: public@127.0.0.1
MaxBytes[cpu]: 100
Title[cpu]: CPU Load
PageTop[cpu]: < H1 >Active CPU Load %< / H1 >
Unscaled[cpu]: ymwd
ShortLegend[cpu]: %
YLegend[cpu]: CPU Utilization
Legend1[cpu]: Active CPU in % (Load)
Legend2[cpu]:
Legend3[cpu]:
Legend4[cpu]:
LegendI[cpu]: Active
LegendO[cpu]:
Options[cpu]: growright,nopercent

###########################
# Memory

LoadMIBs: /usr/share/snmp/mibs/HOST-RESOURCES-MIB.txt
Target[mem]: .1.3.6.1.4.1.2021.4.6.0&.1.3.6.1.4.1.2021.4.6.0:public@localhost
PageTop[mem]: < H1 >Free Memory< / H1 >
Options[mem]: nopercent,growright,gauge,noinfo
Title[mem]: Free Memory
MaxBytes[mem]: 1000000
kMG[mem]: k,M,G,T,P,X
YLegend[mem]: bytes
ShortLegend[mem]: bytes
LegendI[mem]: Free Memory:
LegendO[mem]:
Legend1[mem]: Free memory, not including swap, in bytes
sudo indexmaker /etc/mrtg.cfg > /var/www/mrtg/index.html

моя статистика: http://darvin.info-lan.me/mrtg

snort - ip пакеты

# apt-get install snort
# gedit /etc/snort/snort.conf
var HOME_NET 192.168.1.0/24
вывод инфы с определенного устройства: # snort -vd -i wlan0

вторник, 4 января 2011 г.

iptables. filter

# iptables -t filter -F
# iptables -t filter -X


программа> колонка правил> действие (в данном примере очистка правил в колонке "Фильтр")
Далее примеры:
# iptables -t filter -A INPUT -i eth0 -p tcp --dport 111:65535 -j DROP
iptables -t filter -A INPUT -d 127.0.0.1 -i lo -j ACCEPT

Утилита iptables-save & iptables-restore первая выводит правила на консоль, вторая восстанавливает данные из файла.

# iptables-save > fw.rules
# cat fw.rules


sudo gedit /etc/iptables.rules

eth0 -интернет
wlan0 - локалка
#################


# Generated by iptables-save v1.3.6 on Tue May 6 21:15:27 2008
*nat
:PREROUTING ACCEPT [1521:139658]
:POSTROUTING ACCEPT [10:1372]
:OUTPUT ACCEPT [66:5753]
-A PREROUTING -d ! 192.168.1.0/255.255.255.0 -i wlan0 -p tcp -m multiport --dports 80,8080 -j DNAT --to-destination 192.168.1.1:3128
-A POSTROUTING -o eth0 -j MASQUERADE
COMMIT
*filter
:INPUT ACCEPT [28890:12820098]
:FORWARD ACCEPT [22:3088]
:OUTPUT ACCEPT [30305:14410374]
-A INPUT -i eth0 -p tcp -m tcp --dport 21 -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --dport 5222 -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --dport 5060 -j ACCEPT
-A INPUT -i eth0 !wlan0 -p tcp -m tcp --tcp-flags FIN,SYN,ACK SYN -j REJECT --reject-with icmp-port-unreachable
-A FORWARD -o eth0 !wlan0 -p tcp -j DROP
COMMIT


########################

# Generated by iptables-save v1.3.6 on Tue May 6 21:15:27 2008
*filter
:INPUT ACCEPT [782:109309]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [1035:267913]
-A INPUT -i eth0 -p tcp -m tcp --dport 21 -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --dport 23 -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --dport 5222 -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --dport 5060 -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --dport 1:20 -j DROP
-A INPUT -i eth0 -p tcp -m tcp --dport 81:5221 -j DROP
-A INPUT -i wlan0 -p tcp -m tcp --dport 1:65535 -j ACCEPT
COMMIT

*nat
:PREROUTING ACCEPT [1521:139658]
:POSTROUTING ACCEPT [10:1372]
:OUTPUT ACCEPT [66:5753]
-A PREROUTING -d ! 192.168.1.0/255.255.255.0 -i wlan0 -p tcp -m multiport --dports 80,8080 -j DNAT --to-destination 192.168.1.1:3128
-A POSTROUTING -o eth0 -j MASQUERADE
COMMIT

########################
Теперь для внешнего мира открыты порты 21, 80, 5222, 5060, а для локалки работает полноценно NAT

суббота, 1 января 2011 г.

samba+user


Сначала создаем группы пользователей на сервере
groupadd admins
groupadd usrs
Затем создаем пользователей и включаем их в соответствующие группы
useradd -M -g admins -c "комментарий" user1
...
useradd -M -g admins -c "комментарий" usern
-M означает что создаваемые пользователи будут созданы без создания домашнего каталога в каталоге /home.
-g группа в которую будет помещен пользователь.
-c комментарий.
Точно также заводим пользователей в группу usrs
useradd -M -g usrs -c "комментарий" usr1
...
useradd -M -g usrs -c "комментарий" usrn
Задаем пароли для вновь созданных пользователей
passwd < имя_пользователя >
добавляем этих пользователей в Samba
smbpasswd -a < имя_пользователя >
и разрешаем пользователей
smbpasswd -e < имя_пользователя >

Теперь переходим к файлу /etc/samba/smb.conf. Привожу свой итоговый файл конфигурации.
[global]
dos charset = CP866
unix charset = KOI8-R
encrypt password = yes
smb passwd file = /etc/samba/smbpasswd
max log size = 50
wins serwer = IP-адрес сервера
socket options =TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
server string = Super-Puper Linux Server :)))
security = user
os level = 20
load printers =yes
log file = /var/log/samba/%m.log
workgroup = имя_группы
dns proxy = no
[FS]
path = /mnt/data/FS
comment = "Catalog FS"
read only = No
force group = +admins
directory mask = 0777
create mask = 0777
[CB]
path = /mnt/data/CB
comment = "Catalog CB"
read only = No
force group = +admins
directory mask = 0777
create mask = 0777
Рассмотрим что означает каждая опция.
Опция dos charset = CP866 задает с каким набором символов Samba, будет "разговаривать" с клиентами DOS.
Опция unix charset = KOI8-R задает в какой кодировке Samba, будет хранить файлы на сервере. Samba должна знать как конвертировать текст в кодировку используемую другими клиентами. Здесь я должен заметить что при установке ASPLinux я выбрал локаль по умолчанию CP1251. Так как пользователями samba будут windows-клиенты то эта установка в сочетании с dos charset и unix charset без проблем позволяет пользователям создавать на сетевом ресурсе файлы с русскими именами. И на сервере отображаться эти файлы будут также русскими буквами. Конечно вы можете использовать другую кодировку.
Опция encrypt password = yes означает что пароли будут передаваться по сети в зашифрованном виде. Следующие три параметра я описывать не буду, думаю интуитивно они понятны.
Строка socket options =TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192 присутствовала в файле созданном по умолчанию и я не стал ее менять, она отвечает за сетевое соединение между клиентом и сервером и об этом параметре можно почитать в man smb.conf.
Параметр server string задает комментарий который будет выводиться например в Проводнике для этого сервера.
Параметр security = user означает что аутентификация пользователей на сервере samba будет проходить на основании полученных от клиента имени пользователя и пароля. Существуют и другие значения параметра security.
Парметр os level задает с кем Samba ассоциирует себя в сети. Значение 20 это значение по умолчанию, при этом Samba считет себя STAND ALONE сервером. Чем выше значение os level тем выше роль сервера в сети. Если вы делаете контроллер домена на Samba то os level должен быть ну например 65.
Строка load printers означает что если у вас на сервере будет устанолен принтер, то он будет виден в сети.
Следующие две строки интуитивно понятны, скажу только что %m.log означает что в соответствующем каталоге для каждого пользователя стучащегося в Samba будет вестись отдельный логфайл с именем пользователя.
Строка dns proxy = no говорит что у меня в сети уже есть dns сервер с которым Samba будет общаться и прокси мне не нужен. Возможно эту строку можно и вообще не писать.
Перейдем к описанию ресурсов.
path это путь к каталогу ресурса. comment - комментарий, read only = No означает что ресурс не является каталогом только для чтения. Вместо этого параметра могут использоваться его синонимы, но нужно внимательно прочитать в man smb.conf что они означают, есть много нюансов.
Параметр force group самый интересный. Его присутствие решает проблему описанную в официальном HOWTO когда файлы созданные одним пользователем не могут изменяться другими. Для этого вводится параметр force group и все файлы создаваемые или редактируемые разными пользователями будут иметь группу владельца указанную в парметре force group. Наряду с этим параметром применяется параметр force user, но в моем случае применение этого параметра приводило к тому что члены группы usrs получали такие же права как и admins и мне пришлось его исключить и оставить только force users = +admins
По поводу плюсика:
Точно перевести мне не удалось, по-этому привожу фрагмент из man smb.conf, без перевода. Этот плюсик мне очень помог получить то что нужно.
Цитата из man smb.conf
In Samba 2.0.5 and above this parameter has extended functionality in the following way. If the group name listed here has a '+' character prepended to it then the current user accessing the share only has the primary group default assigned to this group if they are already assigned as a member of that group. This allows an administrator to decide that only users who are already in a particular group will create files with group ownership set to that group. This gives a finer granularity of ownership assignment. For example, the setting force group = +sys means that only users who are already in group sys will have their default primary group assigned to sys when accessing this Samba share. All other users will retain their ordinary primary group.
If the force user parameter is also set the group specified in force group will override the primary group set in force user.
Default: force group =
Example: force group = agroup
Конец цитаты.
Параметр directory mask задает какие права доступа будут иметь вновь создаваемые директории, а параметр create mask задает тоже самое, но для вновь создаваемых файлов.
Теперь перейдем непосредственно к каталогам. Для размещения файловых ресурсов я создал специальный каталог /mnt/data. В этом каталоге от имени пользователя входящего в группу admins создаем каталоги которые будут являться шарами со следующими правами доступа:
drwxrwx-wx 6 user1 admins 4096 Дек 7 09:07 .
drwxrwxrwx 3 root root 4096 Дек 7 11:57 ..
drwxrwx-wx 3 user1 admins 4096 Дек 7 14:58 FS
drwxrwx-wx 3 user1 admins 4096 Дек 7 15:03 CB
Почему нужно создавать каталоги и файлы от имени определенного пользователя? Смотри выше про параметр force group. Как видите я снял атрибут чтение для "остальных" пользователей с каталогов FS и CB. В результате пользователь на рабочей станции Windows имеет возможность подключить сетевые диски FS и CB но при попытке войти внутрь получает сообщение о том что у него нет доступа. Однако прикладная программа может работать с файлами на этих сетевых дисках.
Снятие атрибута чтение в первой строке приведенного примера необязательно.

h265.sh

#!/bin/bash file="../mp4" if [ -d $file ]; then         echo "  Директория существует :-) "         for i in *.mp4; do f...