BSDTR

Passwd yozlaşması - FreeBSD


E
lektrik 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

2010 - 2024 Beastie BSD Türkiye 🇹🇷