The OpenNET Project / Index page

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

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

3.2 Модификация mount

Во всем пакете программ mount изменения были произведены в файле mount.c. Функция, посредством которой пароль повторно запрашивается и приклеивается к общему списку опций называется getpassword(...) и выглядит следующим образом:

static int
getpassword(char *type,char **opts) {
  char *passwd;

  if(type) {
    if(!strcmp(type,"ext2_crypt")) {
      if(!*opts) {
	passwd = getpass("Enter password: ");
	*opts = xstrdup("password");
	*opts = xstrconcat3(*opts,"=",passwd);
      }
      else {
	if(!strstr(*opts,"password")) {
	  passwd = getpass("Enter password: ");
	  *opts = xstrconcat3(*opts,",","password");
	  *opts = xstrconcat3(*opts,"=",passwd);
	}
      }
      return 0;
    }
    else return 1;
  }
  return 2;
}

Эта функция вызывается из mount_one(), которая, в свою очередь, вызывается при попытке монтирования, в случае, когда тип монтируемой файловой системы известен.






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

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