个人工具

UbuntuHelp:AutofsLDAP

来自Ubuntu中文

跳转至: 导航, 搜索


Introduction

Automount is the modern way to mount directories over a network. It is far easier to manage and is more economic in bandwidth. In this howto, autofs will be configured through an LDAP directory: in that way, we have a centralised configuration and make maximum use of the LDAP that has been setup. Great, isn't it?

Installation

First of all, automount is composed of two parts: a kernel module and user land utilities. Kernels in modern GNU/Linux distributions are compiled with support for automount. You just have to install the user land utilities: install the following packages autofs-ldap ldap-utils (see InstallingSoftware). If you plan to only use flat files configuration, you do not need to install the autofs-ldap package: installation is described in Autofs howto.

Configuration

Configuring LDAP automount consists of several parts:

  • configure openldap server to load the autofs-ldap schema
  • entering LDAP entries for defining mountpoints
  • entering LDAP entries for defining directories
  • defining on the client to use LDAP for automount configuration

On the server

Tell the slapd daemon to load /etc/ldap/schema/autofs-ldap.schema:

sudo nano /etc/ldap/slapd.conf

and add the line

#Schema and objectClass definitions
include /etc/ldap/schema/autofs.schema

The autofs.schema line must be inserted after core.schema and cosine.schema Finally restart the slapd service:

sudo /etc/init.d/slapd restart

Populating LDAP

In the LDAP directory, you have to enter two kinds of entries:

  • entry that defines the mountpoint
  • entry that defines the directory under a mountpoint

Here is an example of LDAP entries based on the OpenLDAPServer installation.

dn: ou=admin,dc=example,dc=com
ou: admin
objectClass: top
objectClass: organizationalUnit

dn: ou=automount,ou=admin,dc=example,dc=com
ou: automount
objectClass: top
objectClass: organizationalUnit

dn: ou=auto.master,ou=automount,ou=admin,dc=example,dc=com
ou: auto.master
objectClass: top
objectClass: automountMap
  
dn: cn=/home,ou=auto.master,ou=automount,ou=admin,dc=example,dc=com
cn: /home
objectClass: top
objectClass: automount
automountInformation: ldap:ou=auto.home,ou=automount,ou=admin,dc=example,dc=com --timeout=60 --ghost

dn: ou=auto.home,ou=automount,ou=admin,dc=example,dc=com
ou: auto.home
objectClass: top
objectClass organizationalUnit

dn: cn=lionel,ou=auto.home,ou=automount,ou=admin,dc=example,dc=com
cn: lionel
objectClass: top
objectClass: automount
automountInformation: -fstype=nfs,rw,hard,intr,nodev,exec,nosuid,rsize=8192,wsize=8192 nfs.example.com:/export/home/lionel

On the client

On the client, you only have to add the LDAP map to the automount entry of /etc/nsswitch.conf. Edit your /etc/nsswitch.conf and add the line:

automount:      files ldap

The package ldap-utils has to be configured. Edit /etc/ldap/ldap.conf:

BASE    dc=example,dc=com
URI     ldap://ldap.example.com

Launch

autofs looks in the LDAP directory for the automountMap. You just have to launch autofs:

sudo /etc/init.d/autofs start

Test

Just check with a mount that automount has been started correctly:

mount | grep automount
automount(pid5058) on /home type autofs (rw,fd=4,pgrp=5058,minproto=2,maxproto=4)