Использование Google Authenticator на двух устройствах
Двухфакторная верификация набирает всё большую популярность, и самая, пожалуй популярная программа для дополнительной верификации - Google Authenticator. Работу с Google Authenticator поддерживает сама Google, Amazon и многие другие. Однако представим на минуту, что вы вдруг потеряли свой мобильник, или забыли дома, а на работе срочно нужно войти в аккаунт с двухфакторной авторизацией - всегда желательно иметь запасной вариант на всякий случай.
Как правило, у многих сейчас есть несколько Android устройств - например телефон и планшет. Было бы здорово настроить Google Authenticator на двух устройствах одновременно. Однако если вы регистрируете одно устройство - второе зарегистрированное ранее перестает работать. Как же сделать так чтобы иметь запасное устройство для авторизации?
Выход оказался прост - в момент регистрации устройства, когда на экране показан штрих-код, одновременно сканируем штрих-код двумя устройствами. Оба устройства будут зарегистрированы для двухфакторной авторизации и оба смогут быть использованы для входа. Задача решена!
Xubuntu
Решил переставить OS на рабочем ноутбуке. Пришло время снести установленный на соседнем разделе хакинтош - пользоваться которым було абсолютно нереально в силу тормозов. Во общем-то давно хотел попробовать вместо Ubuntu - которую я каждый раз затем несколькими телодвижениями превращаю, по сути в ту же xubuntu, так как ставлю xfce в качестве работчего стола, поставить сразу xubuntu из коробки.
Я надеялся что установка xubuntu позволит ибавиться от проблем с конфликтами с сервисами gnome - каждый раз приходится все подкручивать, подстраивать...
Результаты оказались неоднозначными.
В xubuntu меньше версий чем в Ubuntu - на ноутбуке стояла Ubuntu 12.10 - сейчас стоит Xubuntu 12.04,версии 12.10 Xubuntu в природе не существует а версия 13.04 работать на моём ноутбуке почему-то не захотела. Зато действительно из коробки заработал переключатель языков. Тема рабочего стола по умолчанию косит под макос, немного не так как я привык, но пока оставлю пока так, вполне удобно.
В целом эксперимент оказался вполне успешным. Хотя, конечно, проигрывает xubuntu по многим параметрам своей старшей сестре, зато ничего лишнего. Ну не идёт у меня юнити, ну не моё это.
Кастомный php на сервере с Cpanel и WHM
Потребовалось обновить PHP на сервере с Cpanel и WHM. Делается это просто, но вот незадача, один из сайтов на сервере закодирован ionCube и максимальная версия PHP а которой он может работать 5.2.
Но мне кровь из носа нужна была версия 5.3. Однако, оказалось, что решить проблему не так уж и сложно, достаточно скомпилировать собственный cgi модуль php.
Указанная техника подойдет для пользователей shared хостингов где есть доступ к компилятору но нет рутовых прав, например это "официальный" способ для клентов masterhost.
Алгоритм получился следующий:
1. закачиваем на сайт скрипт с phpinfo(); и смотрим "configure command" секцию - это нужно чтобы не придумывать опции компиляции вручную - это долго и муторно. В моем случае получилось следующее:
'./configure' '--disable-fileinfo' '--disable-phar' '--enable-bcmath' '--enable-calendar' '--enable-exif' '--enable-ftp' '--enable-gd-native-ttf' '--enable-libxml' '--enable-magic-quotes' '--enable-mbstring' '--enable-pdo=shared' '--enable-sockets' '--enable-zip' '--prefix=/usr/local' '--with-apxs2=/usr/local/apache/bin/apxs' '--with-bz2' '--with-curl=/opt/curlssl/' '--with-freetype-dir=/usr' '--with-gd' '--with-gettext' '--with-imap=/opt/php_with_imap_client/' '--with-imap-ssl=/usr' '--with-jpeg-dir=/usr' '--with-kerberos' '--with-libdir=lib64' '--with-libxml-dir=/opt/xml2/' '--with-mcrypt=/opt/libmcrypt/' '--with-mysql=/usr' '--with-mysql-sock=/var/lib/mysql/mysql.sock' '--with-mysqli=/usr/bin/mysql_config' '--with-openssl=/usr' '--with-openssl-dir=/usr' '--with-pcre-regex=/opt/pcre' '--with-pdo-mysql=shared' '--with-pdo-sqlite=shared' '--with-pic' '--with-png-dir=/usr' '--with-sqlite=shared' '--with-xpm-dir=/usr' '--with-xsl=/opt/xslt/' '--with-zlib' '--with-zlib-dir=/usr'
Выкусываем из этой строки '--with-apxs2=/usr/local/apache/bin/apxs' - это команда сборки php как модуля Apache - мы собираем CGI поэтому она нам не нужна.
заменяем '--prefix=/usr/local' на '--prefix=/home/username/php' - это путь по которому команда make install сложит готовые файлы, мы же не хотим устанавливать php глобально.
Возможно, вы захотите внести какие-либо еще изменения в команду конфигурации.
2. Скачиваем нужную версию php с http://www.php.net/downloads.php
3. Распаковывем и в папке с исходниками запускаем нашу команду конфигурации и сборки.
./configure ...[то что мы подготовили на шаге 1]
make
make install
4. Если все прошло успешно то в папке /home/username/php/bin появится файл php-cgi eго нужно скопировать в папку ~/public_html/cgi-bin/ с именем php: cp "~/php/bin/php-cgi ~/public-html/cgi-bin/php"
5. В .htaccess помещаем следуюшие строчки:
Action php-script /cgi-bin/php
AddHandler php-script .php
Вуаля, новая версия php установлена на сервер. Обратите внимание, все операции можно проделать без рутового доступа, что может пригодится пользователям shared хостингов которым не нравится невозможность вносить изменения в php.ini
php.ini я положил в /home/username/php/lib/php.ini, скопировал существующий из /usr/php/lib/php.ini и внес в него необходимые мне изменения.
Вобщем, все оказалось не так уж и страшно, спасибо masterhost за вот эту инструкцию.
Как подключить Андроид 4+ как USB накопитель в Ubuntu
Правильный ответ - никак. Вернее я пока не нашел способа как это сделать. Похоже в этим в четверке есть некоторые проблемы, так как флеш память в Android 4+ отформатирована не FAT32 а ext3.
Но мне всё же очень хочется увидеть файловую систему из файлового менеджера под Linux - на выручку нам приходит fuse (нашел здесь)
1. На компьютере с Юбунту ставим необходимые пакеты:
$ sudo add-apt-repository ppa:webupd8team/unstable
$ sudo apt-get update
$ sudo apt-get install -y go-mtpfs
2. Подключаем телефон в режим MTP
3. Монтируем устройство как папку:
$ go-mtpfs /media/MyAndroid &
Теперь файловая система на флешке доступна в папке /media/MyAndroid, что и требовалось.