Перенос почты IMAP
Обновлено: 29.06.2025
Перенос почты при смене почтового сервера
При решении вопроса о смене почтового сервера часто на первый план выходит вопрос: а что сделать, чтобы почта из старого почтового сервера (например, Dovecot) перекочевала в новый (например, Kerio Connect). Или использовалась почта на стороннем хостинге, и было принято решение о переносе всей почты на другой сервер (в том числе, на другую платформу, MS -> Unix, например).
Если вся почта принималась по POP3 - вопросов особенно не будет, в этом случае проблема возникнет при тотальной смене почтовых клиентов. А мы рассмотрим случай, когда не очень большая организация работает с почтой по протоколу IMAP. В таком случае вопрос будет стоять следующим образом:
- Либо находим утилиту по переконвертированию писем со старой на новую платформу...
- либо делаем архив почты, а на новом сервере почта будет "с нуля"...
- либо (наш выбор) в цикле (или просто по очереди) автоматизированно копировать письма IMAP со старого почтового сервера на новый с помощью программы Imapsync.
В любом случае, вопросов будет много, и процесс смены почтового сервера - задача не из разряда легких. Это очень заранее запланированное мероприятие, с предварительными проверками и пр. Сразу становится понятным, почему в начале статьи я уточнил, что организация небольшая. В крупных компаниях, возможно, такой подготовленный штат системных администраторов, что они придумают что-то более быстродействующее. Для нас надо чтобы было попроще и без серьезных переконвертаций.
Imapsync
Итак, Imapsync (http://freshmeat.net/projects/imapsync).
Страница документации: http://ks.lamiral.info/imapsync/README
Imapsync поддерживает сохранение статуса "прочтено, не прочтено, удалено", вложенные почтовые папки и др. Imapsync написан на Perl и может быть запущен практически на любом компьютере, не обязательно запускать его на сервере. Т.е. вы можете произвести перенос почты удаленно по отношению и к старому, и к новому почтовым серверам. Вам не надо иметь доступ к консоли. Все, что необходимо - это протокол IMAP.
Схема действия такая:
- на новом почтовом сервере создаем учетные записи пользователей с паролями (пароли могут отличаться от паролей на старом почтовом сервере).
-
запускаем imapsync.
imapsync \
где:
--host1 <host1> --user1 <user1> --password1 <secret1> \
--host2 <host2> --user2 <user2> --password2 <secret2>
<host1> - почтовый сервер, откуда копируем почту,
<user1> - логин почтового аккаунта,
<secret1> - пароль почтового аккаунта,
<host2> - почтовый сервер, куда копируем почту,
<user2> - логин почтового аккаунта,
<secret2> - пароль почтового аккаунта
Опций на самом деле гораздо больше, эти - минимум. Можно указывать, использовать SSL или нет, минимальный размер писем, которые будут скопированы и много что еще. Я использовал только минимум опций - для переноса 10 почтовых ящиков этого может быть достаточно.
Если пароль содержит символ доллара ($), то выполнение из командной строки может привести к ошибке логина. В этой ситуации надо просто экранировать символ $ прямо в пароле.
Пример: вместо
--password1 Gmw$psdtRR
надо писать
--password1 Gmw\$psdtRR
Скорее всего, у вас не 10, а 30 и больше почтовых ящиков. В таких случаях ручной ввод команд - муторно и неудобно. Разработчик предлагает вариант:
Создаем файл с логинами/паролями file.txt:
user001_1;password001_1;user001_2;password001_2
user002_1;password002_1;user002_2;password002_2
user003_1;password003_1;user003_2;password003_2
user004_1;password004_1;user004_2;password004_2
user005_1;password005_1;user005_2;password005_2 ...
В Unix скрипт может выглядеть примерно так:
{ while IFS=';' read u1 p1 u2 p2; do
imapsync --host1 imap.side1.org --user1 "$u1" --password1 "$p1" \
--host2 imap.side2.org --user2 "$u2" --password2 "$p2"
done ; } < file.txt
Обратите внимание, что есть вероятность, что ваш почтовый сервер не поддерживается Imapsync. Это лучше всего проверить лично, не полагаясь только на официальный список совместимых почтовых серверов.
Также отмечу, что все глобальные действия, такие как перенос важной почты, надо делать имея резервную копию и проверив сначала на тестовом почтовом аккаунте.
Я использовал эту программу для переноса 15 почтовых ящиков общим объемом 4 Гб. Метод себя оправдал, но занял приличное время. Я бы не стал использовать данную программу для переноса больших объемов почты, например, почтовых ящиков по 3+ Гб. Если у вас именно такие крупные почтовые ящики, и их много, вам нужно что-то другое, более быстрое, но, возможно, более платное!
Восстановление прошивки Asus WL-500gP
Обновлено: 29.06.2025Предыстория
Есть у меня роутер Asus WL-500gP (не V2!), купленный в 2008 году и прошитый тогда же на DD-WRT. Все это время он работал как первичный маршрутизатор в паре с повторителем Asus WL-320gE. Но вот пришлось менять провайдера, я был в отпуске, поэтому когда инженер из Билайна сказал заказчику, что DD-WRT с Билайном не работает, было принято решение сбросить прошивку на родную, от Asus. У инженера это не вышло, странным образом также сменился пароль от роутера, так что к моему срочному выходу из отпуска я получил: Asus WL-500gP с DD-WRT, неудачно прошитый прошивкой от Asus WL-500gP V2, в результате чего приветствие на странице 192.168.1.1 гласило что мой роутер V2!!!!, неизвестный пароль и почему-то в добавок невозможность этот пароль сбросить на дефолтные "root/admin" для DD-WRT всеми известными мне методами. Короче, ужас и далеко не тихий!
День ковыряний с прошивками, методами 30/30/30, tftp и пр. ничего не дали. Все что я получил - непонятно что с прошивкой, которая сразу спрашивала пароль (дефолтные не подходили, ни от Asus, ни от DD-WRT, ни старый пароль, который был до инженера). Да и до кучи, после нервных метаний я уже не был уверен, что роутер вообще заработает.
Переписка с сервисом Asus ничего не дала, кроме ссылки на инструкцию по сбросу DD-WRT. Но инженер из сервиса не сдавался и пытался мне помочь, даже когда я сказал, что скорее всего делу кирдык и предложил ему не мучить себя попытками по электронной почте решить мою проблему. Сервису Asus в лице Виктора Култюгина ставлю 5 из 5, несмотря на то, что проблему я решил иначе...
После этого я позвонил в сервис-центр на Невском, 168 (название не помню) в Санкт-Петербурге с просьбой сделать "волшебство". Там мне ответили, что если стандартные методы сброса пароля у меня не прошли, то они бессильны... Бог им судья, я окончательно расстроился и решил идти до конца.
short PIN 9
Я держу в руках некогда культовый, а сейчас неработающий роутер Asus WL-500gP. Я стал искать по ключевым словам типа "hard reset asus wl-500gP", "full reset Asus WL-500gP" и т.п. К стыду Яндекса, он мне не помог. Но помог Google. Я нашел страницу с описанием, какие контакты на микросхеме надо замкнуть на массу, чтобы оживить роутер. Ключевые слова для поиска "short PIN 9 asus wl-500gP".
Прокомментирую это руководство применительно к моему случаю:
WL500g Premium:
* open the case (screws are under the rubbers) (guarantee lost)
* remove the cover inside with a little screwdriver
* short PIN 9 or the marked solder point to ground (e.g. to the outside of the power connector) with a cable and a needle.
* turn the WL500gP on for approx 15 seconds.
* turn the WL500gP off
* remove the short circuit bridge
* turn the WL500gP on by holding the reset button
* now, you can flash again via the ASUS-Recovery-Tool
Я так и не нашел, что эе это за таинственный SHORT CIRCUIT BRIDGE. Поисковики предлагали варианты с диодными мостами и пр. Ничего такого на плате Asus WL-500gP я не нашел!
Поэтому я сделал так:
- Отключил питание роутера
- Открыл его внутренности как показано на фото выше
- По очереди замкнул 9 контакт и еще один (в кружочке на рисунке) на массу (минус на маме для блока питания).
- Включил на 15 сек
- Выключил
- Включил... Подумал... и применил метод 30/30/30...
- После этого скачал прошивку с сайта Asus (WL500gp_1.9.7.7_TW.trx) и по инструкции отсюда залил ее на роутер (утилита Asus Firmware Restoration оказалась бессильна):
tftp -i 192.168.1.1 put c:tempWL500gp_1.9.7.7_TW.trx
- Подождал для верности 10 минут, выключил, включил и о чудо! Все заработало!
... Вот сижу и думаю, зачем мне такая старая прошивка от Asus, когда есть DD-WRT :)
PS: Для тех, кто читает между строк, просмотрите следующие руководства и форумы:
- pin 9
- почитайте предупреждения в секции "Asus WL500G Premium"
- tftp: wl500g.info
- метод 30/30/30 (Hard reset)
- http://dd-wrt.com
Удачи и не бойтесь экспериментов! Правда, и неудач тоже не бойтесь :)
PS: линейка "легендарных" Asus-ов уходит, любителям хардкора и запредельных мощностей пора переходить на Mikrotik.
Настройка Dovecot - размышления по ходу отладки
Обновлено: 29.06.2025Сюда я буду помещать замечания о проблемах и особенностях, которые мне встретились, во время установки и эксплуатации почтового сервера в классической связке "Dovecot + MySQL + Postfix". Этот набор я ставил уже не раз, поэтому описанные ниже особенности не затрагивают "косяков" отдельно взятого компьютера. Начало летописи идет с сентября 2011 года.
Обращаю отдельное внимание на то, что синтаксис Dovecot 2.* отличается от синтаксиса Dovecot 1.*. Большинство руководств по настройке написаны давно либо являют собой реинкарнацию старых или чужих мануалов. Поэтому сначала постарайтесь понять, для какой версии Dovecot вы читаете руководство по установке.
Цель: создать простой и легко переносимый почтовый сервер POP/IMAP/SMTP безо всяких наворотов типа антиспама, антивируса и пр. Поэтому никаких пакетов, кроме Postfix, MySQL и Dovecot я не использую.
Перенос такого почтового сервера будет включать в себя копирование конфига Dovecot (2 файла), Postfix (4-6 файлов), MySQL (папка базы данных), папки почты пользователей.
-
Сразу приведу несколько внешних ресурсов, которые мне пригодились:
http://blog.scaytrase.ru/linux/301/
http://wiki2.dovecot.org/AuthDatabase/SQL
http://wiki2.dovecot.org/MailLocation
http://maint.unona.ru/doc/dovecot2.shtml
http://workaround.org/ispmail/lenny
http://redhat-club.org/
-
Dovecot - это фактически способ хранить почту на сервере и предоставить доступ к этой почте авторизованным пользователям. Чтобы Dovecot получил эту почту, ее надо ему передать. Для этого есть МТА, в моем случае Postfix. Проще говоря, сам по себе Dovecot - один в поле не воин.
-
Я не могу пошагово выполнять действия из чужих руководств - мне неинтересно и непознавательно. И то, и другое одинаково весомо. Поэтому при начальной установке я не использовал за основу каких-либо пошаговых руководств по настройке Dovecot. Внешние ресурсы понадобились чуть позже и их роль была примерно такая: есть идея в голове или вопрос - ищу похожие примеры. В моем подходе есть минус - если вы не разбираетесь (или не хотите копаться) в логах, проблемах и пр. - вы гарантированно получите кучу проблем! Придется подгонять то, что у вас есть, к тому, что вы найдете потом. Также можно получить полную кашу в голове от того. что у вас ничего не работает, а копипастить настройки из пошаговых руководств уже поздно! Но есть и плюс - когда вы прочувствуете основные настройки, поймете, как они связаны (порой, скорее ментально ;)) друг с другом, вы получите именно то, что нужно вам, а не было нужно кому-то, кто в свою очередь списал что-то у других.
-
Dovecot версии 2.0.beta6 я устанавливаю на CentOS 6 x86 на VDS-хостинге. Dovecot будет брать информацию о виртуальных пользователях из базы данных MySQL, установленной заранее и связанной с Postfix. Т.е. сейчас буду ставить финальный штрих - Dovecot, привязывать его к уже существующей базу данных MySQL и Postfix.
-
Для хранения и отправки почты используется специально созданный пользователь vmail (gid 500, uid 500). От имени этого пользователя Dovecot будет сохранять почту в почтовые ящики, а Postfix будет отправлять почту.
-
Устанавливаю Dovecot через менеджер пакетов yum. Не экспериментируйте с make, configure и прочими оптимизациями. Воспроизвести такую установку и отладку, а также обновить будет на порядок сложнее, если вы, конечно, не очень профессиональный администратор Linux.
yum install dovecot
yum install dovecot-mysql
-
На уже настроенной конфигурации я целый день не мог понять, почему отправленные письма (причем авторизация прошла успешно) не приходят в почтовый ящик. Оказалось, все дело в том, что в правах доступа на лог-файл /var/log/dovecot.log стоял root, а надо было vmail.
Postfix при отправке ДОЛЖЕН иметь возможность ЗАПИСИ в этот лог-файл. Postfix осуществляет авторизацию средствами Dovecot от имени непривилегированной учетной записи vmail. Я думал, что можно потом разобраться, все-таки лог - это просто лог. А вот и нет! Как только я поменял права доступа на лог-файл, я получил сразу все письма, отправленные за вчерашний день!
-
Для исключения лишних проблем при отладке, все пароли передаются открытым текстом, в базе данных хранятся также в открытом виде. Это, вообще говоря, не порядок.
-
Актуально для тех, у кого будет несколько виртуальных доменов на одном сервере, т.к. в этом случае у вас логин будет равняться "email@domain".
Во время обработки полученных логина и пароля, Dovecot может отбросить доменную часть логина и дальнейшая аутентификация не пройдет. Вопрос (как и решение) по этому поводу я разместил на форуме opennet. Проблема описана на странице http://wiki2.dovecot.org/AuthDatabase/SQL в абзаце:
By default MySQL does case-insensitive string comparisons, so you may have a problem if your users are logging with different as "user", "User" and "uSer". To fix this, you can make the SQL database return a "user" field, which makes Dovecot modify the username to the returned value. Note that if you're using separate user and domain fields, a common problem is that you're returning only the "user" field from the database. This drops out the domain from the username. So make sure you're returning a concatenated "user@domain" string or username/domain fields separately. See the examples below.
Решение этого: в файле /etc/dovecot/dovecot-mysql.conf изменить (если это необходимо) запрос пароля:
#Исходный запрос закомментирован
#password_query = SELECT username AS user,userpassword AS password FROM virtual_users WHERE username = '%n' AND userrealm = '%d' AND active='1'
password_query = SELECT username AS user,userrealm AS domain,userpassword AS password FROM virtual_users WHERE username = '%n' AND userrealm = '%d' AND active='1'
user_query = SELECT CONCAT(username,'@',userrealm) AS user, '500' AS uid, '500' AS gid FROM virtual_users WHERE username = '%n' AND userrealm = '%d' AND active='1'
-
Отдельно хочу сказать о проблеме, которая чуть не свела меня с ума. Привожу часть конфига /etc/dovecot/dovecot.conf
service auth {
unix_listener /var/spool/postfix/dovecot-auth {
user = postfix
group = postfix
mode = 0660
}
unix_listener auth-master {
user = vmail
group = vmail
mode = 0660
}
unix_listener auth-userdb {
user = vmail
group = vmail
mode = 0660
}
#user=root
}Обратите внимание на выделенную жирным закомментированный параметр
user=root
. Во время отладки авторизации Postfix через Dovecot, мне пришлось раскомментировать этот параметр, т.к. иначе постоянно были проблемы доступа к сокету. Потом я закомментировал его. Все должно работать без него. Чем меньше root, тем правильнее вы все настроили. -
Добавлено 04.04.2012. Специально не стал удалять предыдущий пункт (№10) - себе в назидание. Вся проблема с доступами к сокету, оказывается, просто в том, что по-умолчанию Dovecot предлагает сделать не так, как решил делать я. Вот как это предлагается в Dovecot по-умолчанию:
service auth {
И вот что должно соответствовать этому в файле /etc/postfix/main.cf:
unix_listener /var/spool/postfix/private/auth {
user = postfix
group = postfix
mode = 0660
}
...
smtpd_sasl_type = dovecot smtpd_sasl_path = private/auth
Я всегда считал (почему - вопрос интересный), чтоprivate/auth
это не часть пути, а типа условных слов "частный доступ/с авторизацией"!!! Нет, это просто фантастика! Сейчас полез все-таки прочитать про эту ерунду в/usr/share/doc/Postfix-2.6.6/README_FILES/SASL_README
. Со строки 181 я стал медленно сползать под стол:private/auth
- это относительный путь. Относительно пути до директории очереди Postfix, т.е./var/spool/postfix
. Господа, это только лишний раз доказывает, что где-то увиденное - не обязательно истина в последней инстанции. И мой сайт bozza.ru также может содержать опечатки и ошибки. Очень жаль, что никто не обратил на это внимание раньше. Но главное, что это стало ясно хотя бы сейчас, спустя месяцы и совершенно случайно... Я подкорректировал этот пункт в настройке Postfix. -
Добавлено 09.04.2012. Два дня пытался решить проблему, из-за которой не создавались папки почты. Я грешным делом подумал, что проблема в том, что
vmail:vmail
не имеет прав записи в папку/var
. Перенес папку почты из/var/vmail
в/vmail
- результата нет. Вот что было в лог-файле:
*************************************
imap-login: Info: Login: user=<test@virtual.local>, method=PLAIN, rip=192.168.2.113, lip=192.168.2.105, mpid=3284
imap: Debug: Loading modules from directory: /usr/lib/dovecot
imap: Debug: Module loaded: /usr/lib/dovecot/lib20_autocreate_plugin.so
imap: Debug: Added userdb setting: mail=maildir:/vmail/virtual.local/test
imap(test@virtual.local): Debug: Effective uid=5000, gid=5000, home=/vmail/virtual.local/test
imap(test@virtual.local): Debug: Home dir not found: /vmail/virtual.local/test
imap(test@virtual.local): Debug: maildir++: root=/vmail/virtual.local/test, index=, control=, inbox=/vmail/virtual.local/test
imap(test@virtual.local): Debug: Namespace : Permission lookup failed from /vmail/virtual.local/test
imap(test@virtual.local): Debug: Namespace : Using permissions from /vmail/virtual.local/test: mode=0700 gid=-1
imap(test@virtual.local): Error: user test@virtual.local: Initialization failed: Initializing mail storage from mail_location setting failed: mkdir(/vmail/virtua
l.local/test) failed: Permission denied (euid=5000(vmail) egid=5000(vmail) missing +w perm: /vmail, euid is not dir owner)
Apr 05 20:59:55 imap(test@virtual.local): Error: Invalid user settings. Refer to server log for more information.
*************************************Самое главное:
Permission denied (euid=5000(vmail) egid=5000(vmail) missing +w perm: /vmail, euid is not dir owner)
Я даже права 777 давал на папку
/vmail
- нет результата.
На форуме opennet.ru мне подсказали, что проблема может быть в том, что в CentOS 6 папки может не давать создавать SELinux. Отключил SELinux - все работает! -
Добавлено 28.04.2012. Вообще, может и не супер, но хранение паролей в открытом виде в базе данных дает максимальную степень простоты настройки и, самое главное, взаимодействия компонентов, таких как Dovecot, MySQL, Postfix, PostfixAdmin, Roundcube, возможно, и других тоже. Я не специализируюсь на почтовых серверах, поэтому вполне допускаю, что есть достаточно сработанные и удобные схемы шифрования паролей, типа CRAM-MD5 и пр. Если у вас, дорогие читатели, есть свой опыт - я только рад, если вы рискнете высказывать его вслух.
Настройка Dovecot
Обновлено: 30.08.2021Dovecot выполняет роль POP/IMAP почтового сервера. Фактически, он выполняет две функции:
- (основная) получает почту от MTA (Sendmail, Postfix и др.) и хранит ее на диске;
- (в моем случае) осуществляет авторизацию логина/пароля почтовых пользователей.
В данном руководстве пойдет речь о настройке Dovecot версии 2 как части классической связки "Dovecot + Postfix + MySQL + PostfixAdmin".
Настройка Postfix
Обновлено: 12.08.2021
Postfix стоит "на передовой" вашего почтового сервера. Именно он решает, что делать с почтой, которая попала к нему - Postfix может отдать ее на сохранение на локальной машине, переслать ее дальше или просто отбросить. Как правило, Postfix настраивается в связке с IMAP/POP сервером (например, Dovecot) и базой данных для хранения настроек, паролей пользователей и пр. (например, MySQL). В данном руководстве описывается настройка Postfix с прицелом именно на совместную работу с Dovecot и MySQL.
Что значит /dev/null 2>&1
Обновлено: 16.04.2025Шли бы вы, молодой человек, в /dev/null. Знать бы еще, куда кого-то только что послал...
Шифрование файлов Dropbox
Обновлено: 29.06.2025
Облачные хранилища данных, такие как Dropbox, более глобальный Amazon и др. предоставляют пользоватлям отличную возможность всегда иметь под рукой свои документы, фото или видео. Причем в последней редакции, с возможностью отката на предыдующие версии документов. Удобно? Бесспорно. А как насчет безопасности? Здесь можно выделить несколько нюансов:
- Ваши личные данные защищены от всего мира только вашим паролем, который вообще-то можно попытаться подобрать/угадать.
- Всегда есть вероятность, что в крупных и находящихся под постоянным прицелом сервисах онлайн-хранилищ рано или поздно найдут лазейку и ваши отсканированные права или паспорт утекут в мир.
- Когда вы, находясь на работе, запускаете Dropbox, то при этом на рабочий компьютер синхронизируются ВСЕ файлы (если они не отмечены как несинхронизируемые в интерфейсе Dropbox). Отмечать какие файлы синхронизировать, какие - нет, не всегда удобно. Вводить каждый день пароль от Dropbox может быть неудобным.
- Когды вы, придя к кому-то в гости, вынуждены подключить свой Dropbox, те файлы, что зашифрованы, никогда не будут доступны другим.
- Как выяснилось, верить словам майнтейнерам таких проектов, что "ваши файлы надежно зашифрованы и доступны только вам", нельзя. Ваши личные данные никто, кроме вас, не защитит.
Поэтому тема шифрования файлов на общедоступных сервисах так актуальна.
Шифрование файлов можно осуществлять двумя способами:
- Использование криптоконтейнера (например, TrueCrypt).
При этом после каждого сохранения маленького файлика будет синхронизироваться весь контейнер. А если это 1 Гб??? В общем, это хороший метод, но не для online-сервиса. - Шифровать каждый файл в отдельности.
Изменили маленький фалик - только его и обновили. Трафик минимальный, время синхронизации - тоже. Минус - если не шифровать имена файлов, можно привлечь повышенное внимание и лишнюю попытку к расшифровке, хоть бы и грубой силой.
Мы выберем второй метод - будем шифровать каждый файл в отдельности, при этом шифровать будем не только сами данные, но и имя файлов. Для этого испольуем программу BoxCryptor, которая "на лету" шифрует каждый файл по отдельности. Используется алгоритм AES-256. BoxCryptor монтирует новый локальный диск, ссылающийся на какую-либо папку, например, в каталоге Dropbox-а. При этом файлы в самой папке зашифрованы, а при работе через примонтированный диск эти же файлы доступны как обычно:
На рисунке видно, что при доступе через примонтированный диск S: с файлами можно работать как обычно. При этом в самой папке Dropbox эти файлы все время зашифрованы.
Доступ к зашифрованным данным приосходит на основе пароля, который необходимо вводить при монтировании диска (либо вручную, либо дать программе запомнить этот пароль).
Установка и настройка BoxCryptor элементарная:
- Скачали (бесплатная версия на 2 Гб).
- Запустили. Программа сама определит, что у вас установлен (или нет) Dropbox и предложит создать защищенную папку сразу в вашем Dropbox.
- После этого вы придумаете пароль и ВСЕ.
Сама программа BoxCryptor работает под Windows. Файлы, защищенные BoxCryptor, могут быть доступны в Linux и MacOS с помощью EncFS.
16.08.2011
Использование ABE в Windows Server 2003
Обновлено: 29.06.2025
В сети есть шара files
на файловом сервере, в шаре куча папок, щелкаешь на них - restricted... Интересно, что там??? Можно попробовать подобрать пароль...
Знакомо? Попробуем немного улучшить ситуацию.
Предположим, в сети расшарена папка Temp
с вложенными в нее папками 1, 2, 3
и 4
:
+ Temp
---- 1
---- 2
---- 3
---- 4
У нас есть два пользователя: test1
и test2
. Пользователь test1
должен иметь доступ к папкам 1, 3
и 4
, пользователь test2
должен иметь доступ к папкам 2, 3
и 4
. Как сделать так, чтобы пользователь test2
не знал, что в папке Temp
вообще есть что-то, кроме его папок?
Вариант 1: сделать отдельные шары для каждого пользователя. Это выход, но если папки 3
и 4
используются совместно? Делать отдельную шару для общих папок? А если пользователей 20 штук? Вот. В такой ситуации Microsoft предлагает использовать Access-Based Enumeration (сокр., ABE).
Access-Based Enumeration
Access-Based Enumeration возможно использовать на Windows 2003 SP1 и выше, Windows 2003 R2. Скачать Access-Based Enumeration можно на сайте Microsoft. Размер 500 кбайт. Установка простая, даже описывать нечего.
Access-Based Enumeration появляется в виде дополнительной вкладки между вкладками "Безопасность" и "Настройка" расшаренной папки:
Основная мысль: расшаривается "головная" папка, содержащая все остальные (в нашем примере это папки 1, 2, 3
и 4
). Доступ во вложенные папки задается стандартно через вкладку "Безопасность". В нашем примере папке 2
дан доступ только для пользователя test2
.
Пользователь test1
не увидит папку 2
просматривая шару:
Таким образом не только ограничивается доступ к содержимому папки 2
, но скрывается сам факт ее наличия. Т.е. пользователи могут просто не знать, есть ли другие папки в той шаре, с которой они работают каждый день. Точно также можно задавать права не только для папок, но и для файлов. Меньше знаешь - крепче спишь. В нашем случае, крепче спит администратор сети!
Скрыть шары
Обновлено: 29.06.2025
Зачастую в сети расшарено немалое количество папок, среди которых могут быть такие, как buch
, archive
, backup
, private
и другие, названия которых говорят сами за себя. И не факт, что пароли пользователей этих "шар" достаточно стойкие. Зачастую это неудобно пользователям (если необходимо, то пароли надо делать сложными). И совсем не факт, что 19-летний паренек сможет доказать стариканамвзрослым и умным бухгалтерам, что пароли надо сделать сложными.
В такой ситуации можно сделать неприлично простую вещь: изменить имена шар, добавив к ним знак $
. Например, была шара backup
. Добавим к имени шары знак $
: backup$
. Теперь эту папку в сети никто не увидит. А на рабочем столе достаточно будет сделать ярлык и работать станет немного безопасней :)
Установка Adobe Reader из MSI и применение пакетов обновления MSP
Обновлено: 29.06.2025
Эта статья обновлена в мае 2012 года и принадлежит серии статей про установку программ в Active Directory. Несмотря на обилие текста, сразу смотрите финал (на этой странице) - все слишком просто! Потом читайте спокойно и вдумчиво.
Задача
Подготовить пакет Adobe Reader со всеми обновлениями на текущий момент для установки через Active Directory.
Второстепенная задача: научиться применять обновления в формате MSP (расширение .msp).
Исходные данные
На 28.02.11 актуальной версией Adobe Reader является 10.0.1. Для русской версии доступны AdbeRdr1000_ru_RU.msi и файл обновления AdbeRdrUpd1001_Tier4.msp. Ссылки указывают на директории на ftp-сервере Adobe.
Файлы обновлений в формате MSP для Adobe Reader называются по-разному в зависимости от языка исходного продукта. Для русской версии нам нужен файл AdbeRdrUpd1001_Tier4.msp (а не Tier1, 2 или 3). Подробнее об этом читайте здесь.
По поводу получения msi-файлов могу сказать, что очень похоже на то, что Adobe всегда будет предоставлять файлы msi для установки через Active Directory. Способ, описанный мной здесь скорее всего не пригодится.
Вариант 1: с предварительной распаковкой MSI-архива
Нам будет необходимо подготовить пакет msi (.msi), наложить на него патч (.msp) и скопировать результат на сетевую папку для дальнейшего распространения средствами Active Directory.
1. Готовим MSI-пакет для наложения патча
Это вариант начала 2011 года.
Создадим папку C:\Temp\Adobe
и скопируем в нее файлы AdbeRdr1000_ru_RU.msi
и AdbeRdrUpd1001_Tier4.msp
.
Запускаем cmd
и переходим в созданную папку:
> cd C:\Temp\Adobe
Распаковываем AdbeRdr1000_ru_RU.msi в папку Updated:
> msiexec /a AdbeRdr1000_ru_RU.msi TARGETDIR=c:\Temp\Adobe\Updated
Запустится инсталлятор, соглашайтесь и примайте :) После этого в папке Updated
будут лежать файлы для установки по сети. Но это пока еще версия 10.0.0. Нам надо обновить ее.
2. Обновляем установочный набор
> msiexec /a c:\Temp\Adobe\Updated\AdbeRdr1000_ru_RU.msi /p C:\Temp\Adobe\AdbeRdrUpd1001_Tier4.msp
Эта команда объединит существующий набор с обновлениями из файла AdbeRdrUpd1001_Tier4.msp
.
3. Копируем обновленный набор в сеть
Теперь копируем папку Updated
в сеть и распространяем обновленный пакет Adobe Reader 10.0.1 всем пользователям локальной сети.
Собрав все вместе, привожу команды консоли cmd одна за другой, все три!
> cd C:\Temp\Adobe
> msiexec /a AdbeRdr1000_ru_RU.msi TARGETDIR=c:\Temp\Adobe\Updated
> msiexec /a c:\Temp\Adobe\Updated\AdbeRdr1000_ru_RU.msi /p C:\Temp\Adobe\AdbeRdrUpd1001_Tier4.msp
Вот и все. Слов оказалось намного больше дела.
Вариант 2: сразу объединяем основной MSI и MSP-патч
Это вариант начала 2012 года.
Вообще, как показала жизнь, далеко не всегда нужны муки выбора языковых Tier-ов. Например, недавно для получения Adobe Reader версии 10.1.3 я использовал сочетание (все с офиц. ftp) AdbeRdr1010_ru_RU.msi
и AdbeRdrUpd1013.msp
.
В официальном руководстве от Adobe (см. внизу список литературы) предлагается такой вариант:
Копируете в папку (например, C:\Temp\Adobe) файлы msi и msp и выполняете такую команду:
> cd C:\Temp\Adobe
> msiexec /a [MSI file name] /p [MSP file name]
и копируете все, что в папке C:\Temp\Adobe
, туда, откуда через групповые политики распространяете ПО.
Интересный момент (текст далее несколько сумбурен, можете не заморачиватсья, на скрость не влияет и можете смело читать этот абзац наискосок): в папке C:\Temp\Adobe
так и останутся файлы AdbeRdr1000_ru_RU.msi
и AdbeRdrUpd1001_Tier4.msp
, но файл AdbeRdr1000_ru_RU.msi
будет уже не тот, что вы скачали с сайта Adobe, а измененный. Поэтому если вы потом вдруг (например, экспериментируя) замените файл AdbeRdr1000_ru_RU.msi в папке C:\Temp\Adobe на оригинальный, скачанный с сайта, у вас обновление не пройдет. Я не знаю механизма работы патчей MSP, но, возможно, в файл MSI "встраивается" ссылка на патч и именно в таком виде они дальше могут взаимодействовать. Я это почему пишу: я все это "пробую" шаловливыми ручками и, создав обновленный пакет, решил заменить файлы с одинаковыми названиями и увидел, что ничего таки не стало вдруг работать :)
Литература
- Для тех, кто предпочитает читать превоисточники, смотрите руководство для администраторов (англ., офиц. сайт Adobe, формат PDF).
- Чтобы знать, в какой порядке ставить обновления, см. соответствие версий и языковых пакетов (англ., офиц. сайт Adobe).
- Список материалов (англ., офиц. сайт Adobe) для системных администраторов.

Принимаю заказы на настройку серверов, mikrotik и других роутеров, точек доступа, nginx и т.п. В пределах Санкт-Петербурга возможен выезд к заказчику. См. контакты.
Последние комментарии
Популярно:
Разделы статей:
Подскажите. подключение с ПК все работает все ок. Делал по вашей мурзилке.
Но при подключе...