[자료] OpenLDAP Everywhere - ldap이용 계정등 통합하기

문태준의 이미지

바뀐 저작권법에서는 링크도 저작권자의 허락을 받아야하니 이렇게 펌도 불법이겠군요. 온국민을 감옥으로 보내라!

[출처] http://www.linuxjournal.com/node/6266/print

O'REILY 에서 나온 LDAP System Administration 의 9. LDAP Interoperability 에 이와 관련된 내용이 나옵니다. 그런데 여기 책에서도 마이크로소프트의 서버와 기술이 아닌 것으로 Active Direcroty Domain을 구현할 방법이 없다고 나오고 있습니다. 대신 유닉스 계정인증을 AD로 이용하는 방법에 대하여 나오고 있습니다.

이와 관련하여서 리눅스저널의 참고자료가 있습니다.

http://www.linuxjournal.com/node/6266/print

OpenLDAP Everywhere
아마도 이 기사가 도움이 되리란 생각이 되는데 제가 AD를 잘 몰라서요.

위 기사를 보시면 윈도우와 리눅스 계정을 LDAP을 이용하여 통합하고 LDAP을 이용 주소록을 이용하는 경우에 대한 설명을 담고 있습니다. 여기서 윈도우즈는 SAMBA를 이용하여 LDAP서버에 접근을 합니다. 내용은 리눅스를 기반으로 하고 있지만 솔라리스등 다른 유닉스에서도 비슷하게 접근가능할 것이라 생각이 되네요.

기타참고자료
http://www.joinc.co.kr/modules/moniwiki/wiki.php/%B8%AE%B4%AA%BD%BA%BF%A1%BC%AD%20LDAP%B8%A6%20%C0%CC%BF%EB%C7%D1%20PAM%20%B1%B8%BC%BA 리눅스에서 LDAP를 이용한 PAM 구성
http://www.linuxjournal.com/article/5689 OpenLDAP with Linux and Windows
http://www.linuxjournal.com/article/5505 Highly Available LDAP
==============================================================

LJ Logo
OpenLDAP Everywhere
By Craig Swanson and Matt Lung
Created 2002-12-01 00:00

Step-by-step instructions for sharing e-mail directories, having a unified login and sharing files in a mixed environment.

The purpose of this article is to demonstrate the use of OpenLDAP as the core directory service for a heterogeneous environment. The LDAP server provides a shared e-mail directory, a unified login for Linux and Windows users, automount of home directories and file sharing for both Linux and Windows clients.

Midwest Tool & Die has been using OpenLDAP for three years, and the performance has been flawless. We have experienced 100% uptime for the directory. The company saw the first big benefit from sharing e-mail contacts in the directory. Now, we have unified logon from any networked computer. Our computer users can access the same file storage through Windows/Samba or through Linux/NFS/automount. The result is seamless access to network services.
[1]

Figure 1. OpenLDAP Mixed Environment

A simple mixed environment used in the examples in this article is shown in Figure 1. The configuration discussed in this article does not document the use of SSL. The ldapsync.pl program it uses may expose your LDAP manager password. As a result, Windows clients may cache user passwords, thereby creating a new risk to Linux security. Review your security needs with caution and prudence, and attempt this configuration at your own risk. Neither the authors, nor our employer, Midwest Tool & Die, takes any responsibility for your security.
LDAP Server Installation and Configuration

The LDAP server we discuss was installed using RPM binary packages and uses openldap-2.0.11-8 on Red Hat 7.1. You also need to have the auth_ldap and nss_ldap packages. This article assumes a domain name of foo.com.

To use the most recent source, follow the instructions at www.openldap.org/doc/admin/quickstart.html [2] to download and install OpenLDAP. Edit the OpenLDAP server configuration file, /etc/openldap/slapd.conf as follows:

# Schemas to use
include /etc/openldap/schema/core.schema
include /etc/openldap/schema/cosine.schema
include /etc/openldap/schema/inetorgperson.schema
include /etc/openldap/schema/nis.schema
include /etc/openldap/schema/redhat/
rfc822-MailMember.schema
include /etc/openldap/schema/redhat/autofs.schema
include /etc/openldap/schema/redhat/
kerberosobject.schema
database ldbm
suffix "dc=foo,dc=com"
rootdn "cn=Manager, dc=foo,dc=com"
rootpw {crypt}sadtCr0CILzv2
directory /var/lib/ldap
index default eq
index objectClass,uid,uidNumber,gidNumber eq
index cn,mail,surname,givenname eq,sub
# Access Control (See openldap v.2.0 Admin Guide)
access to attr=userPassword
by self write
by anonymous auth
by dn="cn=manager,dc=foo,dc=com" write
by * compare
access to *
by self write
by dn="cn=manager,dc=foo,dc=com" write
by * read

The LDAP schemas define object classes and attributes that make up the directory entries. With the edits above, the hard work of defining schemas to fit our uses has been done. The schemas that we need, listed in the first section of slapd.conf, already have been defined and packaged with the RPM installation.

If you find that you need to add an objectClass or an attribute for your directory, see the OpenLDAP admin guide at www.openldap.org/doc/admin20/schema.html [3]. We'll use the default database type ldbm, and our example uses the LDAP domain component. Therefore, foo.com becomes dc=foo,dc=com. In addition, the manager has full write access to LDAP entries.

The Red Hat 7.3 Reference Guide suggests using crypt to protect the manager's password:

perl -e "print crypt('passwd',
'salt_string',);"

In the previous Perl line, replace salt_string with a two-character salt, and passwd with the plain-text version of the password. Paste the resulting encrypted password into slapd.conf as shown above.

The index lines enhance performance for attributes that are often queried. Access control restricts access to the userPassword entry, but the user and manager may modify the entry. For all other entries, the manager has write access, and everyone else is granted read access.
Create the Directory Structure

LDAP can be seen as a tree, with foo.com at the trunk. Branches are created as organizational units (ou), as shown in Figure 2.
[4]

Figure 2. Organizational units are branches on the LDAP tree.

Each entry in the directory is uniquely identified with a distinguished name (dn). The dn for the LDAP manager looks like dn: cn=manager, dc=foo, dc=com.

The ou provides a method for grouping entries, as shown in Table 1.

Table 1. ou Method for Grouping Entries [5]

We create the individual entries in LDIF (LDAP Interchange Format) and save them to top.ldif:

dn: dc=foo, dc=com
objectclass: dcObject
objectclass: organization
o: Foo Company
dc: foo
dn: cn=manager, dc=foo, dc=com
objectclass: organizationalRole
cn: manager
dn: ou=people, dc=foo, dc=com
ou: people
objectclass: organizationalUnit
objectclass: domainRelatedObject
associatedDomain: foo.com
dn: ou=contacts, ou=people, dc=foo, dc=com
ou: contacts
ou: people
objectclass: organizationalUnit
objectclass: domainRelatedObject
associatedDomain: foo.com
dn: ou=group, dc=foo, dc=com
ou: group
objectclass: organizationalUnit
objectclass: domainRelatedObject

Add the top-level entries to the directory with ldapadd:

ldapadd -x -D 'cn=manager,dc=foo,dc=com' -W \
-f top.ldif

Then, test your work with ldapsearch to retrieve all entries:

ldapsearch -x -b 'dc=foo,dc=com'

Share E-Mail Contacts

At this point, we have enough structure in LDAP to put it to real use. We'll start by sharing our e-mail contacts, which also should be in LDIF.

To simplify the process, you may be able to export your e-mail address book in LDIF. For example, in Mozilla 1.0, you can export in LDIF from the Tools menu on the address book window. Microsoft Outlook Express also allows exporting the address book in LDIF. You will need to process the resulting file so it looks like our contacts example below; I suggest using Perl for the task.

Contacts are uniquely identified by their e-mail addresses. Here is the dn for a sample contact:

dn: uid=someone@somewhere.com,ou=contacts,
ou=people, dc=foo,dc=com

With all of the attributes, the full entry for a contact looks like:

dn: uid=someone@somewhere.com,ou=contacts,
ou=people, dc=foo,dc=com
cn: Someone Youknow
mail:
uid:
givenname: Someone
sn: Youknow
objectclass: person
objectClass: top
objectClass: inetOrgPerson

Separate each contact entry with a blank line, and save it to a file called contacts.ldif. Then you can add the contacts to the directory with ldapadd:

ldapadd -x -D 'cn=manager,dc=foo,dc=com' -W \
-f contacts.ldif

Once again, test your work with an ldapsearch that retrieves all entries:

ldapsearch -x -b 'dc=foo,dc=com'

Configure E-Mail Clients

Now it's time to configure Mozilla to use the new LDAP server (see Figure 3).
[6]

Figure 3. Directory Server Properties Dialog Box in Mozilla

From the Edit menu in the Mozilla Mail and News window, select Mail & Newsgroup Account Setting. In the Addressing tab, select Use a different LDAP server, then select Edit Directories and then Add. Fill in the Directory Server Properties dialog with:

Name: FOO
Server: ldapserver.foo.com
base DN: ou=people,dc=foo,dc=com

Next, tell Mozilla to look up addresses in your directory. Under Addressing in the Mail and Newsgroups preferences, select Address Autocompletion and fill in FOO for Directory Server.

Test your settings by composing a message to one of your contacts in your LDAP directory. The address should autocomplete as you type. Another test is to search the LDAP directory from within the Mozilla Mail Address Book. A search for Name or E-mail that contains * should return all of the contact entries. Similarly, you can also configure Microsoft Outlook Express to use the LDAP directory.
Unified Linux Login with LDAP

By storing user account information in LDAP, you can use the same user name and password at any Linux console. To start, you must decide which user names should be entered in LDAP. Here is our user scheme for UID/GIDs:

*

System accounts: UID < 500
*

Real people in LDAP: 499 < UID < 10,000
*

Local users, groups (not in LDAP) > 10,000

This user scheme allows for 9,500 LDAP user and group entries, while allowing local per-system users and groups that do not interfere with LDAP UID/GIDs.
Create Local Computer User Entries

An entry for a local computer user is identified by the login name as ``uid''. Local computer users are members of ou=people: dn: uid=gomerp,ou=people,dc=foo,dc=com.

The full entry contains the attributes needed to control account access:

dn: uid=gomerp,ou=people,dc=foo,dc=com
uid: gomerp
cn: Gomer Pyle
givenname: Gomer
sn: Pyle
mail:
objectClass: person

objectClass: organizationalPerson
objectClass: inetOrgPerson
objectClass: account
objectClass: posixAccount
objectClass: top
objectClass: kerberosSecurityObject
objectClass: shadowAccount
userPassword: useradd_ldap_flag
shadowLastChange: 11547
shadowMax: 99999
shadowFlag: 0
krbname:
loginShell: /bin/bash
uidNumber: 531
gidNumber: 531
homeDirectory: /h/gomerp
gecos: Gomer Pyle

To make this easier, OpenLDAP ships with migration utilities that can extract the user account information; see /usr/share/openldap/migration. The first thing you need to do is edit migrate_common.ph:

# Default DNS domain
$DEFAULT_MAIL_DOMAIN = "foo.com";
# Default base
$DEFAULT_BASE = "dc=foo,dc=com";
# turn this on to support more general object classes
# such as person.
$EXTENDED_SCHEMA = 1;

Then, extract the user account information:

/usr/share/openldap/migration/migrate_passwd.pl \
/etc/passwod >people.ldif

Once this is done, review the resulting LDIF file. You should remove entries for system accounts such as root and for local system users that do not need to appear in LDAP. Finally, add the user entries to LDAP:

ldapadd -x -D 'cn=manager,dc=foo,dc=com' -W \
-f people.ldif

As always, test your work with an ldapsearch that retrieves all entries:

ldapsearch -x -b "dc=foo,dc=com"
"(objectclass=*)"

Because the computer users belong to ou=people, you may now look up their e-mail addresses within your mail client.

Create Group Entries

You need to make a group entry for each group that is shared between multiple Linux computers. Each user also needs a group entry for the user private group. A group entry is identified by ``cn'', and each group belongs to ou=group, for example:

dn: cn=gomerp,ou=group,dc=foo,dc=com

A user private group would look like this:

dn: cn=gomerp,ou=group,dc=foo,dc=com
objectClass: posixGroup
objectClass: top
cn: gomerp
userPassword: {crypt}x
gidNumber: 531

While a shared group would look like:

dn: cn=web_dev,ou=group,dc=foo,dc=com
objectClass: posixGroup
objectClass: top
cn: web_dev
gidNumber: 502
memberUid: gomerp
memberUid: goober
memberUid: barneyf

After creating the group entry, extract the group information:

/usr/share/openldap/migration/migrate_passwd.pl \
/etc/group >group.ldif

Review the resulting LDIF file, removing entries for system groups and for local system users that do not need to appear in LDAP. Then, add the group entries to LDAP:

ldapadd -x -D 'cn=manager,dc=foo,dc=com' -W \
-f group.ldif

Test your work with an ldapsearch that retrieves all group entries:

ldapsearch -x -b 'dc=foo,cd=com'

Configure Automount to Share Home Directories (and NFS Shares)

With unified login, users have a single home directory shared via NFS. To keep things simple, we host our home directories from ldapserver.foo.com and share /home via NFS. NFS is outside the scope of this article, but here is a line from /etc/exports that works.

/home *.foo.com(rw)

Linux LDAP clients mount the user's home directory at login, using automount and NFS. The LDAP use of automount is a replacement for NIS (Network Information Service) automount maps. Replace the automount maps for auto.master, auto.home and auto.misc.

We also create a new organizational unit for auto.master:

dn: ou=auto.master,dc=foo,dc=com
objectClass: top
objectClass: automountMap
ou: auto.master

An auto.master entry is identified by ``cn''. The automountInformation attribute instructs automount to look for the map in LDAP:

dn: cn=/h, ou=auto.master,dc=foo,dc=com
objectClass: automount
automountInformation: ldap:ou=auto.home,
dc=foo,dc=com
cn: /h

While we're at it, let's create an auto.master entry for other NFS shared directories:

dn: cn=/share, ou=auto.master,dc=foo,dc=com
objectClass: automount
automountInformation: ldap:ou=auto.misc,
dc=foo,dc=com
cn: /share

Create the automount entries in LDIF format and save as auto.master.ldif:

dn: ou=auto.master,dc=foo,dc=com
objectClass: top
objectClass: automountMap
ou: auto.master
dn: cn=/h, ou=auto.master,dc=foo,dc=com
objectClass: automount
automountInformation: ldap:ou=auto.home,
dc=foo,dc=com
cn: /h
dn: cn=/share, ou=auto.master,dc=foo,dc=com
objectClass: automount
automountInformation: ldap:ou=auto.misc,
dc=foo,dc=com
cn: /share

Add the auto.master entries to LDAP:

ldapadd -x -D 'cn=manager,dc=foo,dc=com' -W \

-f auto.master.ldif

Next, we create a new organizational unit for auto.home, ou=auto.home. A home directory entry is identified by ``cn'':

dn: cn=gomerp,ou=auto.home,dc=foo,dc=com

Create auto.home entries for each user in LDIF format and save as auto.home.ldif:

dn: ou=auto.home,dc=foo,dc=com
objectClass: top
objectClass: automountMap
ou: auto.home
dn: cn=gomerp,ou=auto.home,dc=foo,dc=com
objectClass: automount
automountInformation:
ldapserver.foo.com:/home/gomerp
cn: super3

Add the auto.home entries to LDAP:

ldapadd -x -D 'cn=manager,dc=foo,dc=com' -W \
-f auto.home.ldif

When automounted from a Linux LDAP client, your home directory (ldapserver.foo.com:/home/gomerp) is mounted on /h/gomerp. Other NFS shares may be entered in LDAP and automounted as they are needed. The auto.misc organizational unit holds these automount maps, which have the form ou=auto.misc.

We've already created an auto.master entry for /share, as indicated above. Now, create entries for NFS shares under auto.misc, and save them as auto.misc.ldif:

dn: ou=auto.misc,dc=foo,dc=com
objectClass: top
objectClass: automountMap
ou: auto.misc
dn: cn=redhat,ou=auto.misc,dc=foo,dc=com
objectClass: automount
automountInformation:
bigdisk.foo.com:/pub/redhat
cn: redhat
dn: cn=engineering,ou=auto.misc,dc=foo,dc=com
objectClass: automount
automountInformation:
bigdisk.foo.com:/data/engineering
cn: engineering

Add the auto.misc entries to LDAP:

ldapadd -x -D 'cn=manager,dc=foo,dc=com' -W \
-f auto.misc.ldif

When automounted from a Linux LDAP client, your shared directory bigdisk.foo.com:/data/engineering is mounted on /share/engineering.

Configure the Linux LDAP Client

You now need to install the authentication package, auth_ldap, and the name switch service package, nss_ldap. The Red Hat tool /usr/bin/authconfig is handy for configuring the client. Select Use LDAP

Forums: 
김정균의 이미지

samba 를 이용한 방법도 괜찮겠지만, 제가 작년에 시도를 해 본 것은 windog 의 logon 을 바꿔치기를 하는 것입니다. PJINA 라고 windog 의 logon 을 바꿔치기 해서 krb5/pam/ldap 등의 인증을 사용할 수 있었습니다. International/US only 버전으로 개발 되며, US only 가 좀더 빨리 업데이트가 되더군요.

작년에 windows 와 Unix machine 간의 계정을 통합 하려고 작업을 했었는데, 어쩌다 보니 유명 무실하게 되어 (뭐 정확히는 할 필요가 없게 되었습니다.) 진행을 멈추었었는데.. 어쨌든 samba 를 이용하는 방법 보다는 logon 자체를 바꿔치기 하는 것이 더 효율적이라고 판단했었던 것 같습니다.

진행은 누구를 시켜서 했는지라.. 저는 사실만..

http://pgina.xpasystems.com/

를 참고 해 보세요. 아마 직접 빌드를 했어야 했던 것으로 기억이 납니다. ^^;

비행소년의 이미지

저도 Unix+Windows 환경에서 통합 계정에 대해서 관심을 가지고 있었습니다만. pGina가 좋은 방법으로 보이네요.

전에 2003과 Linux의 계정을 통합 하려 했더니 Linux에서 Ldap으로 ADS에 접근은 되는데,
그 반대로 하는 방법을 찾을 수가 없더군요.

게다가 Linux 는 DMZ에 있고 2003은 내부에 있으니, 정말 대책이 없었습니다. (충분하게 CAL도 구매를 했는데 :evil: )

pGina의 Ldap 모듈로 windows의 계정을 통합 해서 Single-Sign ON 을 구축하는 것도 좋겠군요.

혹시 pGina를 사용했을때 보안 관련 부분 특히 NTFS에서 ACL을 설정하는데 사용자 목록을 제대로 받아 오지 못한다거나 하는 문제는 없나요?

높이 날다 떨어지면.
아푸다 ㅡ,.ㅡ

문태준의 이미지

기존에 진행했던 자료들은 올려주시면 좋을듯.

http://database.sarang.net 의 ldap게시판과 여기 kldp에도 올려주시면 많은 도움이 되지 않을까요.

---------------------------
문태준
http://groups.google.co.kr/group/sysadminstudy 시스템어드민 공부모임
http://tunelinux.pe.kr
http://database.sarang.net

wooks의 이미지

update된 원문이 올라왔었네요.
http://www.linuxjournal.com/article/8119

문태준의 이미지

자료 잘 보겠습니다. 좀더 보강된 내용들이 있네요.
개인적으로는 아직까지는 윈도우AD와 연동할 일은 없었는데 조만간 해보려고 합니다.

참고로 최근 일부 수정한 내용은 http://wiki.kldp.org/wiki.php/LDAP-Tips 에 올려두었습니다.
위의 문서에도 각 호스트별, 사용자별 접근제어에 대한 내용은 없는데 예전 문서에서 좀더 보강하였고 아직 위키문서에 반영하지는 않았습니다.
http://database.sarang.net/?inc=read&aid=2213&criteria=ldap 에서 답변에 단글 참고
제가 위키에 정리한 내용도 일부 변경된 부분이 있는데 이건 난중에 몽땅 합쳐서 올릴 예정입니다.

이렇게 정보를 올려주시니 큰 도움이 되네요. 정보란 나누어야~~~

일부 발제
12.3 호스트, 사용자별 접근제한

특정 호스트, 사용자를 지정하여 접근을 제한할 수 있는데 두가지 방법이 있다.
첫번째는 특정한 호스트에 접속가능한 사용자들을 지정하는 방식(a.server 에 a,b,c 사용자 접속가능)이 있고 두번째는 특정한 사용자가 접속가능한 호스트들을 지정하는 방식(a 사용자는 가,나,다 서버에 접속가능)이 있다.

실제 사용하는 경우 뒤의 방식이 더 편리하다. 앞의 방식은 클라이언트에서 설정을 일일이 세팅해야하지만 뒤의 방식은 클라이언트에서 동일한 설정을 유지하되 ldap서버에서 변경을 할 수가 있다.

---------------------------
문태준
http://tunelinux.pe.kr
http://database.sarang.net

---------------------------
문태준
http://groups.google.co.kr/group/sysadminstudy 시스템어드민 공부모임
http://tunelinux.pe.kr
http://database.sarang.net

김정균의 이미지

올해 linux server 인증을 windows AD 에 연동한 작업을 시도했었습니다. samba 의 winbind(ridmap) + PAM 으로 구현을 했는데, 생각보다 간단하게 연동이 됩니다. 이쪽으로는 한글 문서들도 있으니 (전 다하고 나서 찾아서 T.T) 검색해 보시면 될 것 같고요.

참고로, LDAP 이나 winbind 나 모두 연동 자체는 어렵지 않습니다. 하지만 제대로 설계를 하려면 PAM 에 대해서 빠삭해져야 한다는 것이 포인트 입니다. (한 2달 삽질했더니 PAM 에 대해서 좀 이해가 되더군요 ^^)

wish의 이미지

Linux -> Windows 로 AD 를 이용한 인증 통합은 가능 하지만,

Windows -> Linux 로의 인증 통합은 방법을 못 찾았었는데,

윈도우즈 로그온을 바꿔 버리는 프로젝트가 있었군요 ^^;;

ydhoney_회사의 이미지

http://ydhoney.egloos.com/2870688

HowTo들을 중심으로 링크를 정리를 해두었습니다.

해묵은 이론서들도 물론 중요하지만 실제로 구축을 해야하는 엔지니어들 입장에서 보면 특히나 LDAP같은 경우는 구축방식에 대한 HowTo가 무엇보다도 절실하게 되지요.

뭐 윈도우와의 통합에는 윈도우에 SFU를 써버리는 방법도 생각을 해 볼법 하지요.

실제로 이기종 시스템간의 계정 방법이야 여러가지가 있긴 합니다만 실제로 LDAP만으로 어지간한 이기종 시스템의 계정 통합을 생각하는건 좀 고려를 해 보아야 할 문제가 아닐까합니다.

실제로 초기 구축에 대한 문제도 있고, 시스템 구축 후 관리부분에 대해서도 어느정도 LDAP에 대해서 개념을 가지고 있는게 아닌 이상은 LDAP 구축/관리를 담당하던 직원이 퇴사를 해버리면 회사입장에서는 상당히 난감해집니다.

그래서 이를 실제로 감당해 줄 상용 솔루션들이 나오고 있는것이겠지요. 물론 이것도 모든 이슈들을 다 해결해주지는 못하겠지만 말이지요.

문태준의 이미지

링크말고 내용을 정리하세욧~

---------------------------
문태준
http://tunelinux.pe.kr
http://database.sarang.net

---------------------------
문태준
http://groups.google.co.kr/group/sysadminstudy 시스템어드민 공부모임
http://tunelinux.pe.kr
http://database.sarang.net

GunSmoke의 이미지

매우 유용한 정보입니다. 전부터 관심을 가지고 있던 주제인데 이미 이렇게 많은 논의가 있었네요.
참고로 네트워크 프린팅(http://kangcom.com/common/bookinfo/bookinfo.asp?sku=200109200008)이라는 책에 OpenLDAP를 이용해 중앙집중식으로 프린터를 관리하는 내용이 나옵니다.
OpenLDAP... 정말 대단해요. 정말...

ps. 검색을 생활화합시다.

大逆戰

大逆戰

문태준의 이미지

LDAP 자체에 대한 내용은 여러가지 자료들이 있습니다만 기본적인 내용만 소개를 하고 있습니다.
사용자인증을 LDAP으로 통합하여 한다고 할 경우 병렬클러스터링 환경같은 경우에는 동일한 사용자로 모두 접속을 허용하면 되겠지요.

그렇지만 실제 서비스에 사용하려면 여러가지 부분이 보강되어야 합니다.
예를 들어 ldap의 특정기능을 이용하면 사용자, 호스트별로 접근제한이 가능하며 병렬클러스터링이 아닌 일반적인 서비스 운영의 경우 반드시 필요한 부분입니다. ldap에 넣어두면 모든 사용자가 모든 서버에 접속이 가능하지요. 각 사용자별로 접근할 호스트를 제한할 수 있습니다.
또 위에서 하나 생기는 이슈는 사용자홈디렉토리 처리 부분입니다. 한가지는 nfs+autofs를 이용하여 사용자가 접속할때 자신의 홈디렉토리를 autofs 이용하여 마운트하는 방법이 있고 또 한가지는 각 서버별로 디렉토리가 남는 단점(기존의 방식)이 있지만 pam의 기능을 이용하여 로그인하는 경우 홈디렉토리가 없으면 자동으로 생성하도록 할 수 있습니다.

안정성을 위하여 백업도 해두면서 replication을 이용하여 master, slave 구조도 구성해야지요.

사용자 계정만 중앙관리하는게 아니라 /etc/hosts 파일도 중앙집중적으로 관리가 필요합니다. nis와 비슷한 식으로.

LDAP 세팅한 경우 사용자 관리는 어떻게 할것인가? CentOS 4.4에서 useradd를 이용하면 로컬계정을 생성시키는데 cpu란 프로그램을 이용하여 쉘상에서 사용자와 그룹추가,변경작업이 가능합니다. 편리하지요.

웹에서 관리하는 툴로는 phpldapadmin(php), LAM (php), 자바로 된 ldap 브라우저(정식 이름이??) 등이 있는데 여러가지 불편한 점들이 있습니다.

http://ldapadmin.sourceforge.net/ ldap 검색, 수정 등 할 수 있는 윈도우 공개프로그램(GPL)
써보니 제가 아는 한에서는 위의 프로그램이 가장 편리하더군요. 윈도우 프로그램입니다. 웹상에서 편집,추가, 삭제 등 모든걸 할 수 있고 그룹도 사용자를 보면서 여러개 한꺼번에 고르는 등의 작업이 가능합니다. 사용자도 생성한것을 다른 쪽으로 옮기는 것도 되구요.

위의 내용까지는 거의 대부분 테스팅한 부분인데 아뭏든 이런 내용에 대해서는 아직 한글문서는 부족하지요. 이런 부분들이 보강되어야 할듯. 제가 작업하던것은 마무리되면 다시 수정할 예정이기는 합니다.

이런 것들을 마무리하고 kerberos, 윈도우 AD와의 통합등을 고민하려고 합니다. 차근차근 한가지씩.

추가로 여기에 cfengine을 이용하여 그룹별로 설정파일을 관리하려고 합니다. 이건 별도 이야기이므로 여기까지.

---------------------------
문태준
http://tunelinux.pe.kr
http://database.sarang.net

---------------------------
문태준
http://groups.google.co.kr/group/sysadminstudy 시스템어드민 공부모임
http://tunelinux.pe.kr
http://database.sarang.net

wooks의 이미지

IBM에서 제공한 내용입니다.

Centralize user accounts with OpenLDAP

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.