Я недавно установил Ubuntu ldap client authentication
на кармических клиентах и клиентах lucid для настольных ПК, и сервер ldap работает на сервере 10.04 LTS и этот это ссылка, по которой я перешел для настройки клиента, и, вероятно, это также работает для 11.04. Я мог войти в систему для клиентов с учетными записями пользователей ldap, а также на клиентах, которые я использовал запись session required pam_mkhomedir.so umask=0022 skel=/etc/skel
в pam.d /common-session
для автоматического создания домашнего каталога на клиентских компьютерах при первом входе пользователя в систему. Я предполагаю, что был бы способ синхронизировать домашний каталог с клиента на сервер и наоборот, чтобы у пользователей были свои документы, на каком бы клиенте они ни входили.
Мне осталось выполнить следующую задачу:
Я пробовал с autofs
но проблема заключается в локальных учетных записях пользователей (администратор, гость) на клиентских компьютерах, которые также синхронизируются или перезаписываются (что я не хочу, чтобы они монтировались), когда я помещаю запись * server:/ldaphome/&
в /etc/auto.home
для синхронизации домашнего каталога пользователя ldap (включая запись /home /etc/autofs.home
в /etc/autofs.master
).
У кого-нибудь есть какой-нибудь трюк, чтобы сделать это или каким-либо другим способом, чтобы я мог входить в клиенты с учетными данными как ldap, так и локального пользователя, имея домашний каталог, синхронизированный для пользователей ldap ?. Я знаю, что здесь много мастеров, как бы это сделать с их стилем?
Обновление: 1
Я попытался autofs
автоматическое монтирование другого каталога (ldaphome) кроме home
на клиенте, и я попытался связать ldaphome/$USER
и home/$USER
на том же клиенте, так что когда ldaphome на сервере монтирует ldaphome на клиенте, домашний каталог пользователя home / $ USER будет синхронизироваться из-за символической ссылки. Итак, я отредактировал /etc/profile.d/custom.sh
файл и размещен ln -sf "/ldaphome/$USER" "/home/$USER"
чтобы связать эти каталоги при входе в систему. Я понял, что символические ссылки не работают должным образом для каталога, поскольку они создают имя ссылки в / home / $ USER / $ USER.
DROPPED THIS SYMLINK METHOD!
Обновление: 2
Нет никакого другого выхода, кроме изменения домашнего каталога локального пользователя на клиентах и автоматического монтирования home
каталог в autofs
но тот же локальный администратор на клиентах, которых я стремлюсь защитить, также доступен как учетные записи пользователей на сервере (admin, guest) ...
Обновление: 3
Я пошел на компромисс, просто переехал (usermod -m -d /local-home/admin admin
) уже существующие локальные учетные записи пользователей в другой домашний каталог, а затем я настраиваю автоматическое монтирование для home
на клиенте. Я снова столкнулся с проблемой, когда клиент аутентифицирован ldap, он не получает домашние документы с сервера, а работает, только если я его вручную монтирую (mount ldapserver:/ldaphome/test /home/test
) на клиенте. Клиент karmic
...
Конфигурация клиента:
vim /etc/nsswitch.conf:
# pre_auth-client-config # passwd: compat
passwd: files ldap
# pre_auth-client-config # group: compat
group: files ldap
# pre_auth-client-config # shadow: compat
shadow: files ldap
hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4
networks: files
protocols: db files
services: db files
ethers: db files
rpc: db files
# pre_auth-client-config # netgroup: nis
netgroup: nis
vim /etc/ldap.conf:
base dc=mydomain,dc=net
uri ldap://192.168.1.2
ldap_version 3
rootbinddn cn=admin,dc=mydomain,dc=net
bind_policy soft
pam_password md5
nss_initgroups_ignoreusers avahi,avahi-autoipd,backup,bin,colord,daemon,games,gdm,gnats,hplip,irc,kernoops,libuuid,lightdm,list,lp,mail,man,messagebus,news,proxy,pulse,root,rtkit,saned,speech-dispatcher,sshd,statd,sync,sys,syslog,usbmux,uucp,vboxadd,www-data
vim /etc/ldap/ldap.conf:
BASE dc=mydomain,dc=net
URI ldap://192.168.1.2
SIZELIMIT 0
TIMELIMIT 0
DEREF never
# TLS certificates (needed for GnuTLS)
TLS_CACERT /etc/ssl/certs/ca-certificates.crt
vim /etc/auto.master:
+auto.master
/home /etc/auto.home
vim /etc/auto.home:
* 192.168.1.2:/ldaphome/&
я разделяю ldaphome
на сервере (192.168.1.2). Теперь проблема в том, что у меня есть /home
как отдельный раздел на клиенте, и я размонтировал его в fstab
и смонтировал его с помощью ldaphome, который вы могли видеть в конфигурации autofs. Когда я пытаюсь войти в систему с помощью ldap, после успешной аутентификации снова появляется экран входа в систему. Когда я остановлюсь autofs
service, он обычно регистрирует создание домашнего каталога, как я использовал session required pam_mkhomedir.so umask=0022
в pam.d / common-session.
Когда я пытаюсь войти в первый раз с любой новой учетной записью ldap, появляется следующая ошибка:
Creating directory '/home/user3'.
Unable to create and initialize directory '/home/user3'.
No directory, logging in with HOME=/
vim /var/log/auth.log:
lucid mkhomedir_helper: PAM unable to create directory /home/user3: No such file or directory
Существует два распространенных способа работы со смесью локальных и централизованных учетных записей (будь то LDAP, NIS или что-то еще). Ваше третье обновление касается одного из них.
/home
базовый каталог для дома/home
базовый каталог для домаЯ обычно использую вариант №1 и создаю /local
затем настройте мои локальные учетные записи, чтобы там были домашние каталоги, такие как /local/admin
, /local/sysadmin
, /local/joe
и т.д. Затем я использую autofs для управления монтированием централизованных / удаленных домашних каталогов в /home
примерно так же, как вы описываете в «Обновлении 3».
Я полагаю, ваш сервер экспортирует домашние каталоги с помощью NFS? Если вручную монтирование экспорта NFS на клиенте работает, как ожидалось, а autofs - нет, ваша проблема почти наверняка связана с настройкой autofs.
Если вам нужна помощь в решении вашей проблемы с autofs, опубликуйте содержимое /etc/nsswitch.conf
, /etc/(open)ldap/ldap.conf
, /etc/ldap.conf
и /etc/auto.master
и /etc/auto.home
(или что-то там / где есть соответствующие конфигурации autofs).
Мне пришлось создать или скопировать home directory
пользователей ldap под ldaphome
который я поделился на сервере через nfs, и я совершенно не ожидал, что это должно быть причиной. Я думал, что домашний каталог пользователя будет автоматически создан под ldaphome, когда пользователь впервые войдет в систему на клиенте. Я сделал следующее, и каждый пользователь легко аутентифицируется и автоматизирует свой домашний каталог без вывода сообщений об ошибке, и я думаю, что запись session required pam_mkhomedir.so umask=0022
совсем не нужно:
На сервере,
cp -a /home/* /ldaphome/
Или, если домашний каталог недоступен для пользователя ldap в / home, создание каталога сработало.
mkdir /ldaphome/ldapuser
chown -R ldapuser:ldapuser /ldaphome/ldapuser
У клиента,
Переместите локальную учетную запись пользователя в любой каталог, скажем /local-home
по,
mkdir /local-home
usermod -m -d /local-home/username username
/home
каталог в /etc/fstab
файл, чтобы позволить autofs монтировать /home
.Попробуйте войти в систему с учетными данными ldap на клиенте ... сработало!
Поскольку я новичок в этой настройке на Linux, основанной на использовании в режиме реального времени, меня очень беспокоит, какова будет производительность с NFS на сервере, когда многие пользователи будут входить и монтировать одновременно. Я не знаю другого способа сделать это, если он имеет меньшую нагрузку на сервер или лучший по производительности. Если есть, мне очень интересно услышать от кого-нибудь.
Вы смотрели на pam_mount? Это то, что я использую в настоящее время, хотя мой вариант использования немного отличается от вашего. Эта запись в блоге дает довольно хороший обзор процесса, он ориентирован на сервер SAMBA, но если вы игнорируете специфические части samba, он работает с NFS (это то, что я использую) и будет работать с 10.04. 11.04 не пробовал.