Несколько имен для входа в систему для отдельного пользователя в Linux с помощью аутентификации сервера LDAP

Вершина l0 список сканеров Уязвимости: http:// sectools.org/vuln-scanners.html

Существует также Базовая безопасность Microsoft Анализатор, который должен быть частью Вашей основной установки, если не уже перед развертыванием сервера для подталкивания: http:// www.microsoft.com/downloads/details.aspx?familyid=F32921AF-9DBE-4DCE-889E-ECF997EB18E9&displaylang=en

2
задан 9 July 2009 в 11:46
3 ответа

Согласитесь с SLESKE, но подробно остановиться на его комментариях, необходимо сделать пару вещей сначала!

В Linux, библиотеки, которые управляют нуждающимся входом, который будет перенаправлен для использования бэкенда LDAP, как выступают к поиску вещей в/etc/passwd.

При использовании OpenLDAP затем, Вы захотите посмотреть на две вещи:

NSCD (Демон Кэширования Сервера имен), который кэширует запросы LDAP. Вы выполните это на каждом хосте, где пользователи входят в систему.

NSSLDAP (Переключатель сервера имен для LDAP) это - связующее звено, которое заставляет логины запрашивать NSCD, который в свою очередь, запросит бэкенд LDAP, или NSSLDAP запросит бэкенд LDAP непосредственно, если NSCD будет устаревшим или не доступным.

Таким образом на каждой рабочей станции необходимо будет установить OpenLDAP, NSCD и NSSLDAP если не часть распределения. OpenLDAP обязан получать клиентские библиотеки, которые знают, как говорить протокол LDAP.

Затем необходимо сделать редактирования в некоторые файлы:

/etc/nscd.conf Этот файл управляет тем, что кэшируется. Вот дамп от одной из моих систем, которая действует как сервер Samba:

    enable-cache            passwd          yes
    positive-time-to-live   passwd          10
    negative-time-to-live   passwd          3
    suggested-size          passwd          211
    check-files             passwd          yes
    persistent              passwd          yes
    shared                  passwd          yes
    max-db-size             passwd          33554432
    auto-propagate          passwd          yes

    enable-cache            group           yes
    positive-time-to-live   group           3600
    negative-time-to-live   group           3
    suggested-size          group           211
    check-files             group           yes
    persistent              group           yes
    shared                  group           yes
    max-db-size             group           33554432
    auto-propagate          group           yes

    enable-cache            hosts           yes
    positive-time-to-live   hosts           3600
    negative-time-to-live   hosts           3
    suggested-size          hosts           211
    check-files             hosts           yes
    persistent              hosts           yes
    shared                  hosts           yes
    max-db-size             hosts           33554432

Необходимо будет затем изменить nsswitch.ldap файл (прочитайте ДОКУМЕНТЫ о нем, слишком много для входа здесь).

ОДНА ОЧЕНЬ ВАЖНАЯ ВЕЩЬ!!!!

Если Ваш сервер LDAP снижается, Вы хотите удостовериться, что локальная корневая учетная запись может все еще войти в систему. Или если одна из Ваших рабочих станций будет иметь сетевые проблемы, то Вы захотите удостовериться, что можно все еще войти в систему.

Таким образом, когда мой Linux втискивает начальную загрузку, у меня есть сценарий, который всегда копирует nsswitch.conf файл в место, которое смотрит следующим образом:

пароль: разделите группу: разделить

хосты: файлы сети DNS: файлы

сервисы: протоколы файлов: файлы rpc: эфиры файлов: сетевые маски файлов: файлы netgroup: файлы bootparams: файлы

автосмонтируйтесь: псевдонимы файлов: файлы

и после того как я готов использовать LDAP для логинов, я заменяю nsswitch.conf файл следующим:

пароль: файлы ldap группа: файлы ldap тень: файлы ldap

хосты: файлы сети DNS: файлы

сервисы: протоколы файлов: файлы rpc: эфиры файлов: сетевые маски файлов: файлы netgroup: файлы bootparams: файлы

автосмонтируйтесь: псевдонимы файлов: файлы

