Semasa saya bersiap untuk menukar kata laluan pengguna root sistem Linux hari ini, saya melaksanakan passwd root Situasi berikut berlaku dan penukaran kata laluan gagal:
# passwd root Changing password for user root. New password: Retype new password: passwd: Authentication token manipulation error
Selepas mencari di Internet, ada yang mengatakan ia disebabkan oleh kehabisan inod, iaitu partition root penuh, tetapi melaksanakan df -i tidak menemui sebab:
# df -i Filesystem Inodes IUsed IFree IUse% Mounted on /dev/sda2 6406144 58534 6347610 1% / tmpfs 8242797 2 8242795 1% /dev/shm
Teruskan mencari jawapan dan menyemak fail sistem /etc/passwd dan /etc/shadow yang berkaitan dengan kata laluan pengguna mengikut kes dalam talian Didapati bahawa kebenaran kedua-dua fail ini mempunyai pilihan i :
# lsattr /etc/passwd —-i——–e- /etc/passwd # lsattr /etc/shadow —-i——–e- /etc/shadow
Nota: Dalam sistem Linux, jika fail mempunyai pilihan i, ini bermakna tiada pengubahsuaian boleh dibuat padanya, yang juga membawa kepada kegagalan untuk menukar kata laluan.
Untuk menyelesaikan masalah ini, anda perlu melaksanakan arahan chattr -i untuk membatalkan kebenaran i bagi dua fail di atas
# chattr -i /etc/passwd # chattr -i /etc/shadow # lsattr /etc/passwd ————-e- /etc/passwd # lsattr /etc/shadow ————-e- /etc/shadow
Kemudian laksanakan passwd untuk menukar kata laluan,
# passwd Changing password for user root. New password: Retype new password: passwd: all authentication tokens updated successfully.
Selepas menukar kata laluan, atas sebab keselamatan, anda boleh melaksanakan chattr +i untuk menambah kebenaran i pada fail sistem kata laluan pengguna
# chattr +i /etc/passwd # chattr +i /etc/shadow # lsattr /etc/passwd —-i——–e- /etc/passwd # lsattr /etc/shadow —-i——–e- /etc/shadow
Atas ialah kandungan terperinci Penyelesaian kepada pelaporan ralat apabila root menukar kata laluan di bawah Linux. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!