samba, пароль к шаре

4 июля 2014
Рубрика: Linux, vanoc.ru
Теги: , ,

vanoc

Столкнулся с тем, что windows начала просить пароль на доступ к шаре.

В логах /var/log/samba/log.smbd следующее
smbd/server.c:1165(main)
standard input is not a socket, assuming -D option
smbd/server.c:500(smbd_open_one_socket)
smbd_open_once_socket: open_socket_in: Address already in use

лог /var/log/samba/log.nmbd показывает
nmbd/nmbd.c:885(main)
standard input is not a socket, assuming -D option

Проблема оказалась в winbindе. А именно не соответствии имен групп linux и windows. Т.е. группа шары выглядела так:
# ls -l /mnt/lv10/Photoarchive/
total 4
drwxrwx---+ 2 root 16777729 4096 Apr 24 2013 Архив

где gid=16777729 (domain users)

Лечится рестартом winbind
service winbind restart

Dropbox 4 гб бесплатно

27 мая 2014
Рубрика: How-to, vanoc.ru
Теги: ,

vanoc

Для того чтобы получить от Dropbox 4 гб бесплатно, потребуется телефон с андроидом на борту. За установку и настройку приложения Mailbox, Dropbox подарит 1гб. А установив приложение Carousel получите еще 3гб. Если данные приложения не понравятся их можно смело удалять. Бесплатные 4 гб останутся.

Автозапуск виртуальной машины в Citrix XenServer 6.2

3 марта 2014
Рубрика: Linux, vanoc.ru
Теги:

vanoc

Кратенько. Для 6 версии из XenCenter настроить автозапуск уже не получится, однако можно сделать из консоли.

Для начала добавляем эту возможность для пула.
# xe pool-list
uuid ( RO) : 8a3b99c9-c4e9-802c-1298-794d939fb999
# xe pool-param-set uuid=8a3b99c9-c4e9-802c-1298-794d939fb999 other-config:auto_poweron=true

Теперь для виртуалок, которым требуется автозапуск.
xe vm-list
xe vm-param-set uuid=... other-config:auto_poweron=true

MTP на примере Acer CloudMobile S500

1 февраля 2014
Рубрика: Arch, vanoc.ru
Теги:

vanoc

Потребовалось получить доступ к флешке подключенной в телефон Acer CloudMobile S500. Краткая выдержка арч вики с некоторыми комментариями.

Подключаем телефон к компу. В консоли смотрим результат вывода lsusb

% lsusb
...
Bus 001 Device 004: ID 0502:33aa Acer, Inc.
...

Вот и телефон.

Копируем или правим прям там же файл.
% sudo cp /usr/lib/udev/rules.d/69-libmtp.rules /etc/udev/rules.d/
% sudo vim /etc/udev/rules.d/69-libmtp.rules

Находим строки, в которых упоминается Acer, дублируем одну из них. Изменяем значения idVendor и idProduct на значения нашего аппарата.
# Acer CloudMobile S500
ATTR{idVendor}=="0502", ATTR{idProduct}=="33aa", SYMLINK+="libmtp-%k", ENV{ID_MTP_DEVICE}="1", ENV{ID_MEDIA_PLAYER}="1"

Затем
sudo udevadm control --reload
либо перезагружаемся.

Устанавливаем пакет для работы с mtp
sudo pacman -S mtpfs

Редактируем /etc/fuse.conf Раскомментируем строку
user_allow_other

Создадим какую-нибудь временную директорию и смонтируем в нее телефон
mkdir /tmp/YOURMOUNTPOINT
mtpfs -o allow_other /tmp/YOURMOUNTPOINT

Размонтируем
fusermount -u /tmp/YOURMOUNTPOINT

Для удобства можно создать алиасы в ~/.bashrc
alias android-connect="mkdir /tmp/YOURMOUNTPOINT && mtpfs -o allow_other /tmp/YOURMOUNTPOINT"
alias android-disconnect="fusermount -u /mnt/YOURMOUNTPOINT"

DLNA IPTV xupnpd

9 декабря 2013
Рубрика: Linux, Ubuntu, vanoc.ru
Теги: , ,

vanoc

Купили брату телевизор Sony Bravia. Выбирал специально, чтоб ТВ умел проигрывать много форматов видео и знал что такое DLNA. Однако упустил IPTV. Странно, но ТВ его совсем не умеет проигрывать. Удивительно, что Sony не позаботились об этом. В итоге IPTV таки удалось получить, пусть и через DLNA.

Настраивается установкой xupnpd. Можно поставить программу на роутер. В интернете есть мануалы по ентой установке. У меня же стояла задача более простая. Заставить ТВ показывать iptv не важно откуда. В итоге поставил xupnpd на ноут с ubuntu, благо на оффсайте есть уже собранный пакет для нее.

Правим конфиг файл /etc/xupnpd.lua
Заменяем интерфейс на свой, через который выходим в интернет.

Запускать следует через sudo.
sudo xupnpd

Либо можно утянуть последнюю версию с svn

sudo apt-get install subversion
svn co http://tsdemuxer.googlecode.com/svn/trunk/xupnpd
cd xupnpd/src/
make

Не забываем поправить конфиг файл xupnpd.lua
Следует заменить интерфейс на свой, через который выходим в интернет.

Запускаем программу
chmod +x xupnpd
./xupnpd

Дальше настройки можно править через веб-интерфейс 192.168.X.X:4044, где 192.168.X.X ваш ip.
Там же можно загрузить свой плейлист.m3u

Ввиду того, что я смотрю iptv от тетушки Шуры и потоки там все http-шные, мне не пришлось ставить udpxy. Единственный нюанс, который заставил меня поломать голову, из-за того, что при выборе канала трансляция запускалась, но картинки не было, заключается в том, что в настройках Default mime type следует указать mpeg_ts (cfg.default_mime_type=’mpeg_ts’).

cron flock

19 ноября 2013
Рубрика: Linux, vanoc.ru
Теги: , ,

vanoc

Дабы не плодить процессы в кроне.

flock -n /tmp/flock.lock -c "rsync -avz -e ssh 'name@host:/path' /path"

flock устанавливает блокировку на указанный файл, в случае успеха выполняет нашу команду.

SSH уведомление об авторизации

13 ноября 2013
Рубрика: Linux, vanoc.ru
Теги: ,

vanoc

Решил реализовать уведомление на почту о том, что кто-то авторизовался в ssh. Сперва решение выглядело вот так:

echo -e "Remote connection from\t $SSH_CONNECTION \nLogin $USER" | /bin/mail -s "[SSH] Login on $(hostname)" мояпочта@сайт.ru

Добавляем эту строку в /etc/ssh/sshrc (в случае, если этого файла нет, а его скорее всего не будет, его следует создать)

У этого решения есть существенный недостаток — письма будут отсылаться после любой аутентификации по ssh. Даже если это вы залогинились, письмо все равно вам придет. Дабы не получать массу писем и ввиду того, что я начал изучать python, решил попробовать написать на нем. Получился скрипт сравнивающий с нашего ли ip залогинились, в противном случае шлет email на указанную почту.


#!/usr/bin/env python

import smtplib, os, platform
from email.MIMEMultipart import MIMEMultipart
from email.MIMEText import MIMEText

server = smtplib.SMTP('smtp.сайт.ru', 25)

sender = 'root@'+platform.node()
to = 'мояпочта@сайт.ru'

ip = 'xxx.xxx.xxx.xxx'
sship = os.environ['SSH_CONNECTION']
loginname = os.environ['LOGNAME']

msg = MIMEMultipart()
msg['Subject'] = '[SSH] Login on ' + platform.node()
msg['From'] = sender
msg['To'] = to
text = 'Remote connection from\t' + sship + '\nLogin ' + loginname
msg.attach (MIMEText(text, 'plain'))

