Как стать автором
Обновить
0
0

Пользователь

Отправить сообщение

Идеальный корпоративный почтовый клиент

Время на прочтение26 мин
Количество просмотров177K
Когда возникает необходимость настроить почтовую систему для компании в первую очередь на ум приходит использовать решения от Microsoft — Exchange и Outlook. К сожалению, эти решения не обеспечивают достаточной гибкости и многим не подходят по разным параметрам.

Хорошо, но что же использовать вместо них, ведь хочется такой же красивой и прозрачной для пользователя работы с почтой, которую обеспечивает протокол MAPI? Небольшая перетасовычка и на свет появляется вполне очевидное и на самом деле безальтернативное решение — IMAP. IMAP, слава Богу, в современном мире в той или иной степени поддерживают чуть ли не все почтовые клиенты, так что выбор у нас огромен. Но если присмотреться внимательней, то он сужается до весьма скромного множества из одного-двух наименований.

Итак, нам бы хотелось:
  • Для начала — кросплатформенность. Глупо использовать стандартизированные технологии, но привязываться изначально к одной ОС, тогда уж проще сразу купить Exchange и навсегда забыть о какой-либо гибкости разворачиваемой инфраструктуры.
  • Полная поддержка IMAP и IMAP ACL. Второй пункт важен, т.к. без него нельзя будет организовать ни общих папок, ни передачу прав на различные операции с ящиком другим пользователям, а без этого в корпоративной почтовой системе никак.
  • Возможность централизованной настройки клиента через сервер.
  • Гибкость настроек клиента и удобство в использовании.
Недолгий поиск в интернете может поведать, что единственный вариант, который можно было бы рассмотреть поближе — это Mozilla Thunderbird. Но вот вопрос: может ли Thunderbird предоставить весь необходимый функционал, чтобы можно было с лёгкостью заменить им связку Exchange и Outlook? Оказывается не только может, но и позволяет добиться куда как большего, чем просто банальное подражание продуктам Microsoft.

Мне интересно!
Всего голосов 191: ↑175 и ↓16+159
Комментарии238

URI — сложно о простом (Часть 1)

Время на прочтение12 мин
Количество просмотров299K
image

Привет хабр!

Появилось таки некоторое количество времени, и я решил написать сий пост, идея которого возникла уже давно.
Связан он будет будет с такой, казалось бы, простой вещью, как URI, детальному рассмотрению которой в рунете уделяется как-то мало внимания.

"Пфф, ссылки они и в Африке ссылки, чего тут разбираться?" — скажете вы, тогда я задам вопрос:

Что есть что и куда нас приведет?
  • http://example.com
  • www.example.com
  • //www.example.com
  • mailto:user@example.com

Если вы не знаете однозначного ответа или вам просто интересно и если вы не боитесь огромного количества трехбуквенных аббревиатур — милости прошу под кат.
Читать дальше →
Всего голосов 80: ↑77 и ↓3+74
Комментарии47

Инвентаризация компьютеров в сети не вставая со стула или OCS Inventory + GLPI

Время на прочтение11 мин
Количество просмотров180K

Всем доброго времени суток!


Как видно из заголовка, речь пойдет о двух программах:
1. Open Computers and Software Inventory
OCS-Inventory основан на распределяемых модулях, устанавливаемых на инвентаризируемые машины, которые отсылают подробную информацию о системе, подключенных устройствах и установленном ПО в выделенную базу данных.
Поддерживаются следующие OS: Microsoft Windows, Linux, *BSD, Sun Solaris, IBM AIX, HP-UX, MacOS X

2. GPLI — Guestion Libre de Parc Informatique
Проект предназначен для работы с базой данных IT и телекоммуникационного оборудования, установленного на предприятии. Также имеется возможность ведения учета расходных материалов и организации службы технической поддержки по расписанию и по заявкам пользователей.

На просторах сети интернет достаточно много информации о настройке данной связки, но мне не встретилось ни одного подробного how to, где были бы решены все вопросы с локализацией. Поэтому я изложу компиляцию найденых решений и собственных доработок.
Достали бухи? Прошу под кат!
Всего голосов 48: ↑44 и ↓4+40
Комментарии28

Создание новой виртуальной машины за одну минуту или «vagrant up!»

Время на прочтение3 мин
Количество просмотров85K
Vagrant
Те, кто раньше сталкивался с созданием виртуальных машин, представляют себе процесс и могут оценить его по времени. Нужно создать саму виртуальную машину, указать для неё необходимые параметры (размер и тип диска, количество оперативной памяти), после этого подключить установочный диск с операционной системой (будь то настоящий оптический привод или образ ISO), дождаться загрузки, запустить установку, дождаться её завершения, отключить установочный диск и перезагрузиться. На всё это может уйти около 20 минут — в каких-то случаях меньше, в каких-то больше, но всё равно это много времени. А если виртуальная машина по каким-то причинам будет удалена, то всё это придётся делать заново.

Vagrant — способ значительно упростить и убыстрить создание новых виртуальных машин. Вместо установочного диска используется специальный box-файл, который автоматически разворачивается в новое виртуальное окружение. После этого с сетевого интерфейса виртуальной машины могут быть перенаправлены порты, может быть выделен IP-адрес, может быть установлено и настроено необходимое ПО. Всё это указывается настройках Vagrant, которые подробно описаны в документации.

Vagrant работает в Linux, Mac OS X, Solaris и Windows.

К установке
Всего голосов 36: ↑28 и ↓8+20
Комментарии15

Настраиваем LAMP для работы в Windows через VirtualBox

Время на прочтение7 мин
Количество просмотров30K
Здравствуйте.

Статья из разряда – шоб для себя було, но, думаю, будет интересна многим.

Началось с того, что потребовалось мне в PHP работать с xlsx-файлом, что, по сути, переименованный zip. И вот как-то сложилось, что Денвер мне не понравился с самого начала изучения PHP. Не то чтоб он мне совсем не нравился, но хоть я большую часть времени и win_user, но вот получилось так, что люблю понимать, как оно работает и иметь возможность самостоятельной настройки. Поэтому Apache+PHP+MySQL настраивал на Windows самостоятельно. Первое время все ставил из exe и msi файлов, потом как-то перешел на zip-пакеты и даже стал понимать, что я там прописываю в conf и ini файлах. Но zip под Windows работать не захотел, при этом прекрасно работая под Ubuntu. Поковырявшись в «этих ваших интернетах» стало понятно, что zip под Windows это очень муторно. Видимо, просто я еще не созрел для понимания действий, описанных в мануалах, либо использовать готовые классы на php, но, опять же, с ними тоже не все так гладко.

Вывод очевиден — ставим Ubuntu, поднимаем LAMP и вперед, с песнями. Опыт работы в ось отличной от Windows вроде бы есть, но, как всегда, есть какое-нибудь «но». И, в данном случае, это то, что мне очень «ндравиться» — Windows 8.

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

Второй вариант — установить Ubuntu в VirtualBox, и при необходимости просто сворачивать окно с виртуалкой. Почти идеальный вариант. На стационаре с 8-ю ядрами, естественно, все отлично, а вот на ультрабуке с core i3 второго поколения и частотой 1300Мгц уже все не так прекрасно.

Да и Sublime Text под Windows мне нравится значительно больше, сугубо визуально.
Читать дальше →
Всего голосов 23: ↑10 и ↓13-3
Комментарии18

Основы работы с Wine для начинающих

Время на прочтение7 мин
Количество просмотров606K

Введение


Статья посвящена Wine и всем аспектам его использования. В сети находится очень
много информации, есть различные руководства по настройке и многое другое. Я
постараюсь объединить все для того чтобы любой человек смог достичь
максимального успеха, в пределах своих способностей и конечно возможности
программы. Итак — начнем.

Wine — это отдельная реализация Windows API, а не эмулятор, как большинство
думают. Не единожды повторялось, но и здесь будет уместно. Это и делает проект
уникальным и интересным для пользователей различных систем, открывает различные
пути для реализации своих идей. Уникальность заключается в том, что с помощью
этой программы можно запускать Windows приложения в Ubuntu и в других
Linux системах, а также во FreeBSD и в Mac OS X. Правда и тут есть
свои «подводные камни». Некоторые думают что будет легко перейти с одной
системы на другую, в данном случае мы рассматриваем Windows и Linux.

Заблуждение заключается в том что люди думают что у них получиться запустить из
под Wine различный софт, к которому они привыкли и им удобно в нем работать.
Как не крути просто так ничего не бывает. Чтобы заработал наш любимый софт под
Wine нужно попотеть, перечитать кучу руководств и взвесить этот объём
информация. Конечно не совсем софтом придется «пыжиться», но готовым надо быть ко всему. Проект Wine развивается очень быстро, но до стабильной работы ему
очень далеко. Но думаю что в скором будущем весь основной софт, а также игры
будут работать на нем стабильно.

Читать дальше →
Всего голосов 147: ↑122 и ↓25+97
Комментарии97

Необычное переполнение жесткого диска или как удалить миллионы файлов из одной папки

Время на прочтение4 мин
Количество просмотров158K

Предисловие


Скорей всего, матерым системным администраторам статья будет не очень интересна. В первую очередь она ориентирована на новичков, а также на людей, которые столкнулись с подобной проблемой — необходимостью удалить огромное количество файлов из одной папки в ОС Linux (Debian в моем случае), а также с закончившимся местом на диске, когда df -h выдает что почти 30% свободно.
Читать дальше →
Всего голосов 111: ↑107 и ↓4+103
Комментарии144

Так как же удалить миллионы файлов из одной папки?

Время на прочтение5 мин
Количество просмотров147K

Феерическая расстановка точек над i в вопросе удаления файлов из переполненной директории.

Прочитал статью Необычное переполнение жесткого диска или как удалить миллионы файлов из одной папки и очень удивился. Неужели в стандартном инструментарии Linux нет простых средств для работы с переполненными директориями и необходимо прибегать к столь низкоуровневым способам, как вызов getdents() напрямую.

Для тех, кто не в курсе проблемы, краткое описание: если вы случайно создали в одной директории огромное количество файлов без иерархии — т.е. от 5 млн файлов, лежащих в одной единственной плоской директории, то быстро удалить их не получится. Кроме того, не все утилиты в linux могут это сделать в принципе — либо будут сильно нагружать процессор/HDD, либо займут очень много памяти.

Так что я выделил время, организовал тестовый полигон и попробовал различные средства, как предложенные в комментариях, так и найденные в различных статьях и свои собственные.
Читать дальше →
Всего голосов 155: ↑145 и ↓10+135
Комментарии103

Установка и настройка KVM под управлением CentOS 6

Время на прочтение10 мин
Количество просмотров240K
Приветствую вас, Хабражители!

Сегодня хочу поделиться с вами одним из своих наработанных мануалов, который отточен многоразовым применением, про который с уверенностью могу сказать, что «точно работает!» без лишних танцев с бубном.
Ориентирована статья скорее на начинающих системных администраторов, чем на гуру (для них тут ничего нового нет :) ), и в ней я постараюсь раскрыть рабочий и довольно быстрый вариант развертывания сервера виртуальных машин, стараясь при этом охватись как можно больше нюансов и подводных камней.

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

Disclaimer
Поправьте, если не так, но в поиске я не нашел реализации данной задачи именно на CentOS с подробным описанием всех шагов для новичков.
Хорошая серия статей написана librarian, но они для Debian.
Естественно, для бывалых админов, в этом никакой проблемы нет, но повторюсь, моя задача — описать подробную инструкцию для новичков.

Вопрос: в Интернете есть множество руководств для установки Qemu KVM под CentOS, возразите вы, и чем же данная статья будет интересна?
Ответ: здесь описывается полный цикл установки и настройки необходимых для виртуализации компонентов, установка гостевых виртуальных машин (ВМ), настройка белой и серой сети для ВМ, а также некоторые аспекты, которые помогут упростить управление ВМ, используя проброс графики с удаленного сервера на свой ПК и запуском virt-manager.


