国产一级一区二区_segui88久久综合9999_97久久夜色精品国产_欧美色网一区二区

掃一掃
關注微信公眾號

瘋狂的企鵝系列 單點登錄和企業目錄(三)(1)
2008-03-21   

用LDAP聯合Samba為電子郵件和SSH提供單點登陸系統。歡迎來到如何實施一個單點登陸和企業目錄系統的第三部分,在這篇文章中,我們處理微軟windows客戶端的集成,有許多事情需要處理,因此戴上你的工作手套讓我們開始吧。

當你想將windows客戶端集成到一個異構環境中時,你有一些選擇,盡管你可以運行一個活動目錄(AD)服務器將你的linux和Apple客戶端與它綁定進行認證和身份管理,但是開銷卻不少,它也沒有在一個開源得的單點登陸和目錄實施文章有趣。

當你正在綁定windows客戶端到一個開源的解決方案時,你有兩個選擇,你是綁定它們到Kerberos范圍進行認證還是綁定到LDAP進行身份管理嗎?這是一個二者取其一的選擇,因為盡管windows客戶端知道如何與Kerberos和LDAP交流,它們知道當與一個AD服務器交流時,在同一時間如何與它們交流,換句話說,當用戶身份保存在本地時windows客戶端可以與一個非AD Kerberos服務器交流,同樣,windows客戶端可以通過Samba從LDAP獲取身份,但是僅當密碼也通過Samba提供時,現在Samba還不能通過Kerberos提供認證。

windows認證依靠我們的Kerberos認證更容易設置,但是它更難以維護,因為每個使用windows客戶端的用戶都需要在一個本地帳戶,如果你所有的只有一個windows客戶端需要維護就很好,但是如果你不止一個,你就需要給每個客戶端添加一個用戶,我不想繼續探究這個選擇,無論如何,如果你有興趣你可以看看Jason Garman關于Kerberos的著作:The Definitive Guide。

配置Samba

因為我們正在討論企業目錄,我假設在你的網絡中有不止一臺windows機器,為了盡可能無痛地將它們合并到一起,我們使用Samba聯合LDAP目錄作為一個后端,我們配置Samba將有一點不同,你應該先閱讀Craig Swanson和Matt Lung的“OpenLDAP Everywhere Revisited”,因為它將給你一個很好的基礎,我在名叫samba的目錄下創建了一個組織分支,列表1詳細展示了這些分支的層次結構,列表2展示了LDIF。

列表1.附加的組織單元

+ o=ci,dc=example,dc=com
|- ou=samba
   |- ou=hosts
   |- ou=idmap

列表2.附加組織單元的LDIF

dn: ou=samba,o=ci,dc=example,dc=com
objectClass: organizationalUnit
ou: samba

dn: ou=hosts,ou=samba,o=ci,dc=example,dc=com
objectClass: organizationalUnit
ou: hosts

dn: ou=idmap,ou=samba,o=ci,dc=example,dc=com
objectClass: organizationalUnit
objectClass: sambaUnixIdPool
uidNumber: 15000
gidNumber: 15000

我沒有從IDEALX使用smbldap腳本創建必須的條目,因為我正在使用LDAP而不僅是Samba進行認證,一個不使用smbldap工具主要的原因是因為它假設Samba是唯一如增加用戶和組的點,在我的環境中,所有用戶都不能登陸到windows機器,一些用戶可能開始只作為linux用戶,但是后面需要給他們訪問windows機器的權限,smbldap工具也不能很好地完成這個工作,但是smbldap工具可以做好其他事情,如探測所有工具是否都可用并選擇出最好的適合你需要的。

我們需要幾個LDAP用戶來完成幾個任務,首先我們需要一個有寫目錄權限的用戶,如果你注意到在/etc/samba/smb.conf中有一個選項:ldap admin dn,它用來定義用戶的DN,這個叫做samba_server的用戶存儲在LDAP目錄中,它將是目錄中唯一一個與密碼關聯的用戶,因為這個用戶沒有posixAccouont對象類,這個帳戶在linux是不能識別的,要創建這個用戶,首先運行slappasswd生成hash密碼,然后用這個hash值創建一個與列表3類似的ldif文件。

列表3.Samba用戶的LDIF

dn: uid=samba_server,ou=people,o=ci,dc=example,dc=com
objectClass: top
objectClass: person
objectClass: uidObject
sn: samba_server
cn: samba_server
userPassword: {SSHA}xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
uid: samba_server

接下來,我們需要告訴Samba如何作為samba_server用戶訪問LDAP目錄,要使用到

smbpasswd命令:

# /usr/bin/smbpasswd -w 
Setting stored password for
↪"uid=samba_server,ou=people,o=ci,dc=example,dc=com"
↪in secrets.tdb

為了增加安全性,你應該關閉你的shell歷史日志,因為在命令行中直接給出了密碼,smbpasswd命令給出了密碼并將其存儲在/var/lib/samba/private/secrets.tdb中,并插入了Samba域和管理員dn,因此如果這些值發生改變,你應該重新運行smbpasswd命令。

因為Samba使用這個用戶在目錄中查詢和修改值,我們需要允許samba管理員在目錄中有寫權限,因此務必增加適當的ACL到/etc/openldap/slapd.conf。
就此,我們可以獲取域的SID,要獲得域的SID,你需要作為root登陸到主域控制器(PDC),然后運行:

# net getlocalsid
SID for domain CI-PDC is:
↪S-1-5-21-2162541494-3670296480-3949091320

如果你沒有使用smbldap工具來創建所有的Samba LDAP條目,當創建它們的時候你需要使用這個SID,我在ftp://ftp.ssc.com/pub/lj/listings/issue142/8376.tgz中提供了一個樣本LDIF文件包括你需要的所有條目。

Samba也需要一個在LDAP目錄中uid=0的臨時用戶來完成一些動作,不需要一個完整的posixAccount用戶,但是它應該象列表4列出的內容


共5頁: 1 [2] [3] [4] [5] 下一頁
 第 1 頁:  第 2 頁:關于SID和RID的注解
 第 3 頁:Samba權限  第 4 頁:單點登陸和windows
 第 5 頁:配置Eudora v6.2

熱詞搜索:

上一篇:瘋狂的企鵝系列 單點登錄和企業目錄(二)(1)
下一篇:瘋狂的企鵝系列 單點登錄和企業目錄(四)(1)

分享到: 收藏
主站蜘蛛池模板: 奉化市| 大兴区| 邢台县| 拉孜县| 于田县| 阿拉善右旗| 乾安县| 六枝特区| 宣威市| 灵丘县| 澄城县| 冀州市| 金昌市| 余干县| 北川| 六安市| 桦川县| 翼城县| 新绛县| 怀柔区| 长葛市| 增城市| 大渡口区| 花莲市| 巴彦淖尔市| 凉城县| 蓬溪县| 迭部县| 武城县| 江永县| 洮南市| 湖北省| 阿勒泰市| 朝阳区| 星座| 杨浦区| 古丈县| 镶黄旗| 米林县| 铜梁县| 黄梅县|