日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

samba加入AD

 jweifeng 2012-03-06
測(cè)試環(huán)境vmware
 
 
DC&DNS:Windows Server 2003 rc2 sp2 企業(yè)版. 計(jì)算機(jī)名為:DC myad.com 完整的計(jì)算機(jī)名為ms-aaaa   ip:192.168.20.148
Linux:CentOS 5.1    hostname為localhost.localdomain  ip: 192.168.20.170
域名:myad.com
2.試驗(yàn)?zāi)康?將Linux加入到Windows域,并實(shí)現(xiàn)Windows域帳戶(hù)登陸Linux服務(wù)器.
3.準(zhǔn)備工作:
   a.在一臺(tái)機(jī)器上安裝Windows Server 2003 rc2 ,并升級(jí)為DC,同時(shí)集成DNS服務(wù).用運(yùn)行里dcpromo來(lái)設(shè)置ad活動(dòng)目錄和dns。
   b.Linux的準(zhǔn)備工作也很簡(jiǎn)單,主要是檢查以下幾個(gè)包是否被安裝:
      #rpm -qa|grep samba
     samba-3.0.23c-2
     samba-common-3.0.23c-2
     samba-client-3.0.23c-2     //samba的相關(guān)包
     #rpm -qa|grep krb5
     krb5-libs-1.5-17
     krb5-workstation-1.5-17
     krb5-devel-1.5-17
     pam_krb5-2.2.11-1          //kerberos相關(guān)的軟件包
   主要就用到這些包,由于各Linux發(fā)行版本的不同,包的版本或許會(huì)有差異.
4.配置步驟:
a.修改ip用系統(tǒng)的setup配置也可以用vi /etc/sysconfig/network-script/ifcfg-eth0和dns用vi /etc/resolv.conf.但是要注意防火墻(iptables)和SELinux.
  你可以把iptables規(guī)則清空,并禁用SELinux
  清空iptables規(guī)則命令如下:
   #iptables -F
  禁用SELinux方式如下:cli下用setup命令配置
  #vi /etc/selinux/config
  將其中的  SELINUX=enforcing
  改成      SELINUX=disable 
b.修改/etc/krb5.conf文件,該文件是kerberos的配置文件, Kerberos 是大小寫(xiě)敏感的。

   典型的krb5.conf文件如下:

     [logging]
 default = FILE:/var/log/krb5libs.log
 kdc = FILE:/var/log/krb5kdc.log
 admin_server = FILE:/var/log/kadmind.log
[libdefaults]
 default_realm = MYAD.COM//修改windows的dc
  ticket_lifetime = 24000
 dns_lookup_realm = false
 dns_lookup_kdc = false
[realms]
 MYAD.COM = {
  kdc = ms-aaaa.myad.com:88
  admin_server = ms-aaaa.myad.com:749
  default_domain = myad.com
 }
[domain_realm]
 .myad.com = MYAD.COM
 myad.com = MYAD.COM
[kdc]
 profile = /var/kerberos/krb5kdc/kdc.conf
[appdefaults]
 pam = {
   debug = false
   ticket_lifetime = 36000
   renew_lifetime = 36000
   forwardable = true
   krb4_convert = false
 }

其中需要我們修改的地方很少,以我的例子為例,修改后的文件如下:
 
修改完畢后運(yùn)行下面的命令查看kerberos文件是否有誤:
能遇到的幾個(gè)常見(jiàn)錯(cuò)誤:域名錯(cuò)誤:
kinit(v5): Cannot find KDC for requested realm while getting initial credentials.
密碼錯(cuò)誤,驗(yàn)證失?。?BR>kinit(v5): Preauthentication failed while getting initial credentials. 用戶(hù)不存在:kinit(v5): Client not found in Kerberos database while getting initial credentia                                                                                      時(shí)間不一致:kinit(v5): Clock skew too great while getting initial credentials

其中administrator是域管理員賬戶(hù),MYAD.COM是你的域名.
 
 
   回車(chē)鍵后,會(huì)提示你輸入密碼,如果沒(méi)有什么錯(cuò)誤.在你輸入密碼回車(chē)后,會(huì)自動(dòng)返回到Linux命令提示符下.
   在這里要注意的小問(wèn)題就是Linux本地的時(shí)間要和DC的時(shí)間差問(wèn)題,我們都知道,在DC上的策略中,時(shí)間差允許的范圍是5分鐘,所以,在運(yùn)行上述的命令前,最好先同步下Linux和DC的時(shí)間:
    ntpdate 192.168.20.148

c.這一步是最主要的步驟了,就是修改/etc/samba/smb.conf配置文件.samba的主配置文件選項(xiàng)很多,在加上各版本中默認(rèn)的選項(xiàng)都有所差異,在這里我就不列舉典型的smb.conf文件了,我的smb.conf文件帖出來(lái)順便介紹一下smb.conf文件中參數(shù)的意思!
 
其中MyShare指定共享名,一般就是【網(wǎng)上鄰居】里面可以看見(jiàn)的文件夾的名字。
comment 是對(duì)修改共享的備注。
path 指定共享的路徑,可以配合Samba變量使用。例如可以指定path=/data/%m,這樣如果一臺(tái)計(jì)算機(jī)的NetBIOS名字是grind,它訪(fǎng)問(wèn)MyShare共享時(shí)就是進(jìn)入/data/grind目錄,而對(duì)于NETBIOS名是glass的計(jì)算機(jī),則進(jìn)入/data/glass目錄。
allow hosts和deny hosts 和前面的全局設(shè)置的方法一樣。
writeable 指定目錄默認(rèn)是否可寫(xiě),也可以用readonly = no來(lái)設(shè)置可寫(xiě)。
user 設(shè)置所有可能使用該共享資源的用戶(hù),也可以用@group代表group組的所有成員,不同的項(xiàng)目之間用空格或逗號(hào)隔開(kāi)。
valid users 能夠使用該共享資源的用戶(hù)和組。
invalid users 不能夠使用該共享資源的用戶(hù)和組。
read list 只能讀取該共享資源的用戶(hù)和組。
write list 能讀取和寫(xiě)入該共享資源的用戶(hù)和組。
admin list 能管理該共享資源(包括讀寫(xiě)和權(quán)限賦予等)的用戶(hù)和組。
public 該共享資源是否能被用戶(hù)賬號(hào)訪(fǎng)問(wèn),這個(gè)開(kāi)關(guān)有時(shí)候也叫g(shù)uest ok,所以有的配置文件中出現(xiàn)guest ok = yes,其實(shí)和public = yes是一樣的。
hide dot files 是否像UNIX那樣隱藏以“.”號(hào)開(kāi)頭的文件。
create mode 新建立的文件的屬性,一般是0755。
directory mode 新建立的目錄的屬性,一般是0755。
sync always 對(duì)該共享資源進(jìn)行寫(xiě)操作后是否進(jìn)行同步操作。
short preserve case 忽略文件名大小寫(xiě)。
preserve case 保持大小寫(xiě)。
case sensitive 是否區(qū)分大小寫(xiě),一般選no,不然可能引起錯(cuò)誤。
mangle case 混合大小寫(xiě)。
default case 默認(rèn)的文件名是全部大寫(xiě)還是小寫(xiě)。
force user 強(qiáng)制建立文件的屬主。如果有一個(gè)目錄,讓guest可以寫(xiě),那么guest就可以刪除,如果使用force user= grind強(qiáng)制建立文件的屬主是grind,同時(shí)限制create mask = 0755,這樣guest就不能刪除該目錄了。
wide links 是否允許共享外符號(hào)連接,比如共享資源里有個(gè)連接指向非共享資源里的文件或目錄,如果設(shè)置wide links = no將使該連接無(wú)法使用。
max connections = n 設(shè)置同時(shí)連接數(shù)是n。
delete readonly 能否刪除共享資源里面已經(jīng)被定義為只讀的文件。
 
 
   
[global]
   workgroup = MYAD//這個(gè)是你域名MYAD.COM點(diǎn)前面的東東。                    //需要加入的域的netbios名,注意是域的netbios名,要大寫(xiě)
   netbios name = centos                //本機(jī)器的netbios名,有的版本沒(méi)有這一項(xiàng)會(huì)沒(méi)有這個(gè),
                                            要手動(dòng)添加
   server string = Samba Server            //對(duì)該服務(wù)器的描述
   printcap name = /etc/printcap
   load printers = yes
   cups options = raw
   log file = /var/log/samba/%m.log
   max log size = 50
   security = ads                     //ads驗(yàn)證方式必須有realm項(xiàng)
   realm = MYAD.COM                //增加這一行,注意這里是域名.
   password server = ms-aaaa.myad.com           //這里是DC的FQDN,也可以寫(xiě)ip,但是有時(shí)候會(huì)出
                                                問(wèn)題,建議寫(xiě)FQDN
   encrypt passwords = yes                 //加密在網(wǎng)絡(luò)上傳輸?shù)挠脩?hù)密碼
   socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
   dns proxy = no

   winbind separator = /                  //用戶(hù)的域名和用戶(hù)名之間的間隔,用什么隨你心情
   idmap uid = 1000000-2000000        
   idmap gid = 1000000-2000000            //域用戶(hù)映射成Linux本地用戶(hù)時(shí)所有的uid和gid范圍.
   template home = /home/%D/%U            //與home文件夾中定義的作用相同.兩者定義一個(gè)就行
   template shell = /bin/bash             //用戶(hù)登陸后所使用的shell
   winbind use default domain = yes       //用戶(hù)登陸使用默認(rèn)的域
   winbind enum users = yes
   winbind enum groups = yes              //有人說(shuō)是自動(dòng)創(chuàng)建用 getent passwd[group]看到的
                                            用戶(hù)和組的信息.具體有什么用,我也說(shuō)不清楚         
                                       
[homes]
   comment = Home Directories
   browseable = no
   writable = yes
   create mode = 0777
   directory mode = 0777   //創(chuàng)建的文件和目錄的默認(rèn)權(quán)限
   path = /home/%D/%U     //用戶(hù)主目錄的相關(guān)設(shè)置
[printers]
   comment = All Printers
   path = /var/spool/samba
   browseable = no
   guest ok = no
   writable = no
   printable = yes

以上紅色的部分都是要修改的,其余的都保持默認(rèn)就行.好了,修改完成后,保存退出.然后用下面的命令測(cè)試 smb.conf是否有誤:
  # testparm 測(cè)試一下

在這里注意兩個(gè)地方就行,一個(gè)是  Loaded services file OK.      //說(shuō)明你的配置文件沒(méi)有錯(cuò)
                       還有一個(gè)就是:Server role:ROLE_DOMAIN_MEMBER  //說(shuō)明你的服務(wù)器已經(jīng)是域的
                                                               "準(zhǔn)"成員了.
好了,做了這些測(cè)試后,先把smb和winbind兩個(gè)服務(wù)開(kāi)啟成隨系統(tǒng)自動(dòng)啟動(dòng):
   #chkconfig smb on  //也可以用ntsysv來(lái)開(kāi)機(jī)啟動(dòng)
   #chkconfig winbind on//也可以用ntsysv來(lái)開(kāi)機(jī)啟動(dòng)。
然后重啟samba服務(wù):
   # service smb restart      //寫(xiě)到這里,我想起一點(diǎn)好玩的事來(lái), 在fedora 9中(其他版本我不知道),
                               smb和nmb服務(wù)是分開(kāi)的,也就是說(shuō)你用這條命令只能重啟動(dòng)smb,不能重
                               啟nmb,你還要打service nmb restart才行.....

然后就可以加入域了:
  net ads join -W MYAD.COM -S dc  -U administrator
然后會(huì)要求你輸如管理員的password,輸入后,正常情況下會(huì)提示加入域成功.

 
 在這里我插一句,有時(shí)候用net ads join 會(huì)不好使,這時(shí)候就試試net rpc join 這種方式.

到這里,我們就已經(jīng)把samba服務(wù)器加入到域里了,這時(shí),在DC上,computers這個(gè)OU里就應(yīng)該可以看到你的samba服務(wù)器了.
 