Помните 7 шагов?
Другая 7-ка! Прошу под кат!
Всего голосов 36: ↑34 и ↓2+32
Комментарии44

Быстрая настройка резервного копирования под Linux и не только (UrBackup)

Время на прочтение4 мин
Количество просмотров66K

Примерно год назад у меня возникла «острая» необходимость перевести систему резервного копирования данных в корпоративной сети на бесплатные рельсы. До этого использовался платный продукт от Symantec, по нему, конечно, много нареканий, но он работал, хоть и не всегда справлялся. Как обычно, все надо было сделать «вчера», и я приступил к поиску вариантов.

Для начала начал искать решение для резервного копирования файлов, очевидным решением было простая настройка скриптов на Linux по cron, но это не очень удобное и надежное решение, если серверов более одного(а у меня их около 50-ти) и структура достаточно динамична. Тем более если инфраструктура смешанная, Linux + Windows. Хотелось что-нибудь простое в дальнейшем обслуживании и извлечении самих копий, например, переложить восстановление пользовательских файлов на группу поддержки. Порывшись пару часов в интернете, я наткнулся на интересный проект UrBackup, он удовлетворял всем моим условиям.
Читать дальше →
Всего голосов 12: ↑11 и ↓1+10
Комментарии15

Настройка файлового сервера Samba в корпоративной сети

Время на прочтение4 мин
Количество просмотров54K

Продолжая цикл статей про бюджетное резервное копирование данных в корпоративной сети, хочу предложить вашему вниманию, очередную статью по настройке файлового сервера Samba.
Для восстановления данных с сервера резервного копирования приходилось идти на сервер через веб-интерфейс и выкачивать оттуда необходимый архив с файлами, это удобно когда необходимая папка или файл не очень большие, но когда надо восстановить папку, объем которой превышает пару Гигабайт, например после крипто-вируса, это не так удобно. Для того чтобы нам получить прямой доступ к копиям данных, мы и поднимем сервер Samba на нашем бекап сервере.
Читать дальше →
Всего голосов 14: ↑10 и ↓4+6
Комментарии27

За кулисами Android: что-то, чего вы можете не знать

Время на прочтение14 мин
Количество просмотров150K


0. Оглавление


  • 1. Предисловие
  • 2. Хак eMMC памяти HTC Desire HD с целью изменения идентификационной информации телефона
  • 3. Создание телефона-оборотня с использованием криптографии
  • 4. Ложная безопасность: обзор угроз несанкционированного доступа к данным
  • 5. Заключение


1. Предисловие


Мобильные гаджеты стали неотъемлемой частью нашей повседневной жизни, мы доверяем им свои самые сокровенные тайны, а утрата такого устройства может привести к серьезным последствиям. Сегодня много внимания уделяется освещению вопросов мобильной безопасности: проводятся конференции, встречи, крупные игроки выпускают комплексные продукты для персональной и корпоративной защиты мобильных устройств. Но насколько такие средства эффективны, когда устройство уже утрачено? Насколько комфортны они в повседневном использовании – постоянные неудобства с дополнительным ПО, повышенный расход батареи, увеличенный риск системных ошибок. Какие советы можно дать беспокоящимся за сохранность своих мобильных данных? Не хранить ничего важного на смартфоне? Тогда зачем он такой нужен – не птичек же в космос отправлять, в самом деле?
Сегодня я хочу поговорить с вами об устройствах под управлением ОС Android, созданной глубокоуважаемой мною компанией Google. В качестве примера я использую неплохой смартфон прошлых лет от компании HTC – Desire HD. Почему его? Во-первых, именно с него мы начали свою исследовательскую деятельность в области безопасности Android-устройств, во-вторых – это все еще актуальный смартфон с полным набором функций среднестатистического гуглофона. Он поддерживает все версии Android, в нем стандартный взгляд HTC на организацию файловой системы и стандартная же раскладка разделов внутренней памяти. В общем, идеальный тренажер для защиты и нападения.
С этим докладом я выступил на вот-вот только прошедшей конференции ZeroNights 2012 и теперь хочу презентовать его хабрасообществу. Надеюсь он будет вам интересен и даже немного полезен.
Читать дальше →
Всего голосов 108: ↑102 и ↓6+96
Комментарии33