textmail = msg.as_string()

if ip in sship:
        print ('hi. Welcome!')
else:
        print ('who is it?')
        server.sendmail(sender, to, textmail)

Сохраняем скрипт в файл, например, noticessh.py и прописываем путь к нему в /etc/ssh/sshrc. К сожалению не со всеми версиями второго питона работает, так же мешает авторизовываться по sftp в случае, если sftp работает через ssh. FileZilla, например, ругается «Оut of memory!» Надо бы допилить, но на данный момент к сожалению знаний по питону не достаточно.

301 редирект с домена на домен

13 ноября 2013
Рубрика: How-to, vanoc.ru
Теги:

vanoc

Вчера столкнулся с таким интересным явлением, когда у совершенно стороннего чужого домена в качестве А записи в DNS с был указан ip нашего ресурса. Т.о. этот совершенно чужой домен показывал контент нашего портала и даже индексировался поисковиками. Для чего это было сделано не знаю, возможно ради повышения ТИЦ и PR своего домена.

Исправил это безобразие записью в .htaccess

Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} чужойсайт.ru
RewriteRule ^(.*)$ http://нашсайт.ru/ [R=301,L]

mtr в текстовый файл

2 октября 2013
Рубрика: Linux, vanoc.ru
Теги:

vanoc

Я уже писал о My traceroute. Сегодня мне понадобилось получить вывод удобный для копирования. Оказывается все уже придумано.

mtr --report --report-cycles 10 ya.ru > ya.ru.txt

разные значения du и df

28 августа 2013
Рубрика: Linux, vanoc.ru
Теги: , ,

vanoc

Закончилось место в /var, cron начал ругаться и сыпать на почту алармы. Смотрю df -h место занято на 99%. Делаю du -hs /var места свободного как минимум 50%.

$ lsof | grep deleted
cmasm2d 3291 root 1w REG 253,1 476834734 82306 /var/spool/compaq/cma.log.1 (deleted)

и таких строк очень много.

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

$ ls -l /proc/3291/fd/
итого 0
lr-x------ 1 root root 64 Авг 28 12:16 0 -> /dev/null
l-wx------ 1 root root 64 Авг 28 12:16 1 -> /var/spool/compaq/cma.log.1 (deleted)
l-wx------ 1 root root 64 Авг 28 12:16 2 -> /var/spool/compaq/cma.log.1 (deleted)
lrwx------ 1 root root 64 Авг 28 12:16 3 -> /dev/hpilo/d0ccb6

cat /dev/null > /proc/3291/fd/1

Файл останется открытым, но размер у него будет 0 байт

Теперь df -h покажет более приятную глазу картинку.

Если есть еще варианты решения, буду благодарен.

Почему вообще du и df показывают разный объем доступного дискового пространства?

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

Когда программа использует файл, а вы его удалили, файл на самом деле не удаляется из файловой системы, пока программа не прекратит его использовать. Однако файл тут же удаляется из списка каталога. Вы можете легко это видеть при помощи такой программы, как more. Предположим, что у вас имеется файл, настолько большой, что его присутствие влияет на вывод команд du и df. (Так как в настоящее время диски могут быть настолько большими, это может быть очень большой файл!) Если вы удалите этот файл в процессе работы more над ним, на команду more это не повлияет и она не сообщит, что не может просматривать файл. Запись о файле просто удалена из каталога, так что другие программы или пользователи не смогут к нему обратиться. du покажет, что файл исчез — она просматривает дерево каталогов, а файла там не будет. df показывает, что он все еще здесь, так как файловая система знает, что more все еще использует это пространство. Как только вы закончите работу с more, команды du и df придут в соответствие.

http://www.freebsd.org/doc/ru_RU.KOI8-R/books/faq/disks.html#idp77037104