| |
В данной реализации файловой системы ext2_crypt в стандартной программе mkfs была сделана дополнительная поддиректория e2crfsprogs-1.12, в которой реализованы все средства, необходимые для создания файловой системы такого типа.
Код, воплощающий в жизнь способ запроса пароля, находится в файле misk/mke2crfs.c 1 в функции main(...). Выглядит он следующим образом:
/* * Getting the password ... */ passwd = getpass("Enter password: "); if(!passwd) { fprintf(stderr,"Warning: your filesystem will not be crypted\n"); } /* * Putting the password into the superblock... */ while(*passwd != '\0') fs->password_key += *(passwd++);
Тот факт, что для расположения этого кода была выбрана именно функция main(...), обусловлен тем, что, в отличии от большинства подходящих для размещения кода других функций, эта функция вызывается только однажды с процессе выполнения программы, следовательно, пароль будет спрошен только один раз, что, в свою очередь, и подразумевалось в постановке исходной задачи.
Что касается шифрования суперблока, то оно осуществляется в файле lib/ext2_crypt_fs/closefs.c в функции ext2_crypt_fs_flush(...). Именно в этой функции происходит запись заполненного суперблока на диск, шифрование же происходит перед самым записыванием.
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |