Несколько сеть PC централизовали аутентификацию системой

Существует 'C', 'Python', решение PAM, заключенное в кавычки здесь, позволило мне поместить жемчуг один также :-)

Источник: http://search.cpan.org/~nikip/Authen-PAM-0.16/PAM/FAQ.pod#1._Can_I_authenticate_a_user_non_interactively?

#!/usr/bin/perl

  use Authen::PAM;
  use POSIX qw(ttyname);

  $service = "login";
  $username = "foo";
  $password = "bar";
  $tty_name = ttyname(fileno(STDIN));

  sub my_conv_func {
    my @res;
    while ( @_ ) {
        my $code = shift;
        my $msg = shift;
        my $ans = "";

        $ans = $username if ($code == PAM_PROMPT_ECHO_ON() );
        $ans = $password if ($code == PAM_PROMPT_ECHO_OFF() );

        push @res, (PAM_SUCCESS(),$ans);
    }
    push @res, PAM_SUCCESS();
    return @res;
  }

  ref($pamh = new Authen::PAM($service, $username, \&my_conv_func)) ||
         die "Error code $pamh during PAM init!";

  $res = $pamh->pam_set_item(PAM_TTY(), $tty_name);
  $res = $pamh->pam_authenticate;
  print $pamh->pam_strerror($res),"\n" unless $res == PAM_SUCCESS();

3
23.10.2012, 00:02
2 ответа

Я сказал бы LDAP. Это вызвано тем, что необходимо угодить машинам Windows, существует хорошая открытая поддержка этих протоколов.

Ссылка в качестве примера: http://tldp.org/HOWTO/LDAP-HOWTO/authentication.html

Samba как Вы сказали, является большим выбором (пытающийся смонтировать вещи на окнах, обычно багги иначе).

В целом используйте методы окон, Вы сможете найти поддержку с открытым исходным кодом их. К сожалению, Microsoft не находит его в их интересе поддерживать другой (часто выше) технологии.

1
27.01.2020, 21:32

Поскольку вы упомянули об интеграции вашей аутентификации, а также сетевых служб, таких как NFS, я бы порекомендовал FreeIPA Server. Он не предназначен для клиентов Windows, но есть инструменты, которые его поддерживают (правда, это исправления).

FreeIPA содержит Kerberos KDC и сервер LDAP, а также будет администрировать вашу аутентификацию NFS и автоматически монтировать. Вы можете контролировать доступ sudo ко всем машинам. Я думаю, что для самого сервера требуется Enterprise Linux Host, но вы можете запустить его на виртуальной машине на своей машине FreeBSD. Тем не менее, похоже, что он некоторым образом поддерживает клиентов FreeBSD .

FreeIPA - это мощное корпоративное решение, но оно делает все, что вам нужно, и его значительно проще настроить, чем только OpenLDAP.

Что касается клиентов Windows. Предпочтительный метод в FreeIPA - установить SAMBA AD DC и создать доверительные отношения между ним и FreeIPA, что обсуждается здесь . Однако, если вам не нужны эти хлопоты, вы можете включить керберизованную аутентификацию на клиентах Windows, как описано на той же странице.

0
27.01.2020, 21:32

Теги

Похожие вопросы