The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Каталог документации / Раздел "Безопасность" / Оглавление документа
<- ^ -> [Contents]
Предыдущий: 3. Реализация файловой системы Выше: 3. Реализация файловой системы Следующий: 3.2 Модификация mount

3.1 Модификация mkfs

В данной реализации файловой системы 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(...). Именно в этой функции происходит запись заполненного суперблока на диск, шифрование же происходит перед самым записыванием.






Спонсоры:
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2021 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру