Как найти файл users usr

Для того, чтобы восстановить пароль для забытого пароля PostgreSQL на 1С нужно «показать», что в 1С нет ни одного пользователя. Только в этом случае сервер 1С даст неавторизованный доступ к системе. Нет ни одного пользователя = получи полный доступ. Для кого-то это баг в безопасности 1С-продуктов, но для кого-то это «фича», возможность восстановить доступ.

План действий по восстановления доступа:

  1. подключаемся к БД PostgreSQL;
  2. переименовываем таблицу v8users, чтобы 1С «думала», что нет пользователей;
  3. меняем имя файла users.usr в таблице Params;
  4. заходим в конфигуратор;
  5. возвращаем всех пользователей;
  6. устанавливаем новый пароль.

Не лишним будет очистить кэш 1С, так как в нем могут содержаться хеш функции старого пароля.

Подключаемся к БД PostgreSQL

В 99% случаев PostgreSQL устанавливается на Linux. Чтобы получить доступ к БД, нам необходимо авторизоваться на сервере и выполнить команду:

sudo -u postgres psql erp

У локального пользователя postgres есть неограниченный доступ к демону БД. Если мы видим приглашение командной строки erp=#, то все ОК.

Переименовываем таблицу v8users

Нам необходимо переименовать таблицу v8users, где хранятся пароли 1С:

ALTER TABLE v8users RENAME TO v8users2;

Переименовываем файл users.usr

Файл users.usr — это файл, где по умолчанию установленный клиент ищет сохраненные пароли 1С. Его нужно тоже переименовать, чтобы 1С не потеряла любую возможность стандартного запуска. Для этого выполняем команду:

UPDATE Params SET FileName='users.usr_old' WHERE FileName='users.usr';

Заходим в конфигуратор 1С

Заходим в конфигуратор 1С под полными правами нужной базы и просто оставляем открытое окно конфигуратора.

Возвращаем всех пользователей

Возвращаем все обратно:

DROP TABLE v8users;
ALTER TABLE v8users2 RENAME TO v8users;
UPDATE Params SET FileName='users.usr' WHERE FileName='users.usr_old';
q

Устанавливаем новый пароль

После всего заходим в Администрирование – Пользователи, выбираем нужного пользователя и устанавливаем новый пароль.

Устанавливаем новый пароль в 1С

Пароль для 1C на PostgreSQL успешно восстановлен!

Теги: postgresql

и 1с

Комментарии

Содержание

Сброс паролей

Платформа 8.2

Файловая база

Подходит, как минимум, для платформ 8.2 версий 8.2.15, 8.2.19 1)

Открыть файл базы данных HEX-редактором и выполнить:

  • V8USERS меняем на H8USERS

  • находим users.usr — перед этой строкой «00 09 00», меняем так, чтобы было «01 09 00»

  • сохраняем, закрываем HEX-редактор

  • запускаем конфигуратор, проверяем, что в базу пускает без пароля

  • закрываем конфигуратор

  • тестируем и исправляем базу с помощью утилиты chdbfl.exe

  • заводим новых пользователей

База MS SQL

При работе на SQL 1С хранит список пользователей в двух местах: в таблице v8users и в файле users.usr который бинарно расположен в таблице Params. 2)

Надо платформу заставить думать что в базе нет ни одного пользователя. Для этого необходимо переименовать таблицу v8users и строчку с файлом users.usr. Открываем SQL Server Management Studio логинимся и создаем запрос к базе данных с содержанием:

EXEC sp_rename 'v8users', 'v8users_old'
GO
UPDATE Params
SET FileName = 'users.usr_old'
WHERE FileName = 'users.usr'
GO

После этого открываем базу данных в конфигураторе и видим что платформа не спрашивает пользователя и пароль, при этом в SQL Server будет заново создана таблица v8users. Теперь чтобы всех пользователей вернуть обратно не закрывая конфигуратора выполним в SQL Server Management Studio запрос:

DROP TABLE v8users
GO
EXEC sp_rename 'v8users_old', 'v8users'
GO
UPDATE Params
SET FileName = 'users.usr'
WHERE FileName = 'users.usr_old'
GO

После выполнения запроса в списке пользователей появятся все пользователи, останется только найти нужного, и изменить ему пароль.

