วิธีนำ Ubuntu join domain เข้ากับ Active Directory ของ Windows Server 2003
How to join Ubuntu to Active Directory on Windows Server 2003
สวัสดีครับวันนี้มีวิธีการทำให้ Ubuntu สามารถ join domain เข้ากับ AD(Active Directory) ของ Microsoft Windows Server 2003 มาฝากกันครับ ผมเองเคยได้อ่านกระทู้จากหลายๆ เว็บบอร์ดที่เคยถามว่าจะทำอย่างไรให้ Linux สามารถ join domain เข้ากับ Windows Server 2003 ได้ และเมื่อสองสามที่ผ่านมาผมเองก็เพิ่งได้หัดเล่น windows server 2003 ซึ่งได้ทดลองสร้าง Domain Controller และเพื่อต้องการตอบโจทย์ซึ่งผมเองก็สงสัยมานานก็เลย Search หาวิธีการทำให้ Ubuntu สามารถ join domain เข้ากับ Windows Server 2003 ก็เจอหลายเว็บเลยครับส่วนมากจะเป็นวิธีการ join ผ่าน Samba ซึ่งผมดูวิธีแล้วค่อนข้างยุ่งยาก แต่ก็มีอยู่เว็บนึงครับที่วิธีเขาแสนง่ายมาก ไม่ต้องไปยุ่งกับ Samba ด้วย เรามาดูกันครับว่าเขาทำยังไงsudo apt-get install likewise-open
ภาพ คำสั่งการติดตั้ง likewise-open
เมื่อติดตั้ง likewise-open เสร็จแล้วก็มาดูรายละเอียดอย่างอื่นที่จำเป็นกับการ join domain กันครับ
ภาพ การกำหนดค่า hostname และ dns บน Ubuntu
Hostname จะต้องมีความยาวไม่เกิน 15 ตัวอักษร
DNS ต้องชี้ไปยังเครื่องที่เป็น dc หรือเครื่อง dns ที่รู้จัก dc ตัวที่เรากำลังจะเข้าไป join (ในที่นี้ผมชี้ไปยังเครื่อง dc)
มาดูในฝั่งของ Windows Server 2003 กันบ้าง ผมสร้าง user ใหม่ขึ้นมาโดยให้ชื่อว่า ubuntu
เมื่อ Ubuntu พร้อม และ User บน Windows Server 2003 พร้อมก็มาทำการ Join Domain กันเลยครับ
คำสั่งที่ใช้ในการ join domain คือ
sudo domainjoin-cli join vmserver.net account
โดยที่ vmserver.net คือโดเมนที่เราต้องการจะ join และ account คือ user ที่เป็น Domain Admin
ภาพ รูปแบบคำสั่งในการ Join Domain
ซึ่ง เมื่อเราใช้คำสั่งตามด้านบนไปแล้ว ระบบจะให้เรากรอก Password ของ account ซึ่งเป็น Domain Admin เมื่อกรอกถูกต้องระบบก็จะแจ้งว่า SUCCESS
เมื่อ join domain เสร็จเรียบร้อยแล้ว ต่อไปเป็นการกำหนดให้ likewise-open ทำงานทุกครั้งที่เปิดเครื่องโดยใช้คำสั่ง
sudo update-rc.d likewise-open defaults
ภาพ คำสั่ง update-rc.d likewise-open defaults
แค่นี้ระบบก็พร้อมใช้งานแล้วครับ
ทดสอบโดยการ Log Out จาก user ปัจจุบัน จากนั้นก็ Login ด้วย user ที่อยู่บนเครื่อง AD ได้เลยครับ ซึ่งรูปแบบในการ Login คือ DOMAIN\username
ภาพ รูปแบบการ Login ผ่าน Domain
ภาพ Path ของ Home Directory หลัง Login สำเร็จ
ภาพ Computer Object ของเครื่อง vmubuntu
ทดลอง reboot เครื่องแล้วลอง login อีกรอบ หาก login สำเร็จก็เป็นอันเสร็จพิธีครับผม
หากต้องการ Disjoin ออกจาก domain ละทำอย่างไร ง่ายๆ ครับก็ใช้รูปแบบเดียวกับการ join เพียงแค่เปลี่ยน option จาก join เป็น leave
sudo domainjoin-cli leave vmserver.net account
หวังว่าบทความนี้คงมีประโยชน์กับผู้อ่านน่ะครับ
ขอบคุณที่สนใจอ่าน
แหล่งข้อมูล :
สร้าง: 01 ตุลาคม 2551 02:32 แก้ไข: 11 พฤศจิกายน 2551 10:18 [ แจ้งไม่เหมาะสม ]
บันทึกอื่นๆ
- เก่ากว่า « แก้ปัญหา Clamav error : "Can't o...
- ใหม่กว่า » โปรแกรม Windows Live Messenger 2...
ความเห็น
// เร็วจริงๆนะนี่ หัวไว ..อิอิ
Link มา ให้ แล้ว เผื่อมีคนสนใจครับ
Link มา ให้ แล้ว เผื่อมีคนสนใจครับ
ผม join แล้วมีปัญหาครับ
มันขึ้น error ตามนี้ครับ
Error: Could not identify short domain name [code 0x00080010]
The domain join appears to have succeeded but did not return the short
(workgroup) name as expected.
ต้องแก้ไขยังไงดีครับ
มันขึ้น error ตามนี้ครับ
Error: Could not identify short domain name [code 0x00080010]
The domain join appears to have succeeded but did not return the short
(workgroup) name as expected.
ต้องแก้ไขยังไงดีครับ
Error: Could not identify short domain name [code 0x00080010]
The domain join appears to have succeeded but did not return the short
(workgroup) name as expected.
มันบอกว่าคุณ join domain สำเร็จแล้วครับ
แต่ไม่สามารถกำหนดชื่อสั้นให้กับโดเมนได้ เช่น client1.domain.com
คุณจะไม่สามารถ ping client1 เฉยๆ ได้ต้อง ping ด้วยชื่อเต็ม
วิธี แก้ลองใช้คำสั่ง hostname ใน ubuntu ดูอีกทีครับว่าชื่อเครื่องเดิมมีชื่อว่าอะไร โดยชื่อที่จะ join domain ได้นั้นจะต้องเป็นชื่ออย่างเดียวเช่น client1 โดยจะต้องไม่มีชื่อ domain ต่อท้ายตามรูปตัวอย่างคำสั่ง hostname ด้านบนครับ
หากต้องการแก้ปัญหาต้อง disjoin ออกจากโดเมนก่อนนะครับแล้วค่อเปลี่ยนชื่อเครื่อง
ส่วนวิธีเปลี่ยนชื่อโฮสเนมนั้นต้องแก้สองที่ครับคือที่
/etc/hosts กับ /etc/hostname
ไฟล์ /etc/hosts
ืnano /etc/hosts
แก้จาก
127.0.0.1 oldhostname
เป็น
127.0.0.1 newhostname
ื
ไฟล์ /etc/hostname
nano /etc/hostname แล้วเปลี่ยนชื่อด้านในได้เลยครับ เช่น
oldhostname
เป็น
newhostname
จากนั้นให้ reboot หนึ่งรอบครับ
The domain join appears to have succeeded but did not return the short
(workgroup) name as expected.
มันบอกว่าคุณ join domain สำเร็จแล้วครับ
แต่ไม่สามารถกำหนดชื่อสั้นให้กับโดเมนได้ เช่น client1.domain.com
คุณจะไม่สามารถ ping client1 เฉยๆ ได้ต้อง ping ด้วยชื่อเต็ม
วิธี แก้ลองใช้คำสั่ง hostname ใน ubuntu ดูอีกทีครับว่าชื่อเครื่องเดิมมีชื่อว่าอะไร โดยชื่อที่จะ join domain ได้นั้นจะต้องเป็นชื่ออย่างเดียวเช่น client1 โดยจะต้องไม่มีชื่อ domain ต่อท้ายตามรูปตัวอย่างคำสั่ง hostname ด้านบนครับ
หากต้องการแก้ปัญหาต้อง disjoin ออกจากโดเมนก่อนนะครับแล้วค่อเปลี่ยนชื่อเครื่อง
ส่วนวิธีเปลี่ยนชื่อโฮสเนมนั้นต้องแก้สองที่ครับคือที่
/etc/hosts กับ /etc/hostname
ไฟล์ /etc/hosts
ืnano /etc/hosts
แก้จาก
127.0.0.1 oldhostname
เป็น
127.0.0.1 newhostname
ื
ไฟล์ /etc/hostname
nano /etc/hostname แล้วเปลี่ยนชื่อด้านในได้เลยครับ เช่น
oldhostname
เป็น
newhostname
จากนั้นให้ reboot หนึ่งรอบครับ
ขอบคุณมากครับ
แต่มีปัญหาใหม่อีกแล้ว
ผม disjoin ไม่ได้ครับ.. มันขึ้นว่า
Error: Unable to determine user domain [code 0x00000057]
The domain that 'domain.com' belongs to could not be automatically
determined. Please pass the user name in user@domain.com syntax.
และถามอีกอย่างครับ ตรงที่แก้ oldhostname เป็น newhostname
"oldhostname" คือ "hostname(ของผม).domain.com ใช่รึป่าวครับ แต่มันมี local ต่อท้ายด้วย
"newhostname" คือ "hostname(ของผม)" โดยไม่มี domain.com ต่อท้ายใช่ป่าวครับ
ขอบคุณล่วงหน้าครับ
แต่มีปัญหาใหม่อีกแล้ว
ผม disjoin ไม่ได้ครับ.. มันขึ้นว่า
Error: Unable to determine user domain [code 0x00000057]
The domain that 'domain.com' belongs to could not be automatically
determined. Please pass the user name in user@domain.com syntax.
และถามอีกอย่างครับ ตรงที่แก้ oldhostname เป็น newhostname
"oldhostname" คือ "hostname(ของผม).domain.com ใช่รึป่าวครับ แต่มันมี local ต่อท้ายด้วย
"newhostname" คือ "hostname(ของผม)" โดยไม่มี domain.com ต่อท้ายใช่ป่าวครับ
ขอบคุณล่วงหน้าครับ
ถ้า disjoin ไม่ได้ก็ไม่เป็นไรครับให้ไปลบเครื่องนั้นที่เครื่อง AD ออกได้เลย
ส่วน คำถามที่สองเรื่อง newhostname คุณเข้าใจถูกแล้วครับ จะต้องเป็นชื่อ hostname อย่างเดียวโดยไม่ต้องบอกโดเมนเพราะ AD จะเติม domain ต่อชื่อเครื่องคุณให้เอง
ส่วน คำถามที่สองเรื่อง newhostname คุณเข้าใจถูกแล้วครับ จะต้องเป็นชื่อ hostname อย่างเดียวโดยไม่ต้องบอกโดเมนเพราะ AD จะเติม domain ต่อชื่อเครื่องคุณให้เอง
ขอบคุณมากครับ
อิอิ มีเรื่องรบกวนอีกแล้ว (อย่าเพิ่งรำคาญก่อนนะครับ)
พอผม nano /etc/hosts แล้วมีข้อความขึ้นว่า
127.0.0.1 hostname(ของผม).mydomain.com hostname(ของผม) localhost
127.0.1.1 hostname(ของผม).mydomain.com hostname(ของผม)
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts
แล้วนี้ผมต้องแก้ตรงบรรทัดที่สองใช่ป่าวครับ
ส่วนใน nano /etc/hostname มันขึ้นแค่ hostname(ของผม) อย่างเดียวไม่มีอย่างอื่นเลย
แล้วอย่างนี้ต้องแก้ไงครับ
ขอบคุณล่วงหน้าครับ
อิอิ มีเรื่องรบกวนอีกแล้ว (อย่าเพิ่งรำคาญก่อนนะครับ)
พอผม nano /etc/hosts แล้วมีข้อความขึ้นว่า
127.0.0.1 hostname(ของผม).mydomain.com hostname(ของผม) localhost
127.0.1.1 hostname(ของผม).mydomain.com hostname(ของผม)
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts
แล้วนี้ผมต้องแก้ตรงบรรทัดที่สองใช่ป่าวครับ
ส่วนใน nano /etc/hostname มันขึ้นแค่ hostname(ของผม) อย่างเดียวไม่มีอย่างอื่นเลย
แล้วอย่างนี้ต้องแก้ไงครับ
ขอบคุณล่วงหน้าครับ
ใน /etc/hosts ลบบรรทัดที่สองออกก็ได้ครับ ให้เหลือเฉพาะบรรทัดแรก มีค่าเท่ากัน
ส่วนใน /etc/hostname มันมีบรรทัดเดียวครับให้ใส่ชื่อ hostname(ของคุณ) ของเราลงไปเลย
ส่วนใน /etc/hostname มันมีบรรทัดเดียวครับให้ใส่ชื่อ hostname(ของคุณ) ของเราลงไปเลย
อีกแล้วครับท่าน mrGill
พอ joindomain ก็ขึ้นแบบนี้ครับ
Error: Module not configured [code 0x00080042]
Even though the configuration of 'hostname' was executed, the configuration is
not complete. Please contact Likewise support.
งั้นเอาเป็นว่าผมบอกรายละเอียดของผมเลยละกัน
AD : niyom_domain.net
hostname : maintenance
Server : Windows Server 2003 R2
ผมลองเข้าไปแก้ใน /etc/hosts เป็นตามข้างล่าง
127.0.0.1 maintenance maintenance localhost
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts
แล้วพอลอง join ก็ขึ้นข้อความตามข้างบนสุด
รบกวนด้วยนะครับ...ไม่รู้ว่าผิดพลาดตรงไหนรึป่าว
พอ joindomain ก็ขึ้นแบบนี้ครับ
Error: Module not configured [code 0x00080042]
Even though the configuration of 'hostname' was executed, the configuration is
not complete. Please contact Likewise support.
งั้นเอาเป็นว่าผมบอกรายละเอียดของผมเลยละกัน
AD : niyom_domain.net
hostname : maintenance
Server : Windows Server 2003 R2
ผมลองเข้าไปแก้ใน /etc/hosts เป็นตามข้างล่าง
127.0.0.1 maintenance maintenance localhost
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts
แล้วพอลอง join ก็ขึ้นข้อความตามข้างบนสุด
รบกวนด้วยนะครับ...ไม่รู้ว่าผิดพลาดตรงไหนรึป่าว
เป็นอย่างนี้ครับ
root@maintenance:~# hostname
maintenance
root@maintenance:~# hostname
maintenance
พอ join ก็ขึ้นเหมือนเดิมครับ.. ตามนี้
root@maintenance:~# sudo domainjoin-cli join radon_domain.net sahaphol
Joining to AD Domain: radon_domain.net
With Computer DNS Name: maintenance.radon_domain.net
sahaphol@RADON_DOMAIN.NET's password:
Error: Module not configured [code 0x00080042]
Even though the configuration of 'hostname' was executed, the configuration is
not complete. Please contact Likewise support.
root@maintenance:~# sudo domainjoin-cli join radon_domain.net sahaphol
Joining to AD Domain: radon_domain.net
With Computer DNS Name: maintenance.radon_domain.net
sahaphol@RADON_DOMAIN.NET's password:
Error: Module not configured [code 0x00080042]
Even though the configuration of 'hostname' was executed, the configuration is
not complete. Please contact Likewise support.
ผมก็ลองลบออกจาก server 2003 แล้วนะครับ
แล้วก็ลอง join ใหม่อีกครั้งวันนี้...สรุปก็ยังไม่ได้
ยังขึ้นข้อความเหมือนเดิมเลย
root@maintenance:~# hostname
maintenance
root@maintenance:~# sudo domainjoin-cli join radon_domain.net sahaphol
Joining to AD Domain: radon_domain.net
With Computer DNS Name: maintenance.radon_domain.net
sahaphol@RADON_DOMAIN.NET's password:
Error: Module not configured [code 0x00080042]
Even though the configuration of 'hostname' was executed, the configuration is
not complete. Please contact Likewise support.
รบกวนด้วยนะครับ
ขอบคุณล่วงหน้าครับผม
แล้วก็ลอง join ใหม่อีกครั้งวันนี้...สรุปก็ยังไม่ได้
ยังขึ้นข้อความเหมือนเดิมเลย
root@maintenance:~# hostname
maintenance
root@maintenance:~# sudo domainjoin-cli join radon_domain.net sahaphol
Joining to AD Domain: radon_domain.net
With Computer DNS Name: maintenance.radon_domain.net
sahaphol@RADON_DOMAIN.NET's password:
Error: Module not configured [code 0x00080042]
Even though the configuration of 'hostname' was executed, the configuration is
not complete. Please contact Likewise support.
รบกวนด้วยนะครับ
ขอบคุณล่วงหน้าครับผม
ลงติดตั้งแล้วเกิด error ดังต.ย. ด้านล่างรบกวนผู้รู้ช่วยด้วยครับ
Checking setup environment...
Install started
Selecting previously deselected package likewise-domainjoin-gui.
(Reading database ... 101998 files and directories currently installed.)
Unpacking likewise-domainjoin-gui (from .../likewise-domainjoin-gui_5.1.0-1_i386.deb) ...
dpkg: dependency problems prevent configuration of likewise-domainjoin-gui:
likewise-domainjoin-gui depends on likewise-domainjoin; however:
Package likewise-domainjoin is not installed.
dpkg: error processing likewise-domainjoin-gui (--install):
dependency problems - leaving unconfigured
Errors were encountered while processing:
likewise-domainjoin-gui
ERROR: Failed to install packages
Checking setup environment...
Install started
Selecting previously deselected package likewise-domainjoin-gui.
(Reading database ... 101998 files and directories currently installed.)
Unpacking likewise-domainjoin-gui (from .../likewise-domainjoin-gui_5.1.0-1_i386.deb) ...
dpkg: dependency problems prevent configuration of likewise-domainjoin-gui:
likewise-domainjoin-gui depends on likewise-domainjoin; however:
Package likewise-domainjoin is not installed.
dpkg: error processing likewise-domainjoin-gui (--install):
dependency problems - leaving unconfigured
Errors were encountered while processing:
likewise-domainjoin-gui
ERROR: Failed to install packages
ผมเองยังไม่เคยติดตั้ง likewise-domainjoin-gui เหมือนกันครับ
แต่เท่าที่ดู error มันบอกว่ายังไม่ได้ติดตั้งตัว likewise-domainjoin
Package likewise-domainjoin is not installed.
ลองติดตั้งตัวนี้ก่อนจะติดตั้งตัว gui ดูนะครับ
แต่เท่าที่ดู error มันบอกว่ายังไม่ได้ติดตั้งตัว likewise-domainjoin
Package likewise-domainjoin is not installed.
ลองติดตั้งตัวนี้ก่อนจะติดตั้งตัว gui ดูนะครับ
sudo domainjoin join dfg.co.th administrator
ผมลอง join domain แล้ว ถึงตอนให้ใส่ password
แต่ใส่ password ของ admin ad แล้วไม่ผ่านครับ ขึ้นว่า
Sorry, try again
รบกวนช่วยชี้แนะหน่อยครับ
ผมลอง join domain แล้ว ถึงตอนให้ใส่ password
แต่ใส่ password ของ admin ad แล้วไม่ผ่านครับ ขึ้นว่า
Sorry, try again
รบกวนช่วยชี้แนะหน่อยครับ
แปลกใจจัง ใช้ administrator แล้วก็ยังไม่ได้
ลอง recheck password อีกทีครับ
ไม่ก็ลองไป reset password ที่ ad ดู
หรือไม่ก็ลองสร้าง user ขึ้นมาอีกตัวใช้สำหรับเป็น ad control เลย
ลอง recheck password อีกทีครับ
ไม่ก็ลองไป reset password ที่ ad ดู
หรือไม่ก็ลองสร้าง user ขึ้นมาอีกตัวใช้สำหรับเป็น ad control เลย
ผมติดตั้ง likewise-open แล้วแต่พอใช้ command domainjoin-cil แล้วมานขึ้นว่า
command not found ละครับ ต้องทำไงครับ งง จริงครับ ติดตั้ง likewise-open-gui ก็joinไม่ได้อะครับ
มานขึ้น erorr DCอะครับ
command not found ละครับ ต้องทำไงครับ งง จริงครับ ติดตั้ง likewise-open-gui ก็joinไม่ได้อะครับ
มานขึ้น erorr DCอะครับ
รบกวนทีครับ ถึงตอนใส่ password แล้วครับ แล้วมาเจอแบบนี้ครับ
ลองหลายแบบแล้วก็ยังเป็นแบบนี้อยู่
[2010/07/05 10:42:04, 0] utils/net_ads.c:ads_startup_int(493)
ads_connect: No logon servers
Failed to contact DC when trying to synchronize local system clock!
None of the domain controllers listed in DNS could be contacted, or there are no DCs listed in DNS.
Error: Unable to join domain [code 0x0008000e]
Creating the computer account in Active Directory failed. Common causes are a
bad administrator password, a bad OU name, or an existing computer account but
not modificiation permissions.
ลองหลายแบบแล้วก็ยังเป็นแบบนี้อยู่
[2010/07/05 10:42:04, 0] utils/net_ads.c:ads_startup_int(493)
ads_connect: No logon servers
Failed to contact DC when trying to synchronize local system clock!
None of the domain controllers listed in DNS could be contacted, or there are no DCs listed in DNS.
Error: Unable to join domain [code 0x0008000e]
Creating the computer account in Active Directory failed. Common causes are a
bad administrator password, a bad OU name, or an existing computer account but
not modificiation permissions.
เท่าที่ดูจาก None of the domain controllers listed in DNS could be contacted, or there are no DCs listed in DNS.
ดูเหมือนว่า dns มันจะไม่รู้จัก Active directory นะครับ
ดูเหมือนว่า dns มันจะไม่รู้จัก Active directory นะครับ
พอดีได้ทดสอบ กับ Ubuntu 10.10 ประกฏว่าจะต้องใช้ กับ likewise เวอร์ชั่น 6 นะครับ
แล้วแก้ไข ไฟล์ /etc/nsswitch.conf เพิ่มเติม
บันทัด hosts: hosts dns (ที่เหลือตามเดิม)
แล้วตามด้วย
/opt/likewise/bin/lwsm restart lwio
ประมาณนี้ครับ
ช่วย ๆ กัน ไอ้น้อง
ขอบคุณที่มาข้อมูล
mrGilL - Life Style mrGilL - วิธีนำ Ubuntu join domain เข้ากับ Active Directory ของ Windows Server 2003
01 ตุลาคม 2551 10:41
#313298
รบกวนเทพกิว ทำ red5 ให้ดูบ้างดิ