Первый позволяет мне входить в систему локально, и последний позволяет обоим, но из-за кэширования NSCD, это занимает время, чтобы NSCD стал устаревшим таким образом вызывающие задержки входа в систему или проблемы.

Существует намного больше, чтобы быть сказанным относительно этого, но это, надо надеяться, запустило Вас.

BTW: я - разработчик Linux Pozix и Сервера Малого бизнеса Linux Pozix, и у нас есть более чем 400 систем Samba, выполняющих много этого пути!

Согласованный, комментарии TRS80 действительны, но вот сценарий, который мы используем для создания файлов LDIF из/etc/passwd файлов. Получающийся файл LDIF может использоваться для заполнения базы данных LDAP. Необходимо будет удостовериться что, если Вы запустите этот скрипт на нескольких рабочих станциях, что Вы избавляетесь от дублирующихся имен учетной записи так, чтобы Вы волновали с уникальными именами учетной записи с уникальным UIDs.

cat /etc/passwd | while read i; do
  uid=`echo $i | cut -d : -f 1`
  uidNumber=`echo $i | cut -d : -f 3`
  gidNumber=`echo $i | cut -d : -f 4`
  gecos=`echo $i | cut -d : -f 5`
  homeDirectory=`echo $i | cut -d : -f 6`
  loginShell=`echo $i | cut -d : -f 6`
  userPassword=`cat /etc/shadow | grep $uid | cut -d : -f 2`

  echo "dn: cn=$gecos,ou=people,dc=mycompany,dc=com"
  echo "objectClass: account"
  echo "objectClass: posixAccount"
  echo "cn: $gecos"
  echo "uid: $uid"
  echo "uidNumber: $uidNumber"
  echo "gidNumber: $gidNumber"
  echo "homeDirectory: $homeDirectory"
  echo "loginShell: $loginShell"
  echo "userPassword: $userPassword"

done
4
ответ дан 3 December 2019 в 09:30
  • 1
    Стоп, хороший комментарий :-). Существует ли причина, необходимо ли сделать эту замену? Если Вы просто всегда помещаете, разделяют вначале и только имел учетные записи sys в/etc/passwd, wouldn' t это быть тем же? –  sleske 9 July 2009 в 19:37
  • 2
    компактный позволяет нам поддерживать NIS +/-в/etc/passwd. Pozix Linux является уменьшенным дистрибутивом Linux и частью распределения, является NIS & NIS + и мы поставлемся с поддержкой NSSLDAP в lib6; большинство современных дистрибутивов придерживается этой философии также. Однако Вы правы, мы могли покончить компактный и использовать файл, если бы у нас не было потребности поддерживать NIS или NIS +. Другая часть Вашего вопроса о onlyh, имеющем sys учетные записи, если бы это имело место затем, мы не подкачали бы nsswitch.conf файл вообще; мы только делаем это, если пользователь хочет аутентификацию LDAP. См. мои комментарии о NSCD снова также.;) –  Kilo 10 July 2009 в 02:34
  • 3
    Объединение этого с тем, что предлагает TRS-80, должно получить Вас, где Вы хотите быть. –  Frenchie 18 July 2009 в 11:23

Если Вы устанавливаете uidNumber, и homeDirectory приписывает тому же для каждой учетной записи, вещи должны, вероятно, работать способ, которым Вы хотите.

1
ответ дан 3 December 2019 в 09:30

Вы не должны создавать 200 учетных записей пользователей на каждом ПК. Linux может выбрать всю информацию о пользователе от LDAP, таким образом, учетные записи не существуют локально (т.е. в/etc/passwd). Корневой каталог находится затем обычно на сетевом диске (NFS или подобен).

Это - стандартный подход. Существует ли причина, почему Вы не делаете этого?

1
ответ дан 3 December 2019 в 09:30
  • 1
    Если PC' s являются Windows, невысказанное требование здесь, что он настроил сервер Samba для обеспечения локальных корневых каталогов. –  kmarsh 9 July 2009 в 14:48
  • 2
    Причина состоит в том, что у нас нет машины сервера с аппаратными средствами способной к поддержке так большой загрузки, так много дискового пространства и т.д. –  Akilan 10 July 2009 в 12:48

Теги

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