<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>SpaLinux.com &#187; Samba</title>
	<atom:link href="http://spalinux.com/category/samba/feed" rel="self" type="application/rss+xml" />
	<link>http://spalinux.com</link>
	<description>Resources for Relaxing Linux System Administrators</description>
	<lastBuildDate>Mon, 26 Jul 2010 09:51:19 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>การซ่อนและการป้องกันการแชร์ไฟล์บน Samba</title>
		<link>http://spalinux.com/2009/04/hiding_and_vetoing_sharing_files_on_samba</link>
		<comments>http://spalinux.com/2009/04/hiding_and_vetoing_sharing_files_on_samba#comments</comments>
		<pubDate>Fri, 03 Apr 2009 09:35:59 +0000</pubDate>
		<dc:creator>editor</dc:creator>
				<category><![CDATA[File Sharing]]></category>
		<category><![CDATA[Filesystem]]></category>
		<category><![CDATA[Samba]]></category>
		<category><![CDATA[veto file]]></category>

		<guid isPermaLink="false">http://spalinux.com/?p=499</guid>
		<description><![CDATA[บทความนี้จะอธิบายการคอนฟิก Samba เพื่อซ่อนไฟล์ (hide) เพื่อไม่ให้ผู้ใช้งานมองเห็นได้โดยดีฟอลต์ และการคอนฟิกเพื่อป้องกัน (veto) ไม่ให้ผู้ใช้สามารถเรียกใช้ไฟล์ที่มีชื่อที่กำหนดไว้ได้ ซึ่งสามารถนำไปประยุกต์ใช้ได้หลายกรณี เช่น ป้องกันไม่ให้ผู้ใช้เก็บไฟล์ที่ไม่ใช่ไฟล์งานเช่น &#8220;.mp3&#8243; ไว้บนเซิร์ฟเวอร์ผ่านการแชร์ไฟล์ได้ ตัวอย่างในบทความนี้ทดสอบบน Fedora 10 และติดตั้ง Samba เวอร์ชั่น 3.2.4 สร้างแชร์สำหรับทดสอบ จากดีฟอลต์คอนฟิกของ Samba ที่ติดตั้งมา เพิ่มแชร์สำหรับการทดสอบในไฟล์ /etc/samba/smb.conf ในที่นี้จะตั้งชื่อว่า [test-share] ระบุ path เป็น /export อนุญาตให้เขียนได้ (writable) [test-share] path = /export writable = yes public = yes ใช้ root เพื่อสร้างไฟล์และไดเร็คทอรี ในส่วนแชร์ เพื่อทดสอบ [root@file-server ~]# mkdir /export [root@file-server ~]# cd [...]]]></description>
			<content:encoded><![CDATA[<p>บทความนี้จะอธิบายการคอนฟิก Samba เพื่อซ่อนไฟล์ (hide) เพื่อไม่ให้ผู้ใช้งานมองเห็นได้โดยดีฟอลต์ และการคอนฟิกเพื่อป้องกัน (veto) ไม่ให้ผู้ใช้สามารถเรียกใช้ไฟล์ที่มีชื่อที่กำหนดไว้ได้ ซึ่งสามารถนำไปประยุกต์ใช้ได้หลายกรณี เช่น ป้องกันไม่ให้ผู้ใช้เก็บไฟล์ที่ไม่ใช่ไฟล์งานเช่น &#8220;.mp3&#8243; ไว้บนเซิร์ฟเวอร์ผ่านการแชร์ไฟล์ได้</p>
<p>ตัวอย่างในบทความนี้ทดสอบบน Fedora 10 และติดตั้ง Samba เวอร์ชั่น 3.2.4</p>
<p><span id="more-499"></span></p>
<h4>สร้างแชร์สำหรับทดสอบ</h4>
<p>จากดีฟอลต์คอนฟิกของ Samba ที่ติดตั้งมา เพิ่มแชร์สำหรับการทดสอบในไฟล์ /etc/samba/smb.conf ในที่นี้จะตั้งชื่อว่า [test-share] ระบุ path เป็น /export อนุญาตให้เขียนได้ (writable)</p>
<pre>[test-share]
path = /export
writable = yes
public = yes</pre>
<p>ใช้ root เพื่อสร้างไฟล์และไดเร็คทอรี ในส่วนแชร์ เพื่อทดสอบ</p>
<pre>[root@file-server ~]# <strong>mkdir /export
</strong>[root@file-server ~]# <strong>cd /export</strong></pre>
<pre>[root@file-server export]# <strong>mkdir .dir-test1
</strong>[root@file-server export]# <strong>mkdir .dir-test2
</strong>[root@file-server export]# <strong>mkdir dir-test3
</strong>[root@file-server export]# <strong>mkdir dir-test4
</strong>[root@file-server export]# <strong>touch .file-test1.ext1
</strong>[root@file-server export]# <strong>touch .file-test2.ext2
</strong>[root@file-server export]# <strong>touch file-test3.ext3
</strong>[root@file-server export]# <strong>touch file-test4.ext4</strong></pre>
<pre>[root@file-server export]# <strong>ls -al
</strong>total 8
drwxrwxrwx  6 root root 4096 2009-04-03 15:06 .
drwxr-xr-x 22 root root 4096 2009-04-03 14:14 ..
drwxr-xr-x  2 root root    6 2009-04-03 15:05 .dir-test1
drwxr-xr-x  2 root root    6 2009-04-03 15:05 .dir-test2
drwxr-xr-x  2 root root    6 2009-04-03 15:05 dir-test3
drwxr-xr-x  2 root root    6 2009-04-03 15:05 dir-test4
-rw-r--r--  1 root root    0 2009-04-03 15:05 .file-test1.ext1
-rw-r--r--  1 root root    0 2009-04-03 15:05 .file-test2.ext2
-rw-r--r--  1 root root    0 2009-04-03 15:06 file-test3.ext3
-rw-r--r--  1 root root    0 2009-04-03 15:06 file-test4.ext4</pre>
<p>รอสักครู่หรือ รีสตาร์ต Samba เพื่อให้มีผลทันที</p>
<pre>[root@file-server samba]# <strong>/etc/init.d/smb restart
</strong>Shutting down SMB services:                                [  OK  ]
Starting SMB services:                                     [  OK  ]</pre>
<p>ทดลองเปิดแชร์ไฟล์จาก Windows XP</p>
<p><img class="alignnone size-full wp-image-500" title="Default Open test-share files" src="http://spalinux.com/wp-content/uploads/2009/04/01-default-open-test-share-files.png" alt="Default Open test-share files" width="676" height="480" /></p>
<h4> </h4>
<h4>ยกเลิกการซ่อนไฟล์ที่ขึ้นต้นด้วยจุด</h4>
<p>ดีฟอลต์คอนฟิกของ Samba จะถือว่าไฟล์หรือไดเร็คทอรีบนเซิร์ฟเวอร์ ที่ขึ้นต้นด้วยเครื่องหมายจุด &#8220;.&#8221; เป็นไฟล์ &#8220;hidden&#8221; เมื่อมองผ่านแชร์ไฟล์จาก Windows</p>
<p>หมายเหตุ ไฟล์หรือไดเร็คทอรี ที่ขึ้นต้นด้วยเครื่องหมายจุด &#8220;.&#8221; ส่วนใหญ่จะเป็นคอนฟิกหรือ profile สำหรับโปรแกรมที่รันอยู่บน Linux/UNIX</p>
<p>เปลี่ยนคอนฟิกของ Windows XP เพื่อให้แสดงไฟล์ที่ซ่อนไว้ โดยคลิกที่ Tools -&gt; Folder Options แล้วกดที่แทป View ภายใต้ &#8220;Hidden files and folders&#8221; เลือกเป็น &#8220;Show hidden files and folders&#8221;</p>
<p><img class="alignnone size-full wp-image-501" title="Folder Options - Show hidden files and folders" src="http://spalinux.com/wp-content/uploads/2009/04/02-folder-options-show-hidden-files-and-folders.png" alt="Folder Options - Show hidden files and folders" width="386" height="476" /></p>
<p>หลังจากแก้ไขคอนฟิก Folder Options จะเห็นไฟล์หรือไดเร็คทอรีที่ขึ้นต้นด้วยจุด &#8220;.&#8221; เพิ่มขึ้นมา แต่เป็นสีจางๆ</p>
<p><img class="alignnone size-full wp-image-502" title="Open test-share with hidden files and folders" src="http://spalinux.com/wp-content/uploads/2009/04/03-open-test-share-with-hidden-files-and-folders.png" alt="Open test-share with hidden files and folders" width="676" height="480" /></p>
<p> </p>
<p>ถ้าเราต้องการแก้ไขการถูกมองเป็น &#8220;hidden&#8221; สามารถทำได้โดยเพิ่มคอนฟิกภายใต้ share ที่ต้องการ</p>
<pre>[test-share]
path = /export
writable = yes
public = yes
<strong><span style="color: #0000ff;">hide dot files = no</span></strong></pre>
<p>รอสักครู่หรือ รีสตาร์ต Samba เพื่อให้มีผลทันที</p>
<pre>[root@file-server samba]# <strong>/etc/init.d/smb restart
</strong>Shutting down SMB services:                                [  OK  ]
Starting SMB services:                                     [  OK  ]</pre>
<p>ทดลองดูผ่านแชร์ไฟล์บน Windows XP อีกครั้ง จะเห็นว่า ไฟล์หรือไดเร็คทอรี ที่ขึ้นต้นด้วยเครื่องหมายจุด &#8220;.&#8221; กลับมาเป็นสีปกติเหมือนไฟล์ทั่วไป และ ถึงแม้เราจะเปลี่ยน &#8220;Folder Options&#8221; กลับไปเป็น &#8220;Do not show hidden files and folders&#8221; อีกครั้ง ไฟล์เหล่านี้ก็ยังสามารถมองเห็นได้ตามปกติ</p>
<p><img class="alignnone size-full wp-image-503" title="After &quot;hide dot files = no&quot;" src="http://spalinux.com/wp-content/uploads/2009/04/04-after-no-hidden-dot-files.png" alt="After &quot;hide dot files = no&quot;" width="676" height="480" /></p>
<h4> </h4>
<h4> การซ่อนไฟล์ตามชื่อไฟล์</h4>
<p>เราสามารถคอนฟิกเพื่อให้ Samba ซ่อนไฟล์ &#8220;hidden&#8221; ตามชื่อไฟล์ได้ เช่นต้องการซ่อนชื่อไฟล์หรือไดเร็คทอรีที่ในชื่อไฟล์มีคำว่า &#8220;test3&#8243;</p>
<pre>[test-share]
path = /export
writable = yes
public = yes
hide dot files = no
<strong><span style="color: #0000ff;">hide files = /*test3*/</span></strong></pre>
<p>รอสักครู่หรือ รีสตาร์ต Samba เพื่อให้มีผลทันที</p>
<pre>[root@file-server samba]# <strong>/etc/init.d/smb restart</strong>
Shutting down SMB services:                                [  OK  ]
Starting SMB services:                                     [  OK  ]</pre>
<p>ทดลองดูผ่านแชร์ไฟล์บน Windows XP หลังจากแก้ไขคอนฟิก จะเห็นว่าไฟล์ที่มีคำว่า &#8220;test3&#8243; กลายเป็นสีจางๆ ไปแล้ว</p>
<p><img class="alignnone size-full wp-image-504" title="After &quot;hide files = /*test3*/&quot;" src="http://spalinux.com/wp-content/uploads/2009/04/05-hiden-files-test3.png" alt="After &quot;hide files = /*test3*/&quot;" width="676" height="480" /></p>
<p> </p>
<h4>การป้องกัน (veto) การแชร์ไฟล์ตามชื่อที่กำหนด</h4>
<p>การซ่อน (hide) เป็นเพียงไม่ให้ผู้ใช้งานเห็นไฟล์จาก Windows ได้โดยดีฟอลต์เท่านั้น ผู้ใช้งานสามารถเปลี่ยน Folder Options ทำให้มองเห็นไฟล์ที่ซ่อนได้ &#8220;Show hidden files and folders&#8221;</p>
<p>แต่ถ้าเราต้องการไม่ให้ผู้ใช้งานเรียกใช้ไฟล์บางไฟล์ผ่านทางการแชร์ไฟล์ได้ โดยระบุเป็นชื่อไฟล์ที่กำหนด สามารถทำได้โดยใช้คอนฟิก &#8220;veto files&#8221; เช่น ไม่ต้องการให้ผู้ใช้งานเห็นไฟล์ที่มีคำว่า &#8220;test4&#8243; สามารถคอนฟิกได้ดังนี้</p>
<pre>[test-share]
path = /export
writable = yes
public = yes
hide dot files = no
hide files = /*test3*/
<strong><span style="color: #0000ff;">veto files = /*test4*/</span></strong></pre>
<p>รอสักครู่หรือ รีสตาร์ต Samba เพื่อให้มีผลทันที</p>
<pre>[root@file-server samba]# <strong>/etc/init.d/smb restart
</strong>Shutting down SMB services:                                [  OK  ]
Starting SMB services:                                     [  OK  ]</pre>
<p>ทดลองดูผ่านแชร์ไฟล์บน Windows XP หลังจากแก้ไขคอนฟิก ไฟล์ที่มีคำว่า &#8220;test4&#8243; จะหายไปแล้ว</p>
<p><img class="alignnone size-full wp-image-505" title="After &quot;veto files = /*test4*/&quot;" src="http://spalinux.com/wp-content/uploads/2009/04/06-veto-files-test4.png" alt="After &quot;veto files = /*test4*/&quot;" width="676" height="480" /> </p>
<p> </p>
<p>ถึงแม้เราจะรู้ชื่อไฟล์ที่ถูก veto ไว้ แล้วระบุลงไปในช่อง Address เลย ก็ไม่สามารถดูแชร์ไฟล์ที่มีคำว่า &#8220;test4&#8243; ได้อีกเลย</p>
<p><img class="alignnone size-full wp-image-506" title="Cannot view veto file" src="http://spalinux.com/wp-content/uploads/2009/04/07-cannot-view-veto-file.png" alt="Cannot view veto file" width="700" height="133" /></p>
<p> </p>
<p>การคอนฟิก veto ไฟล์ จะป้องกันทั้งการอ่านและเขียน หรือ download, upload ผ่านแชร์ไฟล์ ตัวอย่างเช่น ถ้าคอนฟิก veto ไฟล์ที่มีคำว่า &#8220;test4&#8243; ไว้ แล้วเราพยายามจะ upload ไฟล์ ชื่อ upload-test4.txt ผ่านแชร์ไฟล์ Samba จะไม่อนุญาต</p>
<p><img class="alignnone size-full wp-image-507" title="Cannot upload veto file" src="http://spalinux.com/wp-content/uploads/2009/04/08-cannot-upload-veto-file.png" alt="Cannot upload veto file" width="389" height="142" /></p>
<p> </p>
<p>ในกรณีที่ต้องการซ่อนหรือป้องการการใช้ไฟล์หลายๆ ชื่อ เช่นต้องการป้องกันการใช้ไฟล์ที่มีคำว่า &#8220;test4&#8243; หรือคำว่า &#8220;test1&#8243; สามารถคอนฟิกได้ดังนี้</p>
<pre>veto files = /*test4*/*test1*/</pre>
<h4>ข้อมูลอ้างอิง</h4>
<ul>
<li><a href="http://oreilly.com/catalog/samba/chapter/book/ch05_02.html" target="_blank">Using Samba, 1st Edition &#8211; 5.2 Filesystem Differences<br />
</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://spalinux.com/2009/04/hiding_and_vetoing_sharing_files_on_samba/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ไฟล์คอนฟิก openldap สำหรับ smbldap-tools</title>
		<link>http://spalinux.com/2008/11/openldap_configuration_for_smbldap-tools</link>
		<comments>http://spalinux.com/2008/11/openldap_configuration_for_smbldap-tools#comments</comments>
		<pubDate>Thu, 27 Nov 2008 16:25:07 +0000</pubDate>
		<dc:creator>editor</dc:creator>
				<category><![CDATA[Authentication]]></category>
		<category><![CDATA[Directory Server]]></category>
		<category><![CDATA[Samba]]></category>
		<category><![CDATA[ldap]]></category>

		<guid isPermaLink="false">http://spalinux.com/?p=334</guid>
		<description><![CDATA[ไฟล์คอนฟิก /etc/openldap/slapd.conf สำหรับ คอนฟิก Samba เป็น Domain Controller โดยปรับปรุงเพิ่มเติมคุณสมบัติดังนี้ กำหนดคีย์ (index) ที่ใช้ในการค้นหาข้อมูล อนุญาตให้ผู้ใช้สามารถเปลี่ยน password โดยใช้คำสั่ง smbldap-passwd ด้วยตัวเองได้ ไม่ต้องใช้ rootdn ซ่อนรหัสผ่าน (password) ไม่ให้สามารถอ่านได้โดยตรง แต่ใช้ในการตรวจสอบสิทธิ (authenticate) ได้ # ------------------------ # /etc/openldap/slapd.conf # ------------------------ include     /etc/openldap/schema/corba.schema include     /etc/openldap/schema/core.schema include     /etc/openldap/schema/cosine.schema include     /etc/openldap/schema/duaconf.schema include     /etc/openldap/schema/dyngroup.schema include     /etc/openldap/schema/inetorgperson.schema include     /etc/openldap/schema/java.schema include     /etc/openldap/schema/misc.schema include     /etc/openldap/schema/nis.schema include     /etc/openldap/schema/openldap.schema include     /etc/openldap/schema/ppolicy.schema include     /etc/openldap/schema/collective.schema # [...]]]></description>
			<content:encoded><![CDATA[<p>ไฟล์คอนฟิก /etc/openldap/slapd.conf สำหรับ <a href="http://spalinux.com/2008/10/configure_samba_domain_controller">คอนฟิก Samba เป็น Domain Controller</a> โดยปรับปรุงเพิ่มเติมคุณสมบัติดังนี้</p>
<ul>
<li>กำหนดคีย์ (index) ที่ใช้ในการค้นหาข้อมูล</li>
<li>อนุญาตให้ผู้ใช้สามารถเปลี่ยน password โดยใช้คำสั่ง smbldap-passwd ด้วยตัวเองได้ ไม่ต้องใช้ rootdn</li>
<li>
<pre>ซ่อนรหัสผ่าน (password) ไม่ให้สามารถอ่านได้โดยตรง แต่ใช้ในการตรวจสอบสิทธิ (authenticate) ได้</pre>
</li>
</ul>
<p><span id="more-334"></span></p>
<pre># ------------------------
# /etc/openldap/slapd.conf
# ------------------------
include     /etc/openldap/schema/corba.schema
include     /etc/openldap/schema/core.schema
include     /etc/openldap/schema/cosine.schema
include     /etc/openldap/schema/duaconf.schema
include     /etc/openldap/schema/dyngroup.schema
include     /etc/openldap/schema/inetorgperson.schema
include     /etc/openldap/schema/java.schema
include     /etc/openldap/schema/misc.schema
include     /etc/openldap/schema/nis.schema
include     /etc/openldap/schema/openldap.schema
include     /etc/openldap/schema/ppolicy.schema
include     /etc/openldap/schema/collective.schema</pre>
<pre># Samba Schema
include     /etc/openldap/schema/samba.schema</pre>
<pre># Allow LDAPv2 client connections.  This is NOT the default.
allow bind_v2</pre>
<pre>pidfile     /var/run/openldap/slapd.pid
argsfile    /var/run/openldap/slapd.args</pre>
<pre># Enable Monitoring
database monitor</pre>
<pre># ldbm and/or bdb database definitions
database    bdb
suffix      "dc=test-ldap,dc=com"
rootdn      "uid=root,ou=People,dc=test-ldap,dc=com"
rootpw      {SSHA}xxx
directory   /var/lib/ldap</pre>
<pre># Indices to maintain for this database
index objectClass                       eq,pres
index ou,cn,mail,surname,givenname      eq,pres,sub
index uidNumber,gidNumber,loginShell    eq,pres
index uid,memberUid                     eq,pres,sub
index nisMapName,nisMapEntry            eq,pres,sub
index uniqueMember                      eq</pre>
<pre># required to support pdb_getsambapwrid()
index displayName                       pres,sub,eq
index sambaSID                          eq
index sambaPrimaryGroupSID              eq
index sambaDomainName                   eq
index sambaSIDList                      eq
index sambaGroupType                    eq
index default                           sub</pre>
<pre># users can authenticate and change their password
# hide password fields
access to attrs=userPassword,sambaNTPassword,sambaLMPassword,sambaPwdMustChange,sambaPwdLastSet
      by self write
      by anonymous auth
      by * none</pre>
<pre>access to attrs=shadowLastChange,shadowMax
      by self write
      by * read</pre>
<pre># all others attributes are readable to everybody
access to *
      by * read</pre>
<pre># loglevel stats stats2</pre>
<pre># EOF.</pre>
]]></content:encoded>
			<wfw:commentRss>http://spalinux.com/2008/11/openldap_configuration_for_smbldap-tools/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>การเปลี่ยน IP Address ของ Samba PDC</title>
		<link>http://spalinux.com/2008/10/changing_samba_pdc_ip_address</link>
		<comments>http://spalinux.com/2008/10/changing_samba_pdc_ip_address#comments</comments>
		<pubDate>Sat, 25 Oct 2008 12:14:23 +0000</pubDate>
		<dc:creator>editor</dc:creator>
				<category><![CDATA[Samba]]></category>
		<category><![CDATA[Troubleshooting]]></category>
		<category><![CDATA[pdc]]></category>

		<guid isPermaLink="false">http://spalinux.com/?p=300</guid>
		<description><![CDATA[บทความนี้จะอธิบายการแก้ไขปัญหาหลังจากเปลี่ยน IP Address ของเครื่องเซิร์ฟเวอร์ที่รัน Samba ทำหน้าที่เป็น Domain Controller หรือ PDC บนลีนุกซ์ ตัวอย่างในบทความนี้จะเป็นการแก้ไขหลังจากเปลี่ยน IP ของเครื่องเซิร์ฟเวอร์จาก 10.1.0.1 ไปเป็น IP ใหม่คือ 192.168.1.1 ของโดเมน SMBLDAP ก่อนการแก้ไข หลังจากที่เปลี่ยน IP Addres ของลีนุกซ์แล้ว โดยอาจใช้คำสั่ง system-config-network หรือใช้คำสั่ง ifconfig โดยตรง ทดลองรัน Samba เพื่อทำหน้าที่ PDC ขึ้นมาใหม่ เครื่องไคลเอนต์จะไม่สามารถ join เข้าโดเมนได้ ปัญหาที่เกิดขึ้น เนื่องมาจาก มีการเก็บข้อมูล IP เก่าว่าเป็น Domain Controller อยู่ ซึ่งสามารถตรวจสอบได้จากไฟล์ /var/log/samba/log.nbmd จะขึ้นข้อความว่า Domain Controller ยังผูกกับ IP เก่าอยู่ [...]]]></description>
			<content:encoded><![CDATA[<p>บทความนี้จะอธิบายการแก้ไขปัญหาหลังจากเปลี่ยน IP Address ของเครื่องเซิร์ฟเวอร์ที่รัน Samba ทำหน้าที่เป็น Domain Controller หรือ PDC บนลีนุกซ์</p>
<p>ตัวอย่างในบทความนี้จะเป็นการแก้ไขหลังจากเปลี่ยน IP ของเครื่องเซิร์ฟเวอร์จาก 10.1.0.1 ไปเป็น IP ใหม่คือ 192.168.1.1 ของโดเมน SMBLDAP</p>
<p><span id="more-300"></span></p>
<h4>ก่อนการแก้ไข</h4>
<p>หลังจากที่เปลี่ยน IP Addres ของลีนุกซ์แล้ว โดยอาจใช้คำสั่ง system-config-network หรือใช้คำสั่ง ifconfig โดยตรง ทดลองรัน Samba เพื่อทำหน้าที่ PDC ขึ้นมาใหม่ เครื่องไคลเอนต์จะไม่สามารถ join เข้าโดเมนได้</p>
<p>ปัญหาที่เกิดขึ้น เนื่องมาจาก มีการเก็บข้อมูล IP เก่าว่าเป็น Domain Controller อยู่ ซึ่งสามารถตรวจสอบได้จากไฟล์ /var/log/samba/log.nbmd จะขึ้นข้อความว่า Domain Controller ยังผูกกับ IP เก่าอยู่</p>
<p>ตัวอย่างการรัน Samba หลังจากเปลี่ยน IP Adddress</p>
<pre>[root@samba-server ~]#<strong> service smb start
</strong>Starting SMB services:                                     [  OK  ]
[root@samba-server ~]#<strong> service nmb start
</strong>Starting NMB services:                                     [  OK  ]</pre>
<p>ตัวอย่างไฟล์ log.nmbd ที่มีปัญหา</p>
<pre>[root@samba-server ~]# <strong>tail -f /var/log/samba/log.nmbd
</strong>[2008/10/25 16:41:02,  0] nmbd/nmbd.c:main(849)
  nmbd version 3.2.3-0.20.fc9 started.
  Copyright Andrew Tridgell and the Samba Team 1992-2008
[2008/10/25 16:41:02,  0] nmbd/asyncdns.c:start_async_dns(155)
  started asyncdns process 2161
[2008/10/25 16:41:02,  0] nmbd/nmbd_logonnames.c:add_logon_names(160)
  add_domain_logon_names:
  Attempting to become logon server for workgroup SMBLDAP on subnet 192.168.1.1
[2008/10/25 16:41:02,  0] nmbd/nmbd_logonnames.c:add_logon_names(160)
  add_domain_logon_names:
  Attempting to become logon server for workgroup SMBLDAP on subnet UNICAST_SUBNET
[2008/10/25 16:41:02,  0] nmbd/nmbd_become_dmb.c:become_domain_master_browser_wins(336)
  become_domain_master_browser_wins:
  Attempting to become domain master browser on workgroup SMBLDAP, subnet UNICAST_SUBNET.
[2008/10/25 16:41:02,  0] nmbd/nmbd_become_dmb.c:become_domain_master_browser_wins(350)
  become_domain_master_browser_wins: querying WINS server from IP 192.168.1.1 for domain master browser name SMBLDAP&lt;1b&gt; on workgroup SMBLDAP
[2008/10/25 16:41:02,  0] nmbd/nmbd_become_dmb.c:become_domain_master_query_success(234)
  become_domain_master_query_success:
 <span style="color: #ff0000;"> There is already a domain master browser at IP 10.1.0.1 for workgroup SMBLDAP registered on subnet UNICAST_SUBNET.
</span>[2008/10/25 16:41:02,  0] nmbd/nmbd_logonnames.c:become_logon_server_success(121)
  become_logon_server_success: Samba is now a logon server for workgroup SMBLDAP on subnet UNICAST_SUBNET
[2008/10/25 16:41:06,  0] nmbd/nmbd_logonnames.c:become_logon_server_success(121)
  become_logon_server_success: Samba is now a logon server for workgroup SMBLDAP on subnet 192.168.1.1
[2008/10/25 16:41:24,  0] nmbd/nmbd_become_lmb.c:become_local_master_stage2(395)
  *****</pre>
<pre>  Samba name server SAMBA-SERVER is now a local master browser for workgroup SMBLDAP on subnet 192.168.1.1</pre>
<pre>  *****
[2008/10/25 16:41:24,  0] libsmb/nmblib.c:send_udp(839)
 <span style="color: #ff0000;"> Packet send failed to 10.1.0.1(137) ERRNO=Network is unreachable
</span>[2008/10/25 16:41:24,  0] nmbd/nmbd_packets.c:send_netbios_packet(160)
 <span style="color: #ff0000;"> send_netbios_packet: send_packet() to IP 10.1.0.1 port 137 failed
</span>[2008/10/25 16:41:24,  0] nmbd/nmbd_nodestatus.c:node_status(87)
 <span style="color: #ff0000;"> node_status: Failed to send packet trying to get node status for name SMBLDAP&lt;1b&gt;, IP address 10.1.0.1</span></pre>
<pre>ใน Samba จะมีการเก็บข้อมูลของโดเมนว่า เครื่องใดทำหน้าที่อะไรบ้างในเน็ตเวิร์ก จะเก็บไว้ในหลายๆ ไฟล์ ไฟล์หนึ่งที่สามารถดูได้อย่างง่ายคือไฟล์ wins.dat</pre>
<p>ตัวอย่างไฟล์ wins.dat</p>
<pre>[root@samba-server ~]# <strong>cat /var/lib/samba/wins.dat</strong>
VERSION 1 0
"SMBLDAP#1e" 1225185500 0.0.0.0 e4R
"SAMBA-SERVER#00" 1225185500 10.1.0.1 192.168.1.1 66R
"SAMBA-SERVER#03" 1225185500 10.1.0.1 192.168.1.1 66R
"SMBLDAP#1b" 1225184635 10.1.0.1 64R
"SAMBA-SERVER#20" 1225185500 10.1.0.1 192.168.1.1 66R
"SMBLDAP#00" 1225185500 0.0.0.0 e4R
"SMBLDAP#1c" 1225185500 10.1.0.1 192.168.1.1 e4R</pre>
<p>จะเห็นได้ว่าไฟล์นี้ยังเก็บข้อมูล IP เก่าอยู่ ทำให้ Samba ทำงานได้ไม่ถูกต้อง</p>
<h4>การแก้ไข Samba หลังจากเปลี่ยน IP Address ของเครื่องเซิร์ฟเวอร์</h4>
<p>ขั้นตอนแรกต้อง stop เซอร์วิส Samba ก่อน ทั้ง smb และ nmb</p>
<p>ตัวอย่างการ stop เซอร์วิส Samba</p>
<pre>[root@samba-server ~]# <strong>service smb stop
</strong>Shutting down SMB services:                                [  OK  ]
[root@samba-server ~]# <strong>service nmb stop
</strong>Shutting down NMB services:                                [  OK  ]</pre>
<p>ลบไฟล์ที่เก็บข้อมูลของโดเมน โดยไฟล์เหล่านี้จะถูกสร้างขึ้นมาใหม่โดยอัตโนมัติหลังจากรันเซอร์วิส Samba อีกครั้ง</p>
<pre>[root@samba-server ~]# <strong>rm -f /var/lib/samba/wins.dat
</strong>[root@samba-server ~]# <strong>rm -f /var/lib/samba/browse.dat</strong>
[root@samba-server ~]# <strong>rm -f /var/lib/samba/gencache.tdb</strong></pre>
<p>รันเซอร์วิส Samba อีกครั้ง</p>
<pre>[root@samba-server ~]#<strong> service smb start
</strong>Starting SMB services:                                     [  OK  ]
[root@samba-server ~]# <strong>service nmb start</strong>
Starting NMB services:                                     [  OK  ]</pre>
<p>ตรวจสอบไฟล์ log.nmbd หลังการแก้ไข</p>
<pre>[root@samba-server ~]# tail -f /var/log/samba/log.nmbd
[2008/10/25 16:46:05,  0] nmbd/nmbd.c:main(849)
  nmbd version 3.2.3-0.20.fc9 started.
  Copyright Andrew Tridgell and the Samba Team 1992-2008
[2008/10/25 16:46:05,  0] nmbd/asyncdns.c:start_async_dns(155)
  started asyncdns process 2269
[2008/10/25 16:46:05,  0] nmbd/nmbd_logonnames.c:add_logon_names(160)
  add_domain_logon_names:
  Attempting to become logon server for workgroup SMBLDAP on subnet 192.168.1.1
[2008/10/25 16:46:05,  0] nmbd/nmbd_logonnames.c:add_logon_names(160)
  add_domain_logon_names:
  Attempting to become logon server for workgroup SMBLDAP on subnet UNICAST_SUBNET
[2008/10/25 16:46:05,  0] nmbd/nmbd_become_dmb.c:become_domain_master_browser_wins(336)
  become_domain_master_browser_wins:
  Attempting to become domain master browser on workgroup SMBLDAP, subnet UNICAST_SUBNET.
[2008/10/25 16:46:05,  0] nmbd/nmbd_become_dmb.c:become_domain_master_browser_wins(350)
  become_domain_master_browser_wins: querying WINS server from IP 192.168.1.1 for domain master browser name SMBLDAP&lt;1b&gt; on workgroup SMBLDAP
[2008/10/25 16:46:05,  0] nmbd/nmbd_logonnames.c:become_logon_server_success(121)
  become_logon_server_success: Samba is now a logon server for workgroup SMBLDAP on subnet UNICAST_SUBNET
[2008/10/25 16:46:05,  0] nmbd/nmbd_become_dmb.c:become_domain_master_stage2(110)
  *****</pre>
<pre>  Samba server SAMBA-SERVER is now a domain master browser for workgroup SMBLDAP on subnet UNICAST_SUBNET</pre>
<pre>  *****
[2008/10/25 16:46:05,  0] nmbd/nmbd_become_dmb.c:become_domain_master_browser_bcast(291)
  become_domain_master_browser_bcast:
  Attempting to become domain master browser on workgroup SMBLDAP on subnet 192.168.1.1
[2008/10/25 16:46:05,  0] nmbd/nmbd_become_dmb.c:become_domain_master_browser_bcast(304)
  become_domain_master_browser_bcast: querying subnet 192.168.1.1 for domain master browser on workgroup SMBLDAP
[2008/10/25 16:46:09,  0] nmbd/nmbd_logonnames.c:become_logon_server_success(121)
  become_logon_server_success: Samba is now a logon server for workgroup SMBLDAP on subnet 192.168.1.1
[2008/10/25 16:46:13,  0] nmbd/nmbd_become_dmb.c:become_domain_master_stage2(110)
  *****</pre>
<pre>  Samba server SAMBA-SERVER is now a domain master browser for workgroup SMBLDAP on subnet 192.168.1.1</pre>
<pre>  *****
[2008/10/25 16:46:27,  0] nmbd/nmbd_become_lmb.c:become_local_master_stage2(395)
  *****</pre>
<pre>  Samba name server SAMBA-SERVER is now a local master browser for workgroup SMBLDAP on subnet 192.168.1.1</pre>
<pre>  *****</pre>
<p>ตรวจสอบไฟล์ wins.dat หลังการแก้ไข</p>
<pre>[root@samba-server ~]#<strong> cat /var/lib/samba/wins.dat
</strong>VERSION 1 0
"SMBLDAP#1e" 1225187165 0.0.0.0 e4R
"SAMBA-SERVER#00" 1225187165 192.168.1.1 66R
"SAMBA-SERVER#03" 1225187165 192.168.1.1 66R
"SMBLDAP#1b" 1225187165 192.168.1.1 64R
"SAMBA-SERVER#20" 1225187165 192.168.1.1 66R
"SMBLDAP#00" 1225187165 0.0.0.0 e4R
"SMBLDAP#1c" 1225187165 192.168.1.1 e4R</pre>
]]></content:encoded>
			<wfw:commentRss>http://spalinux.com/2008/10/changing_samba_pdc_ip_address/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>คอนฟิก Samba เป็น Domain Controller</title>
		<link>http://spalinux.com/2008/10/configure_samba_domain_controller</link>
		<comments>http://spalinux.com/2008/10/configure_samba_domain_controller#comments</comments>
		<pubDate>Sat, 18 Oct 2008 11:21:54 +0000</pubDate>
		<dc:creator>editor</dc:creator>
				<category><![CDATA[Authentication]]></category>
		<category><![CDATA[File Sharing]]></category>
		<category><![CDATA[Samba]]></category>
		<category><![CDATA[ldap]]></category>
		<category><![CDATA[domain controller]]></category>
		<category><![CDATA[smbldap-tools]]></category>

		<guid isPermaLink="false">http://spalinux.com/?p=284</guid>
		<description><![CDATA[จากบทความ ติดตั้ง smbldap-tools บน Fedora 9 นั้นเป็นการคอนฟิกให้ Samba ทำหน้าที่เป็น file sharing อย่างเดียว โดยผู้ใช้งานสามารถ map drive เข้ามาแล้ว authenticate จาก LDAP ได้ ในบทความนี้จะคอนฟิกเพิ่มเติมเพื่อให้ Samba ทำหน้าที่เป็น Domain Controller ของ Windows client ได้ แก้ไขไฟล์ /etc/samba/smb.conf ต้องแก้ไขไฟล์ smb.conf เพิ่มเติมโดยในที่นี้จะแสดงคอนฟิกทั้งหมดของไฟล์นี้เลย เพื่อคอนฟิกให้ Samba ทำหน้าที่เป็น Domain Controller [global] workgroup = SMBLDAP server string = Samba Server Version %v passdb backend = ldapsam:ldap://127.0.0.1/ passwd [...]]]></description>
			<content:encoded><![CDATA[<p>จากบทความ <a href="http://spalinux.com/2008/10/install_smbldap-tools_on_fedora_9">ติดตั้ง smbldap-tools บน Fedora 9</a><a href="http://spalinux.com/wp-content/uploads/2008/10/windows_join_domain.png"></a> นั้นเป็นการคอนฟิกให้ Samba ทำหน้าที่เป็น file sharing อย่างเดียว โดยผู้ใช้งานสามารถ map drive เข้ามาแล้ว authenticate จาก LDAP ได้</p>
<p>ในบทความนี้จะคอนฟิกเพิ่มเติมเพื่อให้ Samba ทำหน้าที่เป็น Domain Controller ของ Windows client ได้</p>
<p><span id="more-284"></span></p>
<h4>แก้ไขไฟล์ /etc/samba/smb.conf</h4>
<p>ต้องแก้ไขไฟล์ smb.conf เพิ่มเติมโดยในที่นี้จะแสดงคอนฟิกทั้งหมดของไฟล์นี้เลย เพื่อคอนฟิกให้ Samba ทำหน้าที่เป็น Domain Controller</p>
<pre>[global]
 workgroup = SMBLDAP
 server string = Samba Server Version %v</pre>
<pre> passdb backend = ldapsam:ldap://127.0.0.1/
 passwd program = /usr/sbin/smbldap-passwd -u "%u"
 passwd chat = "Changing *\nNew password*" %n\n "*Retype new password*" %n\n"
 unix password sync = Yes
 log file = /var/log/samba/log.%U
 max log size = 50
 time server = Yes
 socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192</pre>
<pre> add user script = /usr/sbin/smbldap-useradd -m "%u"
 delete user script = /usr/sbin/smbldap-userdel "%u"
 add group script = /usr/sbin/smbldap-groupadd -p "%g"
 delete group script = /usr/sbin/smbldap-groupdel "%g"
 add user to group script = /usr/sbin/smbldap-groupmod -m "%u" "%g"
 delete user from group script = /usr/sbin/smbldap-groupmod -x "%u" "%g"
 set primary group script = /usr/sbin/smbldap-usermod -g '%g' '%u'
 add machine script = /usr/sbin/smbldap-useradd -t 0 -w "%u"</pre>
<pre> logon script = logon.bat
 logon path = \\%L\profiles\%u
 logon drive = H:
 domain logons = Yes
 os level = 65
 preferred master = Yes
 domain master = Yes
 wins support = Yes</pre>
<pre> ldap admin dn = uid=root,ou=People,dc=test-ldap,dc=com
 ldap group suffix = ou=Group
 ldap idmap suffix = ou=Idmap
 ldap machine suffix = ou=Computers
 ldap suffix = dc=test-ldap,dc=com
 ldap user suffix = ou=People
 cups options = raw</pre>
<pre>[homes]
 comment = Home Directories
 read only = No
 browseable = No</pre>
<pre>[profiles]
 path = /home/profiles
 read only = No
 guest ok = Yes
 browseable = No</pre>
<p>คำแนะนำ รันคำสั่ง testparm ทุกครั้งเพื่อตรวจสอบความถูกต้องของคอนฟิกไฟล์ หลังการแก้ไขไฟล์ /etc/samba/smb.conf</p>
<h4>สร้างไดเร็คทอรีสำหรับเก็บ profiles ของ user</h4>
<p>เพื่อให้ user สามารถล็อกอินจาก Windows หลายๆ เครื่องแล้วมี profiles เหมือนกัน เช่น desktop ต้องสร้างไดเร็คทอรี่บนลีนุกซ์ที่รัน Samba สำหรับเก็บ profiles ของ user</p>
<p>ตัวอย่างการสร้างไดเร็คทอรี สำหรับเก็บ profiles ของ user</p>
<pre>[root@fc9-min ~]# <strong>cd /home
</strong>[root@fc9-min home]# <strong>mkdir profiles
</strong>[root@fc9-min home]# <strong>chgrp "Domain Users" prof</strong>iles
[root@fc9-min home]# <strong>chmod 770 profil</strong>es
[root@fc9-min home]# <strong>ls -ld profiles
</strong>drwxrwx--- 2 root Domain Users 4096 2008-10-19 00:27 profiles</pre>
<h4>รันเซอร์วิส Samba</h4>
<p>เพื่อให้ Samba ทำหน้าที่เป็น Domain Controller ได้นั้น จำเป็นต้องรัน 2 เซอร์วิสคือ smb และ nmb ตามตัวอย่าง</p>
<pre>[root@fc9-min ~]# <strong>service smb start
</strong>Starting SMB services:                                     [  OK  ]</pre>
<pre>[root@fc9-min ~]# <strong>service nmb start</strong>
Starting NMB services:                                     [  OK  ]</pre>
<h4>คอนฟิก Windows ให้ join Domain</h4>
<p>ล็อกอินเป็น Administrator บนเครื่องไคลเอนต์ Windows ที่จะ join Domain คลิ้กขวาที่ My Computer แล้วเลือก Properties คลิ้กที่ Computer Name แล้วกดปุ่ม Change ใส่ชื่อ Domain ที่ต้องการ join ในที่นี้คือ SMBLDAP</p>
<p>หน้าจอ &#8220;Computer Name Changes&#8221; จะให้ใส่ User Name และ Password ที่จะใช้ join domain ให้ใส่ User Name เป็น root และใส่ password ตามที่ระบุใน rootpw</p>
<p><img title="Windows join domain" src="http://spalinux.com/wp-content/uploads/2008/10/windows_join_domain.png" alt=""/ border="1"></p>
<p>ถ้าถูกต้องจะมีหน้าจอขึ้นข้อความ &#8220;Welcome to the SMBLDAP domain.&#8221; กดปุ่ม Ok แล้วก็รีสตาร์ตเครื่อง</p>
<p><img title="Welcome to the SMBLDAP domain" src="http://spalinux.com/wp-content/uploads/2008/10/welcome_to_the_smbldap_domain.png" alt=""/ border="1"></p>
<p>หลังจากบู๊ตเครื่องเสร็จ หน้าจอ Log On to Windows จะสามารถเลือก Log on to เป็น SMBLDAP ได้ ใส่ user ที่เพิ่มจากคำสั่ง smbldap-useradd ในตัวอย่างคือ user01</p>
<p><img title="Windows Log On" src="http://spalinux.com/wp-content/uploads/2008/10/windows_log_on.png" alt="" /></p>
<p>เมื่อล๊อกออก (Log Off) จาก user01 จะมีการเก็บ profiles ของ user เข้าไปในไดเร็คทอรี บนลีนุกซ์ที่ตั้งไว้ด้วย</p>
<p>ตัวอย่างไฟล์ profiles ที่ถูกสร้างขึ้น ของ user01</p>
<pre>[root@fc9-min ~]# <strong>ls -l /home/profiles/user01/
</strong>total 568
drwx--x--x+ 4 user01 Domain Users   4096 2008-10-18 17:48 Application Data
drwx--x--x+ 2 user01 Domain Users   4096 2008-05-03 16:20 Cookies
drwx------+ 2 user01 Domain Users   4096 2008-05-03 23:12 Desktop
drwx--x--x+ 3 user01 Domain Users   4096 2008-10-18 17:49 Favorites
drwx--x--x+ 4 user01 Domain Users   4096 2008-10-18 17:49 My Documents
drwx--x--x+ 2 user01 Domain Users   4096 2008-05-03 23:12 NetHood
-rwx------  1 user01 Domain Users 524288 2008-10-18 17:54 NTUSER.DAT
-rwx------  1 user01 Domain Users   1024 2008-10-18 17:54 NTUSER.DAT.LOG
-rw-------  1 user01 Domain Users    268 2008-10-19 00:55 ntuser.ini
drwx--x--x+ 2 user01 Domain Users   4096 2008-05-03 23:12 PrintHood
drwx--x--x+ 2 user01 Domain Users   4096 2008-10-18 17:49 Recent
drwx--x--x+ 2 user01 Domain Users   4096 2008-10-18 17:48 SendTo
drwx--x--x+ 3 user01 Domain Users   4096 2008-05-03 23:12 Start Menu
drwx--x--x+ 2 user01 Domain Users   4096 2008-05-03 16:17 Templates</pre>
<h4>ข้อมูลอ้างอิง</h4>
<ul>
<li><a href="http://spalinux.com/2008/10/install_smbldap-tools_on_fedora_9">ติดตั้ง smbldap-tools บน Fedora 9</a></li>
<li><a href="http://spalinux.com/2008/10/using_smbldap-tools">การใช้งานคำสั่งของ smbldap-tools</a></li>
<li><a href="http://spalinux.com/2008/11/openldap_configuration_for_smbldap-tools">ไฟล์คอนฟิก openldap สำหรับ smbldap-tools</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://spalinux.com/2008/10/configure_samba_domain_controller/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>การใช้งานคำสั่งของ smbldap-tools</title>
		<link>http://spalinux.com/2008/10/using_smbldap-tools</link>
		<comments>http://spalinux.com/2008/10/using_smbldap-tools#comments</comments>
		<pubDate>Sat, 18 Oct 2008 10:11:53 +0000</pubDate>
		<dc:creator>editor</dc:creator>
				<category><![CDATA[Authentication]]></category>
		<category><![CDATA[Directory Server]]></category>
		<category><![CDATA[File Sharing]]></category>
		<category><![CDATA[Samba]]></category>
		<category><![CDATA[ldap]]></category>
		<category><![CDATA[smbldap-tools]]></category>

		<guid isPermaLink="false">http://spalinux.com/?p=271</guid>
		<description><![CDATA[ในบทความนี้จะกล่าวถึงการใช้งานโปรแกรม smbldap-tools (เวอร์ชั่น 0.9.5) สำหรับเพิ่ม แก้ไข ลบข้อมูลของ user หรือ group ที่อยู่ใน LDAP เพื่อใช้งานร่วมกับ Samba หมายเหตุ ทุกคำสั่งของ smbldap-tools สามารถที่จะดูวิธีการใช้งานโดยย่อได้ จากการรันคำสั่งที่ต้องการแล้วต่อท้ายด้วยออปชั่น &#8216;-h&#8217; หรือ &#8216;-?&#8217; หรือไม่ก็อ่านรายละเอียดการใช้งานได้จาก man page ของแต่ละคำสั่ง smbldap-useradd เพิ่ม user คำสั่ง smbldap-useradd ใช้เพิ่ม user เข้าไปใน LDAP ตัวอย่างการเพิ่ม user01 เข้าไปใน LDAP [root@fc9-min ~]# smbldap-useradd -a -m -P user01 Changing UNIX and samba passwords for user01 New password: [...]]]></description>
			<content:encoded><![CDATA[<p>ในบทความนี้จะกล่าวถึงการใช้งานโปรแกรม smbldap-tools (เวอร์ชั่น 0.9.5) สำหรับเพิ่ม แก้ไข ลบข้อมูลของ user หรือ group ที่อยู่ใน LDAP เพื่อใช้งานร่วมกับ Samba</p>
<p>หมายเหตุ ทุกคำสั่งของ smbldap-tools สามารถที่จะดูวิธีการใช้งานโดยย่อได้ จากการรันคำสั่งที่ต้องการแล้วต่อท้ายด้วยออปชั่น &#8216;-h&#8217; หรือ &#8216;-?&#8217; หรือไม่ก็อ่านรายละเอียดการใช้งานได้จาก man page ของแต่ละคำสั่ง</p>
<p><span id="more-271"></span></p>
<hr />
<h4>smbldap-useradd เพิ่ม user</h4>
<p>คำสั่ง smbldap-useradd ใช้เพิ่ม user เข้าไปใน LDAP</p>
<p>ตัวอย่างการเพิ่ม user01 เข้าไปใน LDAP</p>
<pre>[root@fc9-min ~]# <strong>smbldap-useradd -a -m -P user01
</strong>Changing UNIX and samba passwords for user01
New password:
Retype new password:</pre>
<p>ออปชั่นของคำสั่ง smbldap-useradd ที่ใช้ เพื่อให้ใช้งานร่วมกับ Samba ได้มีดังนี้</p>
<ul>
<li>-a    เพิ่มข้อมูล Samba ของ user</li>
<li>-m   สร้างไดเร็คทอรี่ Home ของ user ด้วย</li>
<li>-P    ให้เรียกคำสั่ง smbldap-passwd หลังจบคำสั่ง เพื่อตั้งรหัสให้ user</li>
</ul>
<p>หลังจากที่เพิ่ม user เข้าในระบบแล้ว สามารถใช้คำสั่ง id หรือ getent เพื่อตรวจสอบข้อมูลของ user ได้</p>
<pre>[root@fc9-min ~]# <strong>id user01</strong>
uid=1001(user01) gid=513(Domain Users) groups=513(Domain Users)</pre>
<pre>[root@fc9-min ~]# <strong>getent passwd user01</strong>
user01:x:1001:513:System User:/home/user01:/bin/bash</pre>
<hr />
<h4>smbldap-passwd เปลี่ยนรหัสผ่านของ user</h4>
<p>คำสั้ง smbldap-passwd ใช้เพื่อเปลี่ยนรหัสผ่านของ user ที่อยู่ใน LDAP</p>
<pre>[root@fc9-min ~]# <strong>smbldap-passwd user01</strong>
Changing UNIX and samba passwords for user01
New password:
Retype new password:</pre>
<hr />
<h4>smbldap-userlist แสดงรายชื่อ user</h4>
<p>คำสั่ง smbldap-userlist ใช้เพื่อแสดงรายชื่อ user ทั้งหมดที่อยู่ใน LDAP</p>
<pre>[root@fc9-min ~]# <strong>smbldap-userlist
</strong>uid  |username</pre>
<pre>   0 |root                 |
 999 |nobody               |
1001 |user01               |</pre>
<hr />
<h4>smbldap-usershow แสดงรายละเอียด user</h4>
<p>คำสั่ง smbldap-usershow ใช้เพื่อตรวจสอบข้อมูลทั้งหมดของ user ที่อยู่ใน LDAP</p>
<pre>[root@fc9-min ~]# <strong>smbldap-usershow user01</strong>
dn: uid=user01,ou=People,dc=test-ldap,dc=com
objectClass: top,person,organizationalPerson,inetOrgPerson,posixAccount,shadowAccount,sambaSamAccount
uid: user01
uidNumber: 1001
gidNumber: 513
homeDirectory: /home/user01
sambaLogonTime: 0
sambaLogoffTime: 2147483647
sambaKickoffTime: 2147483647
sambaPwdCanChange: 0
displayName: user01
sambaSID: S-1-5-21-3697236364-1357617849-1956783867-3002
sambaPrimaryGroupSID: S-1-5-21-3697236364-1357617849-1956783867-513
sambaProfilePath: \\fc9-min\profiles\user01
sambaHomePath: \\fc9-min\user01
sambaHomeDrive: H:
sambaLMPassword: C53C042BF139A7D9AAD3B435B51404EE
sambaAcctFlags: [U]
sambaNTPassword: 152E0323FE05645650DD50FD31C2FCDF
sambaPwdLastSet: 1224343354
sambaPwdMustChange: 1228231354
userPassword: {SSHA}d+ZTyu7BhUarCaM2Ifu9bk/RS0lkSi80
shadowLastChange: 14170
shadowMax: 45
gecos: System User,,,,
cn: System User
sn: User
givenName: System
loginShell: /bin/bash</pre>
<hr />
<h4>smbldap-userinfo แก้ไขข้อมูลเบื้องต้นของ user</h4>
<p>คำสั่ง smbldap-userinfo ใช้เพื่อแก้ไขข้อมูลเบื้องต้นของ user เช่น User Shell, Full Name ถ้าต้องการแก้ไขข้อมูลอื่นๆ ต้องใช้คำสั่ง smbldap-usermod</p>
<pre>[root@fc9-min ~]# <strong>smbldap-userinfo user01
</strong>Changing the user information for user01
Enter the new value, or press ENTER for the default
 User Shell [/bin/bash]:
 Full Name [System User]: <strong>User01 Full Name</strong>
 Room Number []:
 Work Phone []:
 Home Phone []:
 Other []:
LDAP updated</pre>
<p>ตรวจสอบ Full Name หลังการแก้ไขด้วยคำสั่ง getent</p>
<pre>[root@fc9-min ~]# <strong>getent passwd user01</strong>
user01:x:1001:513:User01 Full Name,,,,:/home/user01:/bin/bash</pre>
<hr />
<h4>smbldap-usermod แก้ไขข้อมูลของ user</h4>
<p>คำสั่ง smbldap-usermod ใช้เพื่อแก้ข้อมูลของ user ที่อยู่ใน LDAP โดยต้องระบุออปชั่นที่ต้องการแก้ไข</p>
<p>ตัวอย่างการใช้คำสั่ง smbldap-usermod เพื่อแก้ไข Home ของ user01</p>
<pre>[root@fc9-min ~]# <strong>smbldap-usermod -d /new-home/user01 user01</strong></pre>
<p>ตรวจสอบหลังการแก้ไข</p>
<pre>[root@fc9-min ~]# <strong>getent passwd user01
</strong>user01:x:1001:513:User01 Full Name,,,,:/new-home/user01:/bin/bash</pre>
<p>เปลี่ยนข้อมูลกลับ</p>
<pre>[root@fc9-min ~]# <strong>smbldap-usermod -d /home/user01 user01
</strong>[root@fc9-min ~]# <strong>getent passwd user01
</strong>user01:x:1001:513:User01 Full Name,,,,:/home/user01:/bin/bash</pre>
<hr />
<h4>smbldap-userdel ลบ user</h4>
<p>คำสั่ง smbldap-userdel ใช้เพื่อลบ user ออกจาก LDAP</p>
<pre>[root@fc9-min ~]# <strong>smbldap-userdel -r user02</strong></pre>
<hr />
<h4>smbldap-groupadd เพิ่ม group</h4>
<p>คำสั่ง smbldap-groupadd ใช้เพื่อเพิ่ม group ใหม่เข้าไปใน LDAP</p>
<p>ตัวอย่างการเพิ่ม newgroup เข้าไปใน LDAP</p>
<pre>[root@fc9-min ~]# <strong>smbldap-groupadd newgroup</strong></pre>
<hr />
<h4>smbldap-groupshow ดูข้อมูลของ group</h4>
<p>คำสั่ง smbldap-groupshow ใช้เพื่อดูข้อมูลรายละเอียดของ group ที่อยู่ใน LDAP</p>
<pre>[root@fc9-min ~]# <strong>smbldap-groupshow newgroup</strong>
dn: cn=newgroup,ou=Group,dc=test-ldap,dc=com
objectClass: top,posixGroup
cn: newgroup
gidNumber: 1000</pre>
<hr />
<h4>smbldap-groupmod แก้ไขข้อมูลของ group</h4>
<p>คำสั่ง smbldap-groupmod ใช้เพื่อแก้ไขข้อมูลของ group เช่น การเพิ่ม user เข้าไปอยู่ใน group</p>
<p>ตัวอย่างการเพิ่ม user01 เข้าไปอยู่ใน newgroup</p>
<pre>[root@fc9-min ~]# <strong>smbldap-groupmod -m user01 newgroup</strong>
adding user user01 to group newgroup</pre>
<pre>[root@fc9-min ~]# <strong>id user01
</strong>uid=1001(user01) gid=513(Domain Users) groups=513(Domain Users),1000(newgroup)</pre>
<p>ตัวอย่างการเพิ่มหลายๆ user เข้าไปใน newgroup</p>
<pre>[root@fc9-min ~]# <strong>smbldap-groupmod -m user02,user03,user04,user05 newgroup
</strong>adding user user02 to group newgroup
adding user user03 to group newgroup
adding user user04 to group newgroup
adding user user05 to group newgroup</pre>
<p>ตรวจสอบข้อมูลของ newgroup</p>
<pre>[root@fc9-min ~]# <strong>smbldap-groupshow newgroup
</strong>dn: cn=newgroup,ou=Group,dc=test-ldap,dc=com
objectClass: top,posixGroup
cn: newgroup
gidNumber: 1000
memberUid: user01,user02,user03,user04,user05</pre>
<p>ตัวอย่างการลบ user ออกจาก group</p>
<pre>[root@fc9-min ~]# <strong>smbldap-groupmod -x user01 newgroup</strong>
deleting user user01 from group newgroup</pre>
<pre>[root@fc9-min ~]# <strong>id user01
</strong>uid=1001(user01) gid=513(Domain Users) groups=513(Domain Users)</pre>
<hr />
<h4>smbldap-groupdel ลบ group</h4>
<p>คำสั่ง smbldap-groupdel ใช้เพื่อลบ group ออกจาก LDAP</p>
<p>ตัวอย่างการลบ newgroup ออกจาก LDAP</p>
<pre>[root@fc9-min ~]# <strong>smbldap-groupdel newgroup</strong></pre>
<h4>ข้อมูลอ้างอิง</h4>
<ul>
<li> <a href="http://spalinux.com/2008/10/install_smbldap-tools_on_fedora_9">ติดตั้ง smbldap-tools บน Fedora 9</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://spalinux.com/2008/10/using_smbldap-tools/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ติดตั้ง smbldap-tools บน Fedora 9</title>
		<link>http://spalinux.com/2008/10/install_smbldap-tools_on_fedora_9</link>
		<comments>http://spalinux.com/2008/10/install_smbldap-tools_on_fedora_9#comments</comments>
		<pubDate>Sat, 18 Oct 2008 09:09:07 +0000</pubDate>
		<dc:creator>editor</dc:creator>
				<category><![CDATA[Authentication]]></category>
		<category><![CDATA[Directory Server]]></category>
		<category><![CDATA[File Sharing]]></category>
		<category><![CDATA[Samba]]></category>
		<category><![CDATA[ldap]]></category>
		<category><![CDATA[smbldap-tools]]></category>

		<guid isPermaLink="false">http://spalinux.com/?p=266</guid>
		<description><![CDATA[บทความนี้จะอธิบายการติดตั้งโปรแกรม smbldap-tools เพื่อช่วยในการคอนฟิกให้ Samba สามารถที่จะตรวจสอบ (authenticate) user จาก OpenLDAP ได้ โดยจะอ้างอิงจากการ ติดตั้ง OpenLDAP Server บน Fedora 9 ปรับปรุง samba เป็นเวอร์ชั่นล่าสุดใน Fedora 9 ในบทความนี้จะถือว่าเป็นการติดตั้ง OpenLDAP ใหม่เลย โดยไม่มีข้อมูลใดๆ อยู่ใน LDAP ติดตั้ง Perl Module ที่จำเป็น โปรแกรม smbldap-tools เขียนด้วยภาษา Perl จะเรียกใช้ Perl Module ต่างๆ ดังนั้นก่อนที่จะใช้งานได้ ต้องติดตั้ง Perl Module เหล่านี้ก่อน สำหรับ Fedora 9 สามารถดาวน์โหลดไฟล์ต่างๆ ได้จาก Fedora 9 Everything ตัวอย่างการติดตั้ง Perl [...]]]></description>
			<content:encoded><![CDATA[<p>บทความนี้จะอธิบายการติดตั้งโปรแกรม smbldap-tools เพื่อช่วยในการคอนฟิกให้ Samba สามารถที่จะตรวจสอบ (authenticate) user จาก OpenLDAP ได้ โดยจะอ้างอิงจากการ</p>
<ul>
<li><a href="http://spalinux.com/2008/10/install_openldap_server_on_fedora_9">ติดตั้ง OpenLDAP Server บน Fedora 9</a></li>
<li><a href="http://spalinux.com/2008/07/update_samba_in_fedora_9">ปรับปรุง samba เป็นเวอร์ชั่นล่าสุดใน Fedora 9</a></li>
</ul>
<p>ในบทความนี้จะถือว่าเป็นการติดตั้ง OpenLDAP ใหม่เลย โดยไม่มีข้อมูลใดๆ อยู่ใน LDAP</p>
<p><span id="more-266"></span></p>
<h4>ติดตั้ง Perl Module ที่จำเป็น</h4>
<p>โปรแกรม smbldap-tools เขียนด้วยภาษา Perl จะเรียกใช้ Perl Module ต่างๆ ดังนั้นก่อนที่จะใช้งานได้ ต้องติดตั้ง Perl Module เหล่านี้ก่อน สำหรับ Fedora 9 สามารถดาวน์โหลดไฟล์ต่างๆ ได้จาก <a href="http://mirrors.kernel.org/fedora/releases/9/Everything/" target="_blank">Fedora 9 Everything</a></p>
<p>ตัวอย่างการติดตั้ง Perl Module ที่จำเป็นตามลำดับ บน Fedora 9</p>
<pre>[root@fc9-min ~]# <strong>rpm -ivh perl-Digest-MD4-1.5-6.fc9.i386.rpm
</strong>[root@fc9-min ~]# <strong>rpm -ivh perl-Crypt-SmbHash-0.12-8.fc9.noarch.rpm
</strong>[root@fc9-min ~]# <strong>rpm -ivh perl-Digest-SHA1-2.11-7.fc9.i386.rpm
</strong>[root@fc9-min ~]# <strong>rpm -ivh perl-Net-SSLeay-1.32-5.fc9.i386.rpm
</strong>[root@fc9-min ~]# <strong>rpm -ivh perl-IO-Socket-SSL-1.12-4.fc9.noarch.rpm
</strong>[root@fc9-min ~]# <strong>rpm -ivh perl-Compress-Raw-Zlib-2.008-20.fc9.i386.rpm
</strong>[root@fc9-min ~]# <strong>rpm -ivh perl-IO-Compress-Base-2.008-20.fc9.i386.rpm
</strong>[root@fc9-min ~]# <strong>rpm -ivh perl-IO-Compress-Zlib-2.008-20.fc9.i386.rpm
</strong>[root@fc9-min ~]# <strong>rpm -ivh perl-Compress-Zlib-2.008-20.fc9.i386.rpm</strong>
[root@fc9-min ~]# <strong>rpm -ivh perl-HTML-Tagset-3.10-8.fc9.noarch.rpm
</strong>[root@fc9-min ~]# <strong>rpm -ivh perl-HTML-Parser-3.56-5.fc9.i386.r</strong>pm
[root@fc9-min ~]# <strong>rpm -ivh perl-URI-1.35-8.fc9.noarch.rpm
</strong>[root@fc9-min ~]# <strong>rpm -ivh perl-libwww-perl-5.808-7.fc9.noarch.rpm</strong>
[root@fc9-min ~]# <strong>rpm -ivh perl-XML-LibXML-Common-0.13-13.fc9.i386.rpm
</strong>[root@fc9-min ~]# <strong>rpm -ivh perl-XML-NamespaceSupport-1.09-4.fc9.noarch.rpm
</strong>[root@fc9-min ~]# <strong>rpm -ivh --nodeps perl-XML-SAX-0.16-5.fc9.noarch.rpm
</strong>[root@fc9-min ~]# <strong>rpm -ivh perl-XML-LibXML-1.65-5.fc9.i386.rpm
</strong>[root@fc9-min ~]# <strong>rpm -ivh perl-LDAP-0.34-4.fc9.noarch.rpm
</strong>[root@fc9-min ~]# <strong>rpm -ivh perl-Jcode-2.06-6.fc9.noarch.rpm</strong>
[root@fc9-min ~]# <strong>rpm -ivh perl-Unicode-Map-0.112-14.fc9.i386.rpm
</strong>[root@fc9-min ~]# <strong>rpm -ivh perl-Unicode-String-2.09-8.fc9.i386.rpm
</strong>[root@fc9-min ~]# <strong>rpm -ivh perl-Unicode-Map8-0.12-17.fc9.i386.rpm
</strong>[root@fc9-min ~]# <strong>rpm -ivh perl-Unicode-MapUTF8-1.11-6.fc8.noarch.rpm</strong></pre>
<p>หลังจากติดตั้ง Perl Module ที่ต้องใช้เรียบร้อยแล้ว ก็ติดตั้งโปรแกรม smbldap-tools โดยสามารถดาวน์โหลดได้จากที่เดียวกัน</p>
<pre>[root@fc9-min ~]# <strong>rpm -ivh smbldap-tools-0.9.5-2.fc9.noarch.rpm</strong></pre>
<h4>รันเซอร์วิส Samba เบื้องต้น</h4>
<p>ก่อนที่จะเริ่มคอนฟิก smbldap-tools ได้นั้น จำเป็นต้องรันเซอร์วิส Samba ก่อน โดยคอนฟิกที่ต้องเปลี่ยนในไฟล์ /etc/samba/smb.conf ในเบื้องต้นนี้คือส่วน workgroup เพราะค่านี้จะถูกอ่านตอนรันคอนฟิก smbldap-tools ส่วนคอนฟิก อื่นๆ ไว้แก้ไขที่หลังได้</p>
<p>ตัวอย่างไฟล์ smb.conf ที่แก้ไข ก่อนคอนฟิก smbldap-tools</p>
<pre> workgroup = SMBLDAP</pre>
<p>ใช้คำสั่ง service เพื่อรันเซอร์วิส Samba</p>
<pre>[root@fc9-min ~]# <strong>/etc/init.d/smb start
</strong>Starting SMB services:                                     [  OK  ]</pre>
<h4>แก้ไขคอนฟิก OpenLDAP</h4>
<p>จากการติดตั้ง OpenLDAP Server ต้องเพิ่มไฟล์ schema ของ Samba เข้าไปในไฟล์ slapd.conf ด้วย</p>
<p>ตัวอย่างไฟล์ /etc/openldap/slapd.conf หลังการแก้ไข</p>
<pre>include     /etc/openldap/schema/samba.schema</pre>
<pre>suffix      "dc=test-ldap,dc=com"
rootdn      "uid=root,ou=People,dc=test-ldap,dc=com"
rootpw      {SSHA}zA4XZB4pD1TUh/mRO31MC0kbUF+V0v2Y</pre>
<p>หมายเหตุ คอนฟิกส่วน rootpw ได้มาจากการรันคำสั่ง slappasswd</p>
<p>รันเซอร์วิส OpenLDAP หลังจากแก้ไขคอนฟิกไฟล์ slapd.conf</p>
<pre>[root@fc9-min ~]# <strong>/etc/init.d/ldap start
</strong>Starting slapd:                                            [  OK  ]</pre>
<h4>รันไฟล์ configure.pl เพื่อคอนฟิก smbldap-tools</h4>
<p>ไฟล์คอนฟิกหลักของ smbldap-tools จะอยู่ในไดเร็คทอรี /etc/smbldap-tools/ ซึ่งจะประกอบด้วยคอนฟิกหลายๆ ส่วน เพื่อความสะดวกในการแก้ไขไฟล์ จากการติดตั้ง smbldap-tools จะมีไฟล์ /usr/share/doc/smbldap-tools-0.9.5/configure.pl เพื่อช่วยในการคอนฟิกไฟล์</p>
<p>ตัวอย่างรันไฟล์ configure.pl เพื่อสร้างคอนฟิกไฟล์ของ smbldap-tools</p>
<pre>[root@fc9-min ~]# <strong>/usr/share/doc/smbldap-tools-0.9.5/configure.pl
</strong>$# is no longer supported at /usr/share/doc/smbldap-tools-0.9.5/configure.pl line 314.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
       smbldap-tools script configuration
       -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Before starting, check
 . if your samba controller is up and running.
 . if the domain SID is defined (you can get it with the 'net getlocalsid')</pre>
<pre> . you can leave the configuration using the Crtl-c key combination
 . empty value can be set with the "." character
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Looking for configuration files...</pre>
<pre>Samba Configuration File Path [/etc/samba/smb.conf] &gt;</pre>
<pre>The default directory in which the smbldap configuration files are stored is shown.
If you need to change this, enter the full directory path, then press enter to continue.
Smbldap-tools Configuration Directory Path [/etc/smbldap-tools/] &gt;
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Let's start configuring the smbldap-tools scripts ...</pre>
<pre>. workgroup name: name of the domain Samba act as a PDC
  workgroup name [SMBLDAP] &gt;
. netbios name: netbios name of the samba controler
  netbios name [] &gt; <strong>fc9-min
</strong>. logon drive: local path to which the home directory will be connected (for NT Workstations). Ex: 'H:'
  logon drive [] &gt; <strong>H:
</strong>. logon home: home directory location (for Win95/98 or NT Workstation).
  (use %U as username) Ex:'\\fc9-min\%U'
  logon home (press the "." character if you don't want homeDirectory) [\\fc9-min\%U] &gt;
. logon path: directory where roaming profiles are stored. Ex:'\\fc9-min\profiles\%U'
  logon path (press the "." character if you don't want roaming profile) [\\fc9-min\profiles\%U] &gt;
. home directory prefix (use %U as username) [/home/%U] &gt;
. default users' homeDirectory mode [700] &gt;
. default user netlogon script (use %U as username) [] &gt; <strong>\\fc9-min\netlogon\%U
</strong>  default password validation time (time in days) [45] &gt;
. ldap suffix [] &gt; <strong>dc=test-ldap,dc=com
</strong>. ldap group suffix [] &gt; <strong>ou=Group
</strong>. ldap user suffix [] &gt; <strong>ou=People</strong>
. ldap machine suffix [] &gt; <strong>ou=Computers</strong>
. Idmap suffix [ou=Idmap] &gt;
. sambaUnixIdPooldn: object where you want to store the next uidNumber
  and gidNumber available for new users and groups
  sambaUnixIdPooldn object (relative to ${suffix}) [sambaDomainName=PDCTEST] &gt;
Use of uninitialized value $server in substitution (s///) at /usr/share/doc/smbldap-tools-0.9.5/configure.pl line 244, &lt;STDIN&gt; line 17.
. ldap master server: IP adress or DNS name of the master (writable) ldap server
Use of uninitialized value $example_value in concatenation (.) or string at /usr/share/doc/smbldap-tools-0.9.5/configure.pl line 161, &lt;STDIN&gt; line 17.
Use of uninitialized value $example_value in string at /usr/share/doc/smbldap-tools-0.9.5/configure.pl line 162, &lt;STDIN&gt; line 17.
  ldap master server [] &gt; <strong>127.0.0.1
</strong>. ldap master port [389] &gt;
. ldap master bind dn [] &gt; <strong>uid=root,ou=People,dc=test-ldap,dc=com</strong>
. ldap master bind password [] &gt;
. ldap slave server: IP adress or DNS name of the slave ldap server: can also be the master one
Use of uninitialized value $server in string at /usr/share/doc/smbldap-tools-0.9.5/configure.pl line 262, &lt;STDIN&gt; line 21.
  ldap slave server [] &gt; <strong>127.0.0.1</strong>
. ldap slave port [389] &gt;
. ldap slave bind dn [] &gt; <strong>uid=root,ou=People,dc=test-ldap,dc=com</strong>
. ldap slave bind password [] &gt;
. ldap tls support (1/0) [0] &gt;
. SID for domain PDCTEST: SID of the domain (can be obtained with 'net getlocalsid fc9-min')
  SID for domain PDCTEST [S-1-5-21-3697236364-1357617849-1956783867] &gt;
. unix password encryption: encryption used for unix passwords
  unix password encryption (CRYPT, MD5, SMD5, SSHA, SHA) [SSHA] &gt;
. default user gidNumber [513] &gt;
. default computer gidNumber [515] &gt;
. default login shell [/bin/bash] &gt;
. default skeleton directory [/etc/skel] &gt;
. default domain name to append to mail adress [] &gt;
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Use of uninitialized value $# in concatenation (.) or string at /usr/share/doc/smbldap-tools-0.9.5/configure.pl line 314, &lt;STDIN&gt; line 33.
backup old configuration files:
  /etc/smbldap-tools/smbldap.conf-&gt;/etc/smbldap-tools/smbldap.conf.old
  /etc/smbldap-tools/smbldap_bind.conf-&gt;/etc/smbldap-tools/smbldap_bind.conf.old
writing new configuration file:
  /etc/smbldap-tools/smbldap.conf done.
  /etc/smbldap-tools/smbldap_bind.conf done.</pre>
<h4>รันคำสั่ง smbldap-populate</h4>
<p>โปรแกรม smbldap-tools จะมีคำสั่ง smbldap-populate เพื่อช่วยเพิ่มข้อมูลเข้าไปใน OpenLDAP โดยจะอ้างอิงจากคอนฟิกที่รันด้วย configure.pl</p>
<p>หมายเหตุ ในที่นี้จะถือว่า ไม่มีข้อมูลใดๆ อยู่ใน OpenLDAP เลย</p>
<p>ตัวอย่างการรันคำสั่ง smbldap-populate</p>
<pre>[root@fc9-min openldap]# <strong>smbldap-populate
</strong>Populating LDAP directory for domain PDCTEST (S-1-5-21-3697236364-1357617849-1956783867)
(using builtin directory structure)</pre>
<pre>adding new entry: dc=test-ldap,dc=com
adding new entry: ou=People,dc=test-ldap,dc=com
adding new entry: ou=Group,dc=test-ldap,dc=com
adding new entry: ou=Computers,dc=test-ldap,dc=com
adding new entry: ou=Idmap,dc=test-ldap,dc=com
adding new entry: uid=root,ou=People,dc=test-ldap,dc=com
adding new entry: uid=nobody,ou=People,dc=test-ldap,dc=com
adding new entry: cn=Domain Admins,ou=Group,dc=test-ldap,dc=com
adding new entry: cn=Domain Users,ou=Group,dc=test-ldap,dc=com
adding new entry: cn=Domain Guests,ou=Group,dc=test-ldap,dc=com
adding new entry: cn=Domain Computers,ou=Group,dc=test-ldap,dc=com
adding new entry: cn=Administrators,ou=Group,dc=test-ldap,dc=com
adding new entry: cn=Account Operators,ou=Group,dc=test-ldap,dc=com
adding new entry: cn=Print Operators,ou=Group,dc=test-ldap,dc=com
adding new entry: cn=Backup Operators,ou=Group,dc=test-ldap,dc=com
adding new entry: cn=Replicators,ou=Group,dc=test-ldap,dc=com
adding new entry: sambaDomainName=PDCTEST,dc=test-ldap,dc=com</pre>
<pre>Please provide a password for the domain root:
Changing UNIX and samba passwords for root
New password: <strong>ldap1234</strong>
Retype new password: <strong>ldap1234</strong></pre>
<p>หมายเหตุ Password ที่ใส่ในส่วนท้ายของคำสั่ง smbldap-populate เป็น rootpw ที่ระบุในไฟล์ /etc/openldap/slapd.conf</p>
<h4>รันคำสั่ง smbpasswd</h4>
<p>รันคำสั่ง smbpasswd เพื่อใส่ ldap admin password ที่ Samba ใช้ในการเชื่อมต่อกับ LDAP</p>
<pre>[root@fc9-min ~]# <strong>smbpasswd -w ldap1234</strong>
Setting stored password for "uid=root,ou=People,dc=test-ldap,dc=com" in secrets.tdb</pre>
<p>หมายเหตุ &#8216;ldap1234&#8242; คือ rootpw ที่ระบุในไฟล์ /etc/openldap/slapd.conf</p>
<h4>คอนฟิกให้ลีนุกซ์ ตรวจสอบผู้ใช้งานจาก LDAP</h4>
<p>ใช้คำสั่ง authconfig-tui เพื่อคอนฟิกให้ ลีนุกซ์ตรวจสอบผู้ใช้งานหรือ authenticate จาก LDAP</p>
<h4>คอนฟิก Samba ให้ authenticate จาก LDAP</h4>
<p>แก้ไขคอนฟิกไฟล์ของ Samba เพื่อให้ authenticate จาก ldap</p>
<p>ตัวอย่างไฟล์ /etc/samba/smb.conf ที่แก้ไขเพิ่มเติม</p>
<pre> workgroup = SMBLDAP
 security = user
 passdb backend = ldapsam:ldap://127.0.0.1/</pre>
<pre> ldap suffix = dc=test-ldap,dc=com
 ldap admin dn = uid=root,ou=People,dc=test-ldap,dc=com
 ldap group suffix = ou=Group
 ldap user suffix = ou=People</pre>
<h4>เพิ่ม user ใน LDAP</h4>
<pre>[root@fc9-min ~]# <strong>smbldap-useradd -a -m -s /bin/bash -d /home/user01 -P user01</strong>
Changing UNIX and samba passwords for user01
New password:
Retype new password:</pre>
<h4>ทดสอบด้วยคำสั่ง smbclient</h4>
<p>ใช้คำสั่ง smbclient เพื่อทดสอบการใช้ Samba เพื่อ authenticate ผู้ใช้จาก LDAP</p>
<p>ตัวอย่างการทดสอบด้วยคำสั่ง smbclient</p>
<pre>[root@fc9-min samba]# <strong>smbclient '\\localhost\user01' -U user01</strong>
Enter user01's password:
Domain=[fc9-min] OS=[Unix] Server=[Samba 3.2.3-0.20.fc9]
smb: \&gt; <strong>dir
</strong>  .                                   D        0  Sat Oct 18 12:21:59 2008
  ..                                  D        0  Sat Oct 18 11:38:30 2008
  .bashrc                             H      124  Sat Oct 18 11:38:30 2008
  .bash_logout                        H       18  Sat Oct 18 11:38:30 2008
  .bash_profile                       H      176  Sat Oct 18 11:38:30 2008</pre>
<pre>                60160 blocks of size 65536. 55959 blocks available
smb: \&gt; <strong>exit</strong></pre>
<h4>ข้อมูลอ้างอิง</h4>
<ul>
<li><a href="http://spalinux.com/2008/10/install_openldap_server_on_fedora_9">ติดตั้ง OpenLDAP Server บน Fedora 9</a></li>
<li><a href="http://spalinux.com/2008/07/update_samba_in_fedora_9" target="_self">ปรับปรุง samba เป็นเวอร์ชั่นล่าสุดใน Fedora 9</a></li>
<li><a href="http://spalinux.com/2008/10/using_smbldap-tools">การใช้งานคำสั่งของ smbldap-tools</a></li>
<li><a href="http://spalinux.com/2008/10/configure_samba_domain_controller">คอนฟิก Samba เป็น Domain Controller</a></li>
<li><a href="http://www.iallanis.info/smbldap-tools/docs/smbldap-tools/" target="_blank">Smbldap-tools User Manual</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://spalinux.com/2008/10/install_smbldap-tools_on_fedora_9/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ปรับปรุง samba เป็นเวอร์ชั่นล่าสุดใน Fedora 9</title>
		<link>http://spalinux.com/2008/07/update_samba_in_fedora_9</link>
		<comments>http://spalinux.com/2008/07/update_samba_in_fedora_9#comments</comments>
		<pubDate>Fri, 18 Jul 2008 11:35:20 +0000</pubDate>
		<dc:creator>editor</dc:creator>
				<category><![CDATA[File Sharing]]></category>
		<category><![CDATA[Linux Installation]]></category>
		<category><![CDATA[Samba]]></category>

		<guid isPermaLink="false">http://spalinux.com/?p=52</guid>
		<description><![CDATA[หลังจาก ติดตั้ง Fedora 9 แบบประหยัดพื่นที่สุด ในบทความนี้ จะแนะนำวิธีการปรับปรุง (update) และติดตั้งโปรแกรม Samba เพิ่มเติม เพื่อเตรียมเครื่องสำหรับคอนฟิกทำหน้าที่เป็น Samba PDC ต่อไป เวอร์ชั่นของ Samba ที่ติดตั้งมาพร้อมกับ Fedora 9 นั้น ปรับปรุงมาจาก pre-release ซึ่งตอนต้นเดือนกรกฎาคม Samba ได้ออกเวอร์ชั่น 3.2 แบบสมบูรณ์มา ดังนั้นก่อนที่จะนำไปคอนฟิกต่อไป แนะนำให้ปรับปรุงเป็นเวอร์ชั่นล่าสุด หมายเหตุ เนื้อหาบทความปรับปรุงเป็นเวอร์ชั่นล่าสุด 3.2.3 (ตุลาคม 2551) ตรวจสอบโปรแกรม Samba ที่ติดตั้งมากับ Fedora 9 ในการ ติดตั้ง Fedora 9 แบบประหยัดพื้นที่สุด จะมี rpm package ที่เกี่ยวกับโปรแกรม Samba อยู่หลายไฟล์ ซึ่งตรวจสอบได้โดยใช้คำสั่ง rpm ตามตัวอย่างต่อไปนี้ [root@fc9-min [...]]]></description>
			<content:encoded><![CDATA[<p>หลังจาก <a href="http://spalinux.com/2008/06/install_minimal_fedora_9">ติดตั้ง Fedora 9 แบบประหยัดพื่นที่สุด</a> ในบทความนี้ จะแนะนำวิธีการปรับปรุง (update) และติดตั้งโปรแกรม Samba เพิ่มเติม เพื่อเตรียมเครื่องสำหรับคอนฟิกทำหน้าที่เป็น Samba PDC ต่อไป</p>
<p>เวอร์ชั่นของ Samba ที่ติดตั้งมาพร้อมกับ Fedora 9 นั้น ปรับปรุงมาจาก pre-release ซึ่งตอนต้นเดือนกรกฎาคม Samba ได้ออกเวอร์ชั่น 3.2 แบบสมบูรณ์มา ดังนั้นก่อนที่จะนำไปคอนฟิกต่อไป แนะนำให้ปรับปรุงเป็นเวอร์ชั่นล่าสุด</p>
<p><span id="more-52"></span></p>
<p>หมายเหตุ เนื้อหาบทความปรับปรุงเป็นเวอร์ชั่นล่าสุด 3.2.3  (ตุลาคม 2551)</p>
<p><strong>ตรวจสอบโปรแกรม Samba ที่ติดตั้งมากับ Fedora 9</strong><br />
ในการ ติดตั้ง Fedora 9 แบบประหยัดพื้นที่สุด จะมี rpm package ที่เกี่ยวกับโปรแกรม Samba อยู่หลายไฟล์ ซึ่งตรวจสอบได้โดยใช้คำสั่ง rpm ตามตัวอย่างต่อไปนี้</p>
<pre>
[root@fc9-min ~]# <strong>rpm -qa | grep samba</strong>
samba-common-3.2.0-1.pre3.9.fc9.i386
samba-winbind-3.2.0-1.pre3.9.fc9.i386
</pre>
<p>ก่อนที่จะปรับปรุงเป็นเวอร์ชั่นล่าสุด แนะนำให้ถอดโปรแกรม (removing package) Samba และที่เกี่ยวข้องออก</p>
<p>ตัวอย่างการถอดโปรแกรม (removing package)</p>
<pre>
[root@fc9-min ~]# <strong>rpm -ev bluez-utils</strong>
[root@fc9-min ~]# <strong>rpm -ev bluez-gnome</strong>
[root@fc9-min ~]# <strong>rpm -ev gvfs</strong>
[root@fc9-min ~]# <strong>rpm -ev libsmbclient</strong>
[root@fc9-min ~]# <strong>rpm -ev samba-winbind --nodeps</strong>
[root@fc9-min ~]# <strong>rpm -ev samba-common</strong>
[root@fc9-min ~]# <strong>rpm -ev libtdb</strong>
</pre>
<p>หมายเหตุ ในที่นี้จะถอดโปรแกรมอื่นๆ ด้วยเช่น bluez, gvfs ซึ่งเป็นโปรแกรมใน gnome ถ้าคุณไม่จำเป็นต้องใช้ ก็ไม่ต้องติดตั้งกลับเข้าไปก็ได้</p>
<p><strong>ดาวน์โหลดไฟล์ update</strong><br />
มีอยู่หลายเว็บไซต์ที่ให้บริการดาวน์โหลดไฟล์ update ของ Fedora ได้ ตัวอย่างที่หนึ่งที่มีการปรับปรุงอยู่ตลอดเวลา สามารถดาวน์โหลดได้ที่ <a target="_blank" href="http://mirrors.kernel.org/fedora/updates/9/">http://mirrors.kernel.org/fedora/updates/9/</a></p>
<p>ณ เวลาที่เขียนบทความนี้ (ตุลาคม 2551) ชื่อไฟล์ที่จำเป็นต้องดาวน์โหลดเพื่อปรับปรุงบน Fedora 9 (i386) และเวอร์ชั่นของโปรแกรมจะมีดังนี้</p>
<ul>
<li> libtdb-1.1.1-20.fc9.i386.rpm</li>
<li> samba-winbind-3.2.3-0.20.fc9.i386.rpm</li>
<li> libsmbclient-3.2.3-0.20.fc9.i386.rpm</li>
<li> samba-common-3.2.3-0.20.fc9.i386.rpm</li>
<li> samba-client-3.2.3-0.20.fc9.i386.rpm</li>
<li> perl-Convert-ASN1-0.21-3.fc9.noarch.rpm</li>
<li> samba-3.2.3-0.20.fc9.i386.rpm</li>
<li> samba-doc-3.2.3-0.20.fc9.i386.rpm</li>
</ul>
<p><strong>ติดตั้ง Samba เวอร์ชั่นใหม่</strong><br />
ใช้คำสั่ง rpm เพื่อติดตั้งไฟล์ที่ดาวน์โหลดมา</p>
<p>ตัวอย่างการปรับปรุงโปรแกรมบน Fedora 9 (i386)</p>
<pre>
[root@fc9-min ~]# <strong>rpm -i libtdb-1.1.1-20.fc9.i386.rpm</strong>
[root@fc9-min ~]# <strong>rpm -i --nodeps samba-winbind-3.2.3-0.20.fc9.i386.rpm</strong>
[root@fc9-min ~]# <strong>rpm -i libsmbclient-3.2.3-0.20.fc9.i386.rpm</strong>
[root@fc9-min ~]# <strong>rpm -i samba-common-3.2.3-0.20.fc9.i386.rpm</strong>
[root@fc9-min ~]# <strong>rpm -i samba-client-3.2.3-0.20.fc9.i386.rpm</strong>
[root@fc9-min ~]# <strong>rpm -i perl-Convert-ASN1-0.21-3.fc9.noarch.rpm</strong>
[root@fc9-min ~]# <strong>rpm -i samba-3.2.3-0.20.fc9.i386.rpm</strong>
[root@fc9-min ~]# <strong>rpm -i samba-doc-3.2.3-0.20.fc9.i386.rpm</strong>
</pre>
<p>หมายเหตุ ไฟล์ perl-Convert-ASN1-0.21-3.fc9.noarch.rpm มีอยู่ในแผ่นติดตั้ง Fedora 9 อยู่แล้ว</p>
<p><strong>ตรวจสอบหลังจากการปรับปรุง</strong><br />
คุณสามารถใช้คำสั่ง rpm เพื่อตรวจสอบความถูกต้องของเวอร์ชั่นโปรแกรมจากการติดตั้งได้</p>
<pre>
[root@fc9-min ~]# <strong>rpm -qa | grep samba</strong>
samba-client-3.2.3-0.20.fc9.i386
samba-winbind-3.2.3-0.20.fc9.i386
samba-common-3.2.3-0.20.fc9.i386
samba-doc-3.2.3-0.20.fc9.i386
samba-3.2.3-0.20.fc9.i386
</pre>
<p><strong>ข้อมูลอ้างอิง</strong></p>
<ul>
<li><a href="http://spalinux.com/2008/06/install_minimal_fedora_9">ติดตั้ง Fedora 9 แบบประหยัดพื้นที่สุด</a></li>
<li><a href="http://spalinux.com/2008/10/configure_samba_domain_controller">คอนฟิก Samba เป็น Domain Controller</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://spalinux.com/2008/07/update_samba_in_fedora_9/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
