Предположительно 30 ноября 2010 года, на следующую ночь после обновления ISPmanager, пользователи, которые использовали ISPmanager под FreeBSD 7.x/8.x заметили странную ошибку.
Пропали все записи из /etc/master.passwd.
По заверениям разработчиков ISPmanager тут не при чем, согласно логам самого ПО.
Варианты решения.
1. Восстановить /etc/master.passwd из резервной копии, максимально похожей на утерянный /etc/passwd копированием файла из /var/backup/master.passwd, и выполнить команду
pwd_mkdb -p /etc/master.passwd
Последующие варианты для тех, у кого нет резервной копии файла /etc/master.passwd
2. Временное решение. Паролей пользователям не восстановить, но в списке “Пользователи” в ISPmanager будут доступны
cat /etc/passwd | awk -F: '$4>1000{print $1":i:"$3":"$4"::0:0::"$6":"$7}' >> /etc/master.passwd pwd_mkdb -p /etc/master.passwd
3. Третий способ предложен небезысвестным Лиссярой
cd /home && ls -ln | grep -v httpd | grep -v tmp | \\ grep -v quota. | grep -v lost+found | grep -v mysql | { while read t1 t2 uid gid t3 t4 t5 t6 user do if test -d $user/data then #echo $uid $gid $user # get user gid gid=`ls -ln $user/| grep $uid | awk '{print $4}'` echo $user:x:$uid:$gid:russian:0:0:$uid:/home/$user/data:/bin/date fi done
Полученый результат поместите в /etc/master.passwd
Есть предположение, что данная проблема возникла по вине найденного бекдора в proftpd 1.3.3c.
Если у вас все еще эта версия, то следует обновиться. Это делается следующим образом
cd /usr/ports/ make update cd /usr/ports/ftp/proftpd make deinstall && make reinstall && make clean
у меня ситуация другая, но также неожиданно слелетели все пароли, даже root! =)
благо машина в локальной сети, восстановил согласно Вашего совета №1. Спасибо!