Elektrik kesilmesi, zamansız kapatılma, güncelleme iptali gibi durumlarda passwd dosyası bazen bozulabiliyor, işlemlerde veya paket kurulumlarında alta ki gibi hatalar verebiliyor.
Translate deyimi ile dosyalar yozlaşabiliyor 😅
pwd_mkdb: corrupted entry
pwd_mkdb: at line #1
pwd_mkdb: /etc/passwd: Inappropriate file type or format
Normalde bu gibi komutların işi çözmesi lazım.
# pwd_mkdb -C /etc/passwd
# pwd_mkdb -C /etc/master.passwd
# pwd_mkdb -p /etc/master.passwd
Ama passwd dosyaları iyice bozulmuşsa, bir işe yaramayacaktır, dosyaları yeniden oluşturmak lazımdır.
O yüzden bize eğer varsa (önceden yakın zamanda yedeklediğiniz) master.passwd-ydk dosyası lazımdır, yoksa sistemde ki eski bir yedeği alacağız.
# ls -l /var/backups/master*
-rw------- 1 root wheel 2836 30 Oca 01:14 /var/backups/master.passwd.bak
-rw------- 1 root wheel 2845 8 Oca 2023 /var/backups/master.passwd.bak2
*bak2 olanı kullanabiliriz.
Tabi önce sistemi yeniden başlatıp, Single-user-mod ile giriş yapmalıyız.
Boot ekranda 2 yi Boot Single User seçiyoruz.
Yazılar bitip, konsola gelince enterleyip, komutları sırayla veriyoruz.
🚫 ufs ile böyledir, zfs de single-user-mod komutları farklıdır.
fsck -y
mount -u /
mount -a -t ufs
swapon -a
Şimdi işleme başlayabiliriz.
📌 Önce bu 4 dosyayı yedeklemek isteyebilirsiniz, aksilik olursa geri dönebilirsiniz.
# mv /etc/{master.passwd,passwd,pwd.db,spwd.db} ~/root/
Yedeklemek istemiyorsanız devam edip, silin.❗
# rm -f /etc/{master.passwd,passwd,pwd.db,spwd.db}
Şimdi daha önce bulduğumuz *bak2 yedeğine komutumuzu verelim, bu komut diğer 4 dosyayı (master.passwd,passwd,pwd.db,spwd.db) yeniden oluşturacaktır.
# pwd_mkdb -p /var/backups/master.passwd.bak2
Kontrol edebilirsiniz.
$ ls /etc/{master.passwd,passwd,pwd.db,spwd.db}
/etc/master.passwd /etc/passwd /etc/pwd.db /etc/spwd.db
Sistemi yeniden başlatın.
reboot
📌 Hatırlatma:
Eski bir master.passwd dosyasına döndüğümüz için, o tarihten sonra kurduğumuz, örn. sddm, dnscrypt gibi programlar user/groub olayları passwd dosyalarına eklenmediği için, onlarla ilgili de sorun yaşayabilirsiniz.
✅ Çözüm:
Ya o user groupları yeniden oluşturmalıyız, bu karışık olabilir.
Ya da ilgili programları yeniden kurmalıyız, bu en basit yoldur. Eğer servisi varsa restartta etmeliyiz.
service xxx restart
Böylece passwd de ki yozlaşma çözülmüş olacaktır. 😅😅
Yararlanılan kaynaklar :
https://daemonforums.org/showthread.php?t=11389
https://my.f5.com/manage/s/article/K589
yorum yok:
Yorum Gönder