...а как лечить, пока не знаю...Поковырявшись в исходниках Самбы, обнаружил, что за диалог с внешней программой отвечает функция chat_with_program, что в файле smbd/chgpasswd.c. Она в свою очередь вызывает функцию findpty из того же файла, которая пытается "allocate a pseudo-terminal device", то есть застолбить файл устройства /dev/ptyXX.
Делает она это довольно кособоким образом - перебирает все подобные устройства, и выбирает первое свободное. Ясное дело, что при использовании devfs (FreeBSD 5.3) такой способ не катит - в каталоге /dev устройств на все случаи в жизни нет, а создаются они как-то по требованию. Самба ничего не требует и, соответственно, ничего и не получает.
Итог - Самба и devfs несовместимы. Такой вот удар от классика...
Однако проблему синхронизации паролей нужно как-то решать. Сам я в программировании под unix не то чтобы полный ноль, но очень близко к этому. Поэтому обращаюсь к знатокам - посмотрите, кому не лень, указанные выше места в исходниках, что там можно подкрутить? Заранее благодарен.