FreeBSD: user ‘pavel’ disappeared during update при попытке добавить пользователя
При попытке создания нового пользователя во FreeBSD стала выходить ошибка вида:
1 |
user 'pavel' disappeared during update |
Как оказалось это результат рассинхронизации баз данных пользователей в /etc/passwd и /etc/master.passwd
Смутно помню, что в /etc/passwd хранятся логины пользователей, с паролями замененными на *, а в /etc/master.passwd храняться непосредственно сами зашифрованные пароли. /etc/master.passwd доступен только root.
Решение:
1 |
/usr/sbin/pwd_mkdb -p /etc/master.passwd |
SUDO без пароля во FreeBSD
В одной из задач которую делаю при помощи ansible понадобилось после выполнения всех тасков, перезапустить сервис. А так-как ansible работает под пользователем, то сервис соответственно пере стартовать не дает. Возможно есть и штатные средства для обхода этого момента. Но мне не нагуглилось сразу. Потому решил сделать перезапуск cron при помощи sudo:
1 |
sudo service cron restart |
Один нюанс, чтобы не запрашивался пароль, поправим файл /usr/local/etc/sudoers, а именно раскомментируем строку:
1 2 |
## Same thing without a password %wheel ALL=(ALL) NOPASSWD: ALL |
Пауза в исполнении кода в 1С
В языке 1С нет команды паузы. Ну нет и всё тут! Парадигма: если чего то нет, что вам нужно, значит вы что то делаете не так (с) конечно хороша… Но усложнять код ради «выверта»? Код должен быть читаем и прост! Ну вот как например ПРОСТО сделать 10 попыток чтения чего-то с паузой в 60 секунд например не городя огород из костылей? Например, элементарная схема:
1 2 3 4 5 6 7 8 |
Для Сч = 1 По 10 Цикл рез=ПопытатьсяЧтоТоСделать(); если рез=Ложь тогда ГлПауза(1); иначе Прервать; конецесли конеццикла |
А вот так можно реализовать функцию ГлПауза:
1 2 3 4 |
Процедура глПауза(Сек) scr = Новый COMОбъект("WScript.Shell"); scr.Run("sleep "+СокрЛП(Число(Сек)),0,1); КонецПроцедуры; |
Вариант 2 с загрузкой процессора:
1 2 3 4 5 6 |
Процедура глПауза(Сек) КонДата = ТекущаяДата() + Сек; Пока ТекущаяДата() < КонДата Цикл // ждемссс.... КонецЦикла; КонецПроцедуры |
1С: Не работает авторизация по учетной записи
Ситуация: есть два сервера Windows, один из которых играет роль сервера 1С предприятие+БД, другой RDP. Оба сервера «отдельно стоящие», не входят в AD. Проблема заключается в не возможности входа по учетной записи на RDP сервере, т.к. запущенный клиент 1С на сервере RDP ищет на самом деле у.з. на сервере 1С предприятие.
Решение: создавать ПОЛНОСТЬЮ идентичные учетные записи пользователей на обоих серверах. Вплоть до одинакового пароля. Тогда фишка с авторизацией «прокатывает»