База PostgreSQL

FIXME

Очень важно уметь вовремя найти нужную информацию в системе. Конечно, все современные файловые менеджеры предлагают отличные функции поиска, но им не сравнится с поиском в терминале Linux. Он намного эффективнее и гибче обычного поиска, вы можете искать файлы не только по имени, но и по дате добавления, содержимому, а также использовать для поиска регулярные выражения.

Кроме того, с найденными файлами можно сразу же выполнять необходимые действия. В этой статье мы поговорим о поиске с помощью очень мощной команды find Linux, подробно разберем её синтаксис, опции и рассмотрим несколько примеров.

Команда find — это одна из наиболее важных и часто используемых утилит системы Linux. Это команда для поиска файлов и каталогов на основе специальных условий. Ее можно использовать в различных обстоятельствах, например, для поиска файлов по разрешениям, владельцам, группам, типу, размеру и другим подобным критериям.

Утилита find предустановлена по умолчанию во всех Linux дистрибутивах, поэтому вам не нужно будет устанавливать никаких дополнительных пакетов. Это очень важная находка для тех, кто хочет использовать командную строку наиболее эффективно.

Команда find имеет такой синтаксис:

find [папка] [параметры] критерий шаблон [действие]

Папка — каталог в котором будем искать

Параметры — дополнительные параметры, например, глубина поиска, и т д

Критерий — по какому критерию будем искать: имя, дата создания, права, владелец и т д.

Шаблон — непосредственно значение по которому будем отбирать файлы.

Основные параметры команды find

Я не буду перечислять здесь все параметры, рассмотрим только самые полезные.

  • -P — никогда не открывать символические ссылки.
  • -L — получает информацию о файлах по символическим ссылкам. Важно для дальнейшей обработки, чтобы обрабатывалась не ссылка, а сам файл.
  • -maxdepth — максимальная глубина поиска по подкаталогам, для поиска только в текущем каталоге установите 1.
  • -depth — искать сначала в текущем каталоге, а потом в подкаталогах.
  • -mount искать файлы только в этой файловой системе.
  • -version — показать версию утилиты find.
  • -print — выводить полные имена файлов.
  • -type f — искать только файлы.
  • -type d — поиск папки в Linux.

Критерии

Критериев у команды find в Linux очень много, и мы опять же рассмотрим только основные.

  • -name — поиск файлов по имени.
  • -perm — поиск файлов в Linux по режиму доступа.
  • -user — поиск файлов по владельцу.
  • -group — поиск по группе.
  • -mtime — поиск по времени модификации файла.
  • -atime — поиск файлов по дате последнего чтения.
  • -nogroup — поиск файлов, не принадлежащих ни одной группе.
  • -nouser — поиск файлов без владельцев.
  • -newer — найти файлы новее чем указанный.
  • -size — поиск файлов в Linux по их размеру.

Примеры использования

А теперь давайте рассмотрим примеры find, чтобы вы лучше поняли, как использовать эту утилиту.

1. Поиск всех файлов

Показать все файлы в текущей директории:

find

find .

find . -print

Все три команды покажут одинаковый результат. Точка здесь означает текущую папку. Вместо неё можно указать любую другую.

2. Поиск файлов в определенной папке

Показать все файлы в указанной директории:

find ./Изображения

Искать файлы по имени в текущей папке:

find . -name "*.png

Поиск по имени в текущей папке:

find . -name "testfile*"

Не учитывать регистр при поиске по имени:

find . -iname "TeStFile*"

3. Ограничение глубины поиска

Поиска файлов по имени в Linux только в этой папке:

find . -maxdepth 1 -name "*.php"

4. Инвертирование шаблона

Найти файлы, которые не соответствуют шаблону:

find . -not -name "test*"

5. Несколько критериев

Поиск командой find в Linux по нескольким критериям, с оператором исключения:

find . -name "test" -not -name "*.php"

Найдет все файлы, начинающиеся на test, но без расширения php. А теперь рассмотрим оператор ИЛИ:

find -name "*.html" -o -name "*.php"

Эта команда найдёт как php, так и html файлы.

6. Тип файла

По умолчанию find ищет как каталоги, так и файлы. Если вам необходимо найти только каталоги используйте критерий type с параметром d. Например:

find . -type d -name "Загрузки"

Для поиска только файлов необходимо использовать параметр f:

find . -type f -name "Загрузки"

6. Несколько каталогов

Искать в двух каталогах одновременно:

find ./test ./test2 -type f -name "*.c"

7. Поиск скрытых файлов

Найти скрытые файлы только в текущей папке. Имена скрытых файлов в Linux начинаются с точки:

find . -maxdepth 1 -type f -name ".*"

8. Поиск по разрешениям

Найти файлы с определенной маской прав, например, 0664:

find . -type f -perm 0664

Права также можно задавать буквами для u (user) g (group) и o (other). Например, для того чтобы найти все файлы с установленным флагом Suid в каталоге /usr выполните:

sudo find /usr -type f -perm /u=s

Поиск файлов доступных владельцу только для чтения только в каталоге /etc:

find /etc -maxdepth 1 -perm /u=r

Найти только исполняемые файлы:

find /bin -maxdepth 2 -perm /a=x

9. Поиск файлов в группах и пользователях

Найти все файлы, принадлежащие пользователю:

find . -user sergiy

Поиск файлов в Linux принадлежащих группе:

find /var/www -group www-data

10. Поиск по дате модификации

Поиск файлов по дате в Linux осуществляется с помощью параметра mtime. Найти все файлы модифицированные 50 дней назад:

find / -mtime 50

Поиск файлов в Linux открытых N дней назад:

find / -atime 50

Найти все файлы, модифицированные между 50 и 100 дней назад:

find / -mtime +50 -mtime -100

Найти файлы измененные в течении часа:

find . -cmin 60

11. Поиск файлов по размеру

Найти все файлы размером 50 мегабайт:

find / -size 50M

От пятидесяти до ста мегабайт:

find / -size +50M -size -100M

Найти самые маленькие файлы:

find . -type f -exec ls -s {} ; | sort -n -r | head -5

Самые большие:

find . -type f -exec ls -s {} ; | sort -n | head -5

12. Поиск пустых файлов и папок

find /tmp -type f -empty

find ~/ -type d -empty

13. Действия с найденными файлами

Для выполнения произвольных команд для найденных файлов используется опция -exec. Например, для того чтобы найти все пустые папки и файлы, а затем выполнить ls для получения подробной информации о каждом файле используйте:

find . -empty -exec ls -ld {} ;

Удалить все текстовые файлы в tmp

find /tmp -type f -name "*.txt" -exec rm -f {} ;

Удалить все файлы больше 100 мегабайт:

find /home/bob/dir -type f -name *.log -size +100M -exec rm -f {} ;

Выводы

Вот и подошла к концу эта небольшая статья, в которой была рассмотрена команда find. Как видите, это одна из наиболее важных команд терминала Linux, позволяющая очень легко получить список нужных файлов. Ее желательно знать всем системным администраторам. Если вам нужно искать именно по содержимому файлов, то лучше использовать команду grep.

Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.

Информация о материале

Опубликовано: 26 февраля 2016

Просмотров: 42447

Если вы вдруг забыли пароль администратора базы 1С 7.7 и не знаете как в неё зайти — можете убрать или сменить его по моей инструкции.

Чтобы это получилось нужен доступ на редактирование папки с базой 1С. Как правило, пользователям предоставляется такой доступ, чтобы они могли зайти в программу 1С 7.7 и работать в ней.

За хранение паролей отвечает файл users.usr, который находится в папке с базой 1С. Чтобы найти этот файл запустим ярлык 1С с рабочего стола и посмотрим где находится сама база:

Ярлык 1С 7.7

 Когда выделяем базу в списке внизу пишется путь к ней. База может находится на Вашем компьютере или в сети. Чтобы скопировать путь нажимаем Изменить, выделяем путь и копируем:

Найти место хранения базы 1С 7.7

Открываем Мой компьютер и вставляем скопированный путь к базе 1С 7.7 в адресную строку проводника Windows:

Переход к папке с базой 1С 7.7 в проводнике Windows

Находим папку UsrDef и временно переименовываем её, в моём случае я обозвал UsrDef1:

Папка UsrDef в папке с базой 1С 7.7 сброс пароля

Теперь заходим в базу в режиме Конфигуратор:

Вход в конфигуратор 1С 7.7

Вы заметите, что при входе теперь не требуется пароль, т.е. база не видит список пользователей и Вы имеете полные права управления над базой. Переходим Администрирование => Пользователи и видим что список пользователей пуст:

Список пользователей в конфигураторе 1С 7.7

Теперь переименовываем обратно папку в UsrDef в папке с базой:

Папка отвечающая за пароли базы 1С 7.7

В конфигураторе заново открываем список пользователей и видим, что они появились:

Пользователи 1С 7.7

Теперь у нас есть полные права управления списком пользователей и выбрав в контекстном меню «Изменить пароль» можем задать новый пароль любому пользователю:

Изменить пароль пользователя в конфигураторе 1С 7.7

Если же Вам вообще не нужные пользователи, то можете не переименовывать папку обратно в UsrDef и заходить без пароля, а потом, в нужный момент вернуть обратно.

Взломать пароль к файловой базе 1С 8.1, 8.2 или 8.3 совсем несложно, для этого потребуется доступ к файлам базы и какой-либо HEX-редактор.

В качестве HEX-редактора можно использовать, например:

  • WinHex (бесплатная версия не позволяет сохранять файлы размером более 200 Kb);
  • Free Hex Editor (условно-бесплатный);
  • любой другой HEX-редактор с функцией поиска.

Шаг 1. Делаем резервную копию базы (манипуляции с базой в шестнадцатеричном редакторе не всегда проходят без последствий).

Шаг 2. В HEX-редакторе нужно открыть файл базы с именем 1Cv8.1CD.

Шаг 3. Открыть окно поиска (обычно за это отвечает сочетание клавиш Ctrl+F), выбрать тип строки Unicode (это поле есть во всех серьезных HEX-редакторах) и найти строку «users.usr». Если ничего не находится — попробуйте поискать без учета регистра (пункт «Match case» в WinHex, пункт «Без регистра» в Free Hex Editor).

Окно поиска в программе Free Hex Editor

Окно поиска в программе Free Hex Editor
Окно поиска в программе WinHex
Окно поиска в программе WinHex

Шаг 4. В найденной строке нужно найти значение «09» (столбец «1» на рисунке) и слева от него исправить «00» на «01» (столбец «0» на рисунке), а затем сохранить изменения.

Правим "users.usr"

Правим «users.usr»

Для взлома баз 1С 8.1  этого достаточно — можно зайти в конфигуратор — пароль не спросят.

А вот для взлома баз 1С 8.2 и 8.2 нужно сделать дополнительные действия.

Шаг 5. Снова используем поиск и ищем строку «v8users».

Шаг 6. В найденной строке меняем букву «V» на «H» так, чтобы получилось «h8users».

Правим "v8users"

Правим «v8users»

На этом взлом закончен — пароль больше запрашиваться не будет.

После того, как Вы сделали все, что хотели, можно вернуть все как было  и тогда никто ничего не заметит (работает это не всегда).

Если нужно просто добавить пользователя, не удаляя существующих то делаем так (работает не всегда):

  1. Сохраняем все сделанные изменения, но не закрываем редактор;
  2. Заходим в конфигуратор базы;
  3. Возвращаемся в редактор оставив конфигуратор открытым (редактор скажет, что файл изменился и предложит его перезагрузить — соглашаемся);
  4. Меняем все ранее измененные значения на изначальные, сохраняем файл;
  5. Возвращаемся в конфигуратор и добавляем пользователя с нужными правами;
  6. Закрываем конфигуратор и редактор и открываем конфигуратор снова, используя для входа только что созданного пользователя.

В заключение хочу напомнить, что информация приводится в ознакомительных целях, использовать ее, Вы можете исключительно на свой страх и риск.

Если Вы нашли ошибку или неточность, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Загрузка…

Понравилась статья? Поделить с друзьями:
  • Как исправить часы на андроиде
  • Как составить бизнес план образец для соцзащиты
  • Как найти высокооплачиваемую работу вакансии
  • Как найти третью часть площади треугольника
  • Как найти массу газа в сосуде