Показаны сообщения с ярлыком . Показать все сообщения
Показаны сообщения с ярлыком . Показать все сообщения

вторник, 24 декабря 2013 г.

Восстановление / сброс утраченного пароля в 1С 8.2


Про восстановление (сброс) утраченного пароля для входа в конфигурацию 1С:Предприятие 8.2 в интернете написано немало. Простой поиск в Яндексе выдает тысячи ссылок, по которым обещается гарантированный сброс пароля, или же вообще вход в базу без пароля. Большинство из описанных способов сводятся к редактированию файла базы данных *.1CD в HEX редакторе и замене имени таблицы users.usr / v8users на любое другое. В результате чего, при запуске в 1С данной конфигурации платформа считает что список пользователей базы не определен и позволяет зайти в базу без пароля. Однако, при этом теряется ваш список пользователей. Что же делать, если есть БД 1С Предприятия и необходимо восстановить (или же "обнулить" пароль забывчивого пользователя). Для начала приведем несколько полезных ссылок, в том числе и на наши статьи:

Если кто-то был внимателен, то заметил выделенную жирным фразу. Теперь замечательная утилита Tool_1CD от awa позволяет редактировать 1CD. Чем мы непременно воспользуемся при восстановлении паролей. Допустим, что у нас есть база с тремя пользователями: Бухгалтер, Директор и Менеджер. Откроем ее при помощи Tool_1CD:


Как мы видим, утилита расшифровала BLOB поле DATA в таблице v8users и показала нам SHA1 хеш пароля пользователя Директор в base64-виде - QL0AFWMIX8NRZTKeof9cXsvbvu8= (естественно, вы можете попытаться расшифровать его с помощью любого сервиса подбора sha1 хещей, для данного примера сделать это крайне легко, т.к. он тестовый). Представим себе, что сделать этого нам не удалось, однако нам необходимо обеспечить пользователю Директор доступ к базе, например, с пустым паролем с возможностью последующей его смены. Делаем следующее, включаем режим редактирования таблиц:


Сохраняем содержимое поля DATA в файл. В рассматриваемом примере он будет носить имя 0ed3bc84-7a1d-4f3b-8142-47c77c02f5c5_DATA:


После чего мы можем отредактировать его в обычном блокноте:


Вспоминаем, что SHA1 хеш пустой строки - это da39a3ee5e6b4b0d3255bfef95601890afd80709 или же 2jmj7l5rSw0yVb/vlWAYkK/YBwk= , заменим в полученном файле хеш пароля пользователя на хеш пустой строки и загрузим его в базу подтвердив изменения при сохранении. В результате у нас получится что-то вроде:


Таким образом, используя только утилиту Tool_1CD с возможностью редактирования нам удалось сбросить (обнулить) забытый пароль пользователя 1С 8.2.

p.s. Данный вариант далеко не единственный, так, к примеру, на infostart'е есть тема Восстановление административного доступа к файловой базе данных, в ней представлен простой инструмент, который позволяет получить административный доступ к файловой базе 1С, если он, по какой-либо причине, был утерян.
p.p.s. Ну и естественно перед выполнением любых операций с информационной базой необходимо сделать ее резервную копию, думаю, про это никому лишний раз говорить не нужно.

среда, 7 августа 2013 г.

Установка сервера 1С Предприятие 8.2 на Linux

Данный пост - это не полноценная статья, скорее компиляция некоторой полезной информации и ссылок, касающихся установки сервера 1С:Предприятие 8.2 на ОС Linux. Для начала несколько ссылок, которые существенно облегчат жизнь:
Ну и так как все это добро может в один прекрасный день невзначай кануть в /dev/null позволю себе выложить приведенные в списке мануалы в архиве, в виде mht-файлов (т.е. web-страниц, сохраненных полностью). Скачать все три мануала одним архивом.

В нашем случае пришлось столкнуться с установкой сервера 1С Предприятие на CentOS x64, дистрибутив которой можно взять на http://mirror.yandex.ru/, а если конкретнее, то - CentOS-6.4-x86_64-LiveDVD.iso, либо в виде торрент-файла. Установка CentOS x64 практически ничем не отличается от установки любого другого Linux дистрибутива. Единственное, после выбора языка системы, если вы выбираете русский, полезно знать что настройка для переключения раскладки клавиатуры по-умолчанию - два шифта, т.е. левый и правый shift одновременно.

Ну а теперь про сложности, трудности и т.п. и т.п. За основу при установке сервера мы взяли первый мануал с Хабра, т.к. в нем наиболее подробно рассмотрены все возможные варианты, возникающие ошибки, описание настройки samba и масса других вещей. Единственное, т.к. у нас была x64 версия ОС, то для подключения доп. репозитариев - RPMforge, EPEL, ATrpms, мы воспользовались следующими командами:

su -c 'rpm -Uvh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm'
su -c 'rpm -Uvh http://mirror.yandex.ru/epel/6/x86_64/epel-release-6-8.noarch.rpm'
su -c 'rpm -Uvh http://dl.atrpms.net/all/atrpms-repo-6-6.el6.x86_64.rpm'

Пакет postgresql-9.0.3-3.1C.src.rpm скачался, поставился и от'rpmbuild'ился без каких-либо проблем.

yum install icu libicu libicu-devel
yum install rpm-build wget glibc-devel bison flex readline-devel zlib-devel openssl-devel pam-devel gettext gcc make 
wget http://v8.1c.ru/overview/postgresql_patches/9-0-3/postgresql-9.0.3-3.1C.src.rpm
rpm -ihv postgresql-9.0.3-3.1C.src.rpm
ln -s /usr/lib64/libicui18n.so /usr/local/lib64/libicui18n.so.46 && ln -s /usr/lib64/libicudata.so /usr/local/lib64/libicudata.so.46 && ln -s /usr/lib64/libicuuc.so /usr/local/lib64/libicuuc.so.46
rpmbuild -bb --define 'runselftest 0' ~/rpmbuild/SPECS/postgresql-9.0-1C.spec
cd /root/rpmbuild/RPMS/x86_64/

В резульате в /root/rpmbuild/RPMS/x86_64/ мы получили все необходимые для дальнейшей установки rpm пакеты (собственно и поставили их в рекомендуемом порядке):


rpm -ihv postgresql-9.0.3-3.1C.x86_64.rpm postgresql-contrib-9.0.3-3.1C.x86_64.rpm postgresql-devel-9.0.3-3.1C.x86_64.rpm postgresql-docs-9.0.3-3.1C.x86_64.rpm postgresql-libs-9.0.3-3.1C.x86_64.rpm postgresql-server-9.0.3-3.1C.x86_64.rpm postgresql-test-9.0.3-3.1C.x86_64.rpm

Далее конфигурирование PostgreSQL согласно первому мануалу, создание символических ссылок, смена пароля PostgreSQL и перезапуск сервера. Для установки сервера 1С Предприятия, кстати, можно было, находясь в папке с распакованными rpm'ами, выполнить команду:

yum localinstall ./*.rpm 

Ну а уже далее переходить к установке шрифтов и решению проблем с запуском /opt/1C/v8.2/i386/utils/config_server. Перед установкой шрифтов и первым запуском ./config_server лучше всего сделать:

yum install ImageMagick glib2-devel unixODBC
yum install ttf2pt1
yum install rpm-build cabextract
yum install ttmkfdir
yum install glibc.i686

Последняя строчка также необходима, несмотря на то что у нас x64 дистрибутив ОС. Это поможет избежать многих проблем при запуске config_server. Все эти "полезности" есть также в файле man.txt в архиве с мануалами, выложенном в начале этого поста.

Еще важный момент (!), когда будете задавать hostname для linux сервера, проследите чтобы ПК с таким NETBIOS именем, если вы используете рабочую группу, не было в сети. Имя выбирайте заранее. Потому как, если вы потом решите зачем-то сменить имя хоста с Linux OS - то это чревато множественными проблемами и ошибками. Лучше сразу выбрать имя и впоследствии его не менять!