Анатомия Огненного лиса

Время на прочтение5 мин
Количество просмотров14K
Захотел мой друг установить себе FireFox. И не просто установить, а так чтобы было «как у тебя». У FireFox есть встроенный инструмент, для публикации списка установленных дополнении. Я тут же им воспользовался и опубликовал свои дополнения. Но так как друг человек к ИТ не сильно близкий, хотя такой же ленивый, то куда-то там заходить, скачивать, устанавливать, настраивать ему совсем не хотелось. Говорит «зачем все это, у тебя же все на флешке, просто скопируй мне».

Пришлось призадуматься: просто скопировать нельзя, кроме настроек FireFox и его плагинов, там еще есть пароли, история посещении, избранное. Зачем ему знать по каких порносайтам я бродил. Вручную чистить не хочется. Хранится все это в файлах, а не в реестре — FireFox кроссплатформенный, а в Линуксе реестра, насколько я знаю, нет. Значит файлы, в которых это все хранится, надо попробовать заменить на файлы из свежеустановленного FireFox-а.

Задача-минимум: выяснить где FireFox хранить сохраненные пароли и историю.
Задача-максимум: составить общее мнение о назначении файлов в каталоге FireFox.

Предупреждаю сразу, все что удалось узнать — это не результат дизассемблирования, дебагинга, перевода манулов, анализа кода. Это простое сравнение каталогов, чтение в блокноте конфигов и эксперименты с заменой файлов у двух установленных FireFox-ов.
И что же там удалось выяснить?
Всего голосов 67: ↑37 и ↓30+7
Комментарии22

Файловое строение SQLite

Время на прочтение4 мин
Количество просмотров39K
В данном посте база SQLite будет рассмотрена в разрезе, вы можете найти информацию о строении файла базы данных, о представлении данных в памяти, а также информацию о структуре и файловом представлении В – дерева.
Читать дальше →
Всего голосов 29: ↑23 и ↓6+17
Комментарии21

Хранение деревьев в базе данных. Часть первая, теоретическая

Время на прочтение4 мин
Количество просмотров130K
Полгода назад написал бандл ClosureTable для фреймворка Laravel 3. Поводом для написания стала вот эта замечательная презентация Билла Карвина о способах хранения и обработки иерархических данных в MySQL с использованием PHP.

Итак. Существует несколько шаблонов проектирования баз данных для хранения и обработки иерархических структур:
  • Adjacency List («список смежности»)
  • Materialized Path («материализованный путь»)
  • Nested Sets («вложенные множества»)
  • Closure Table («таблица связей»)

Читать дальше →
Всего голосов 47: ↑41 и ↓6+35
Комментарии66

Шифруем и перешифровываем LUKS без потери данных

Время на прочтение3 мин
Количество просмотров36K

Введение

Если вы когда-либо задумывались о шифровании данных на дисках уже после того, как у вас накопилось их приличное количество, вы, вероятно, расстраивались, прочитав о необходимости переноса данных перед созданием шифрованного раздела и после. Перенос 500 ГБ туда и обратно не представляет никакой особой трудности, такой объем можно временно загрузить даже в облако, но если речь идет о шифровании 6 винчестеров по 4 ТБ каждый, задача заметно усложняется. По какой-то причине, возможность шифрования и перешифровывания томов LUKS без потери данных (in-place re-encryption) слабо освещена в интернете, хотя для этого есть две утилиты: cryptsetup-reencrypt, входящая в состав cryptsetup с 2012 года, и сторонняя luksipc, появившаяся на год раньше. Обе утилиты выполняют, в общем-то, одно и то же — шифруют раздел, если он не был шифрован, либо перешифровывают уже существующий с другими параметрами. Для своих нужд я воспользовался первой, официальной.

Как это работает?

Предположим, у вас типичная разметка диска: один раздел, начинается с 1 МиБ (выравнивание для 4КиБ-секторов), заканчивается в конце диска.
image

