Исходный код личинки является лучшим местом для обнаружения. Необходимая логика находится в stage2/md5.c
в:
int md5_password (const char *key, char *crypted, int check)
Это производит строки формы: $1$aaaaaaaa$bbbbbbbbbbbbbbbbbbbbbb
где последовательность "aaaaaaaa" является случайной солью, и "bbbbbbbbbbbbbbbbbbbbbb" является результатом смешивания пароля и соли 1000 раз конкретным способом и взятием измененного base64-кодирования результата md5.
Измененный-base64 словарь:
./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
Фактический алгоритм смешивания может быть перераспределен в соответствии с версией 2 Генеральной общедоступной лицензии GNU (или любой более поздней версией), и можно получить его от FTP-сайта GNU или любого зеркала GNU.
Можно проверить Ваш ~/.bashrc
файл и видит, определили ли Вам псевдоним для cd
. Это происходит как какой-либо другой пользователь или просто Ваш? Действительно ли это - только каталог Desktop или все каталоги в Вашей домашней папке?
Почти всегда имеет место, что, "когда корень не может сделать чего-то, корень должен смочь сделать, проблемой является selinux".
Поскольку это были месяцы, ситуация была, вероятно, исправлена, но если у кого-то еще есть подобная проблема, и см. это сообщение, я рекомендую работать "setenforce 0", который поместит selinux в "разрешающий" режим до следующей перезагрузки (или пока "setenforce 1" не будет выполнен). Посмотрите, фиксирует ли это его таким образом, что Вы можете CD в Рабочий стол.
Если это зафиксирует его, то Вы должны будете или восстановить selinux контекст для/home/user, или измените selinux политику для файлов под / домой.