Теперь я нашел небольшое решение здесь bbs.archlinux.org/viewtopic.php?id=201321. Я переименовываю/удаляю/удаляю файл в папке /etc/systemd/system/getty.target.wants/
Не уверен, что это правильный ответ, но он работает. Мигающий курсор останется, но лучше, чем раньше
Да, команда passwd
сначала полностью записывает измененное содержимое файла /etc/shadow
в /etc/nshadow
, запускает fsync()
, чтобы убедиться, что файл nshadow действительно записан на диск, а затем переименовывает /etc/nshadow
к /etc/shadow
.
Это сделано для того, чтобы исключить возможность наличия неполного файла, как /etc/shadow
, даже в течение самого короткого времени. Спецификации POSIX говорят, что операции переименования файлов в пределах одной файловой системы должны быть атомарными , т.е.любые другие операции должны иметь возможность видеть операцию переименования только как «еще не начатую» или «полностью завершенную», никогда не в каком-либо состоянии «выполняется» наполовину -.
Команда pwconv
также будет выдавать /etc/npasswd
и /etc/nshadow
, когда вы используете ее для преобразования архаичного файла паролей без дублирования -в дублированный формат. Некоторые версии pwconv
могут потребовать от системного администратора вручную переместить эти файлы на место.
Если /etc/nshadow
существует в вашей системе, это может быть остатком команды pwconv
, запущенной когда-то в прошлом... или это может быть потому, что системный вызов rename("/etc/nshadow", "/etc/shadow")
в конце некоторого операция смены пароля не удалась. Такой сбой предполагает возможное повреждение файловой системы или другие проблемы.
Если временная метка файла nshadow
— Jul 25 06:43
, вам может понадобиться узнать, что происходило в системе в это время. Была ли какая-то проблема, которая с тех пор была устранена, или кто-то по какой-то причине запустил команду pwconv
?
Если пароль root был изменен с помощью какого-либо инструмента автоматизации, возможно, вы захотите узнать, что именно делает этот инструмент автоматизации. Возможно, он будет работать pwconv
по какой-то причине.