這時(shí),我們重啟winbind服務(wù):
service winbind restart
重啟完成后,我們就可以用下面的幾條命令來(lái)進(jìn)行測(cè)試了:
 
 
   wbinfo -t                 //測(cè)試該samba服務(wù)器與域的信任關(guān)系
 

  wbinfo -u                  // 查看域用戶(hù)的映射信息
 

  wbinfo -g
 

  有時(shí)候會(huì)出現(xiàn)這樣的錯(cuò)誤信息,解決辦法如下:
  先停掉winbind和smb服務(wù):
  service smb stop
  service winbind stop
  然后刪除下面兩個(gè)目錄里的.tdb文件:         /etc/samba   和   /var/cache/samba
    據(jù)我理解,這些應(yīng)該是在加入域過(guò)程中,產(chǎn)生的一些緩存
  文件,但是有時(shí)候這些緩存會(huì)造成一些錯(cuò)誤信息,就象我們剛才看到的那樣,刪除后,重啟服務(wù),讓他重新
  生成就行了.
  fedora10 會(huì)稍有不同,目錄我記不太清楚了,好像是 /var/lib/samba  你可以用命令搜索下:
  find / -name *.tdb
  刪除完成后,重新啟動(dòng) smb服務(wù).
  service smb start
  在次運(yùn)行加入域的命令:
  net ads join -W MYAD.COM -S dc  -U administrator
  重啟動(dòng)winbind服務(wù).
   service winbind start
  然后在用命令查看信息就OK了.
 
 

 
         到這里呢,我們的samba服務(wù)器就成功的加入到域里了,但是呢,卻還不能實(shí)現(xiàn)域賬戶(hù)在Linux終端上的登陸.想要實(shí)現(xiàn)這個(gè)目的,其實(shí)也很簡(jiǎn)單,只需要修改下面幾個(gè)文件就可以了:
   /etc/nsswitch.conf           //修改這個(gè)文件,影響Linux查找用戶(hù),組,和他們密碼的行為
   修改項(xiàng)如下:
    passwd:    winbind files
    shadow:    winbind files
    group:     winbind files
   /etc/pam.d/sysconfig-auth    //讓pam認(rèn)證支持以winbind為源進(jìn)行用戶(hù)的查找和匹對(duì).
    修改項(xiàng)如下:
    auth        sufficient    /lib/security/pam_winbind.so          //增加這一行
    auth        required      /lib/security/$ISA/pam_env.so
    auth        sufficient    /lib/security/$ISA/pam_unix.so likeauth nullok
    auth        required      /lib/security/$ISA/pam_deny.so
    auth        sufficient      /lib/security/pam_winbind.so

    account     sufficient    /lib/security/pam_winbind.so       //增加這一行,注意這兩行的位置
    account     required      /lib/security/$ISA/pam_unix.so
    account     sufficient    /lib/security/$ISA/pam_succeed_if.so uid < 100 quiet
    account     required      /lib/security/$ISA/pam_permit.so

    password    requisite     /lib/security/$ISA/pam_cracklib.so retry=3
    password    sufficient    /lib/security/$ISA/pam_unix.so nullok use_authtok md5 shadow
    password    required      /lib/security/$ISA/pam_deny.so
    session     required      /lib/security/$ISA/pam_limits.so
    session     required      /lib/security/$ISA/pam_unix.so

  修改完畢后,根據(jù)上面smb.conf文件的配置,我們就可以實(shí)現(xiàn)用戶(hù)的登陸了,不過(guò)還有一點(diǎn)要說(shuō)明,就是在用戶(hù)登陸前,必須手動(dòng)創(chuàng)建他們的登陸主目錄,并且賦予他們完全控制的權(quán)限.
    比如,我想讓administrator用戶(hù)登陸Linux,實(shí)現(xiàn)步驟如下:
    cd /home
    mkdir MYAD
    cd MYAD
    mkdir administrator
    chown administrator administrator      //在home目錄下創(chuàng)建YANCHUN域目錄,并在該目錄下創(chuàng)建
                                             要登陸用戶(hù)administrator的目錄,更改目錄權(quán)限.
    這樣在終端上就可以實(shí)現(xiàn)域用戶(hù)賬戶(hù)的登陸了.

     還有就是用戶(hù)登陸Linux平臺(tái)后,權(quán)限控制的問(wèn)題.默認(rèn)情況下,這種方式登陸到Linux平臺(tái)的用戶(hù)只有對(duì)自己主目錄有完全控制權(quán)限,其余的文件均為只讀.
     可以通過(guò)下面的方法來(lái)實(shí)現(xiàn)對(duì)域用戶(hù)權(quán)限的控制:
     1.更改/etc/nsswitch.conf文件.
     passwd:    winbind files
     shadow:    files winbind
     group:     winbind files
細(xì)心的朋友也許已經(jīng)注意到了這個(gè)文件與上面那個(gè)文件的不同.就是shadow的查找順序.為什么這么改,呵呵,先賣(mài)個(gè)關(guān)子,接著往下看.
     2.然后先把winbind 服務(wù)停掉.
     建立與要登陸Linux的域用戶(hù)賬戶(hù)的同名Linux賬戶(hù).
     3.重啟winbind服務(wù).用域賬戶(hù)登陸.這時(shí)會(huì)發(fā)現(xiàn),登陸后域用戶(hù)的登陸點(diǎn)不是在/home/%D/%U下了,而是在/home/%U下.為什么呢?
     這是因?yàn)閚sswitch.conf文件影響的結(jié)果.就是域用戶(hù)在輸入自己的登陸名時(shí),Linux系統(tǒng)并不認(rèn)為是域用戶(hù),而認(rèn)為該用戶(hù)是一個(gè)本地用戶(hù),而shadow項(xiàng)的設(shè)置,是先去DC進(jìn)行密碼的查詢(xún).于是就造成了一種假象,就是域用戶(hù)用自己的用戶(hù)名和密碼登陸了Linux.所以其登陸目錄為/home/%U.
     既然,Linux認(rèn)為該登陸用戶(hù)是一個(gè)本地用戶(hù),那么我們就可以很方便的對(duì)他賦予權(quán)限了.
     但是,如果要登陸Linux的用戶(hù)非常多,那么作為管理員,我們的工作量會(huì)非常大,這也是我下面要提出的用LDAP想法的原因.
 
    我在這個(gè)試驗(yàn)過(guò)程中所碰到的問(wèn)題如下:
    1. net rpc join  和 net ads join 命令在作用上有什么區(qū)別.
    2. 有時(shí)候配置文件沒(méi)有錯(cuò),但是在加入域時(shí)會(huì)提示錯(cuò)誤信息,如NT_STATUS開(kāi)頭的一些錯(cuò)誤信息,具體是什么原因,還望有高手指教.我在網(wǎng)上搜索相關(guān)錯(cuò)誤提示的帖子,也沒(méi)有能找到真正解決問(wèn)題的方法.
    NT_STATUS_ACCESS_DENIED (0xc0000022)
    NT_STATUS_NO_TRUST_SAM_ACCOUNT (0xc000018b)
    NT_STATUS_INVALID_COMPUTER_NAME
    3.有時(shí)候會(huì)出現(xiàn)unable to find a suitable server .提示找不到合適的服務(wù)器,不知道問(wèn)題出在什么地方.
    4.另外,我還有一種想法,能不能在Linux上搭建LDAP服務(wù),然后用他去同步Windows的活動(dòng)目錄數(shù)據(jù)庫(kù),然后激活samba的LDAP數(shù)據(jù)庫(kù)認(rèn)證功能,實(shí)現(xiàn)域用戶(hù)賬戶(hù)訪(fǎng)問(wèn)samba服務(wù)器的認(rèn)證問(wèn)題.有做過(guò)相關(guān)試驗(yàn)的朋友請(qǐng)給小弟一點(diǎn)指點(diǎn).感激不盡.
    5.至于自動(dòng)為登陸Linux平臺(tái)的域用戶(hù)創(chuàng)建宿主目錄,和自動(dòng)加入某一Linux本地組,等我熟了SHELL編程在說(shuō)吧,呵呵~
    6.有時(shí)候會(huì)出現(xiàn)類(lèi)似于Winbind服務(wù)啟動(dòng)起來(lái)后,顯示該服務(wù)已經(jīng)假死的現(xiàn)象,這時(shí)候可以通過(guò)查找/var/log/messages或者/etc/log/samba/winbind.log查找相關(guān)的錯(cuò)誤信息。我碰到過(guò)的一個(gè)問(wèn)題是:Winbind Dead but subsys lock的東東,解決辦法是關(guān)閉SELinux就可以了,針對(duì)這個(gè)問(wèn)題在相關(guān)的日志錯(cuò)誤信息中顯示的是:open secrets.tdb error。據(jù)我個(gè)人理解,應(yīng)該是SELinux的開(kāi)啟造成了Winbind無(wú)法訪(fǎng)問(wèn)/etc/samba/secrets.tdb文件的緣故,只要disable SELinx 重啟計(jì)算機(jī)后,應(yīng)該就可以正常的啟動(dòng)和停止Winbind服務(wù)了。
磁盤(pán)配額  
  在/etc/fstab中加入  
  LABEL=/       /       ext3       defaults,usrquota,grpquota     1   1  
   
  啟動(dòng)磁盤(pán)配額(重啟后仍有效)  
  touch   /aquota.group  
  touch   /aquota.user  
  chmod   644   /aquota.group  
  chmod   644   /aquota.user  
  /sbin/quotacheck   –avugm  
  /sbin/quotaon   –avug  
  設(shè)定test用戶(hù)的配額為   20M(1000用戶(hù)共用20000M)  
  setquota   -u   test   20000   20000   0   0   /  
   
   
   
  repquota   –a  

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶(hù)發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶(hù) 評(píng)論公約

    類(lèi)似文章 更多