Заголовок LUKS располагается в начале, перед зашифрованными данными. Для заголовка требуется минимум 2056 512-байтных секторов, т.е. чуть больше 1МиБ. Места перед началом раздела нам явно недостаточно, поэтому сначала нужно уменьшить размер файловой системы с ее конца, чтобы cryptsetup-reencrypt перенес блоки правее, в конец диска, освободив таким образом место в начале раздела для LUKS-заголовка. Конечный размер заголовка зависит от длины ключа, количества слотов для парольных фраз и прочих параметров, поэтому я рекомендую быть рачительным и отвести под заголовок 4 МиБ.
image
Читать дальше →
Всего голосов 19: ↑17 и ↓2+15
Комментарии16

Перенос Android на HDD в Mele A100 (и похожих, Allwinner A10)

Время на прочтение4 мин
Количество просмотров20K


Досталось мне такое вот устройство, Mele A100 с битой nand памятью, работало после прошивки пару перезагрузок, потом не загружалось (bootloop).

Первое, что пришло в голову — подключить консольку, но ничего информативного туда не было. Второе, что пришло в голову, после непродолжительного гугления, это записать прошивку на sd карту, на 4pda такое есть, но у меня была только карточка на 32G с моего мобильника, покупать я не хотел, да и скорость будет не очень. Третье, что пришло в голову, после продолжительного рассматривания платы в поиске usb внутри (так как андроид детектил больше 3х usb, а наружу есть только 3), взгляд зацепился за sata неприпаяный, жесткий то у меня есть.
Читать дальше →
Всего голосов 21: ↑18 и ↓3+15
Комментарии4

Частые ошибки программирования на Bash (продолжение)

Время на прочтение6 мин
Количество просмотров39K
Продолжаю знакомить сообщество с переводом Bash Pitfalls.
Часть первая.
Первоначальная публикация перевода.

11. cat file | sed s/foo/bar/ > file


Нельзя читать из файла и писать в него в одном и том же конвейере. В зависимости от того, как построен конвейер, файл может обнулиться (или оказаться усечённым до размера, равному объёму буфера, выделяемого операционной системой для конвейера), или неограниченно увеличиваться до тех пор, пока он не займёт всё доступное пространство на диске, или не достигнет ограничения на размер файла, заданного операционной системой или квотой, и т.д.
Что же делать?
Всего голосов 74: ↑70 и ↓4+66
Комментарии19

Частые ошибки программирования на Bash (окончание)

Время на прочтение3 мин
Количество просмотров21K
Окончание перевода Bash Pitfalls. Предыдущие части доступны в блоге «Оболочки» (часть 1, часть 2) и в моём блоге.

22. echo "Hello World!"


Проблема в том, что в интерактивной оболочке Bash эта команда вызовет ошибку:
bash: !": event not found

Это происходит потому, что при установках по умолчанию Bash выполняет подстановку истории команд в стиле csh с использованием восклицательного знака. В скриптах такой проблемы нет, только в интерактивной оболочке.

Очевидное решение здесь не работает:
$ echo "hi\!"
hi\!

какое же тогда неочевидное решение?
Всего голосов 49: ↑46 и ↓3+43
Комментарии7

Частые ошибки программирования на Bash

Время на прочтение9 мин
Количество просмотров95K
Качество скриптов, используемых для автоматизации и оптимизации работы системы, является залогом ее стабильности и долголетия, а также сохраняет время и нервы администратора этой системы. Несмотря на кажущуюся примитивность bash как языка программирования, он полон подводных камней и хитрых течений, способных значительно подпортить настроение как разработчику, так и администратору.

Большинство имеющихся руководств посвящено тому, как надо писать. Я же расскажу о том, как писать НЕ надо :-)

Данный текст является вольным переводом вики-страницы «Bash pitfalls» по состоянию на 13 декабря 2008 года. В силу викиобразности исходника, этот перевод может отличаться от оригинала. Поскольку объем текста слишком велик для публикации целиком, он будет публиковаться частями.

Поехали!
Всего голосов 79: ↑76 и ↓3+73
Комментарии25

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность