Путь к Linux. Руководство по установке и настройке


Пример - часть 3


          return (UPAP_AUTHNAK);

      }

  #else

      epasswd = crypt(passwd, pw->pw_passwd);

      if (strcmp(epasswd, pw->pw_passwd)) {

          return (UPAP_AUTHNAK);

      }

  #endif

      syslog(LOG_INFO, "user %s logged in", user);

      /*

       * Формируем запись wtmp.

       */

      tty = strrchr(devname, '/');

      if (tty == NULL) tty = devname;

          else tty++;

      logwtmp(tty, user, "");             /* Добавляем запись wtmp */

      logged_in = TRUE;

      return (UPAP_AUTHACK);

  }

Тщательный анализ кода позволяет заметить еще одно важное изменение. Если в первоначальной версии программы разрешался доступ к системе пользователю, для которого не был введен пароль в файле /etc/passwd, то теперь такой безответственный пользователь в систему просто допущен не будет.

Теперь нам необходимо модифицировать сборочный файл Makefile, таким образом, чтобы учитывались следующие два фактора:

·

наличие условной переменной USE_SHADOW;

·

подключение библиотеки libshadow.a на этапе компоновки.

Для этого при редактировании Makefile вы должны добавить:

LIBS = -lshadow

а затем найти строку:

       COMPILE_FLAGS = -I.. -D_linux_=1 -DGIDSET_TYPE=gid_t

и изменнить ее на:

COMPILE_FLAGS=-I.. -D_linux_=1 -DGIDSET_TYPE=gid_t -DUSE_SHADOW

Все, теперь для запуска примера достаточно запустить make install.

 




Начало  Назад  Вперед