Samba之PDC配置

Samba之PDC配置
 
本文出自鍵盤系人生博客,請務必保留此出處[url]http://llk726.blog.51cto.com/622293/122045[/url]
 
1、安裝SAMBA Tar包
 
1)準備工作:
[url]www.samba.org[/url]上獲得最新的安裝包samba-3.0.21c.tar.gz,並存放在/usr/local/src目錄下。
 
2)編譯、安裝:
首先進入/usr/local/src目錄下,執行解包指令。
# tar -zvxf samba-3.0.21c.tar.gz
然後進入samba-3.0.21c目錄下,在這個目錄中有一個whatsnew.txt的文件,這個文件記錄了samba-3.0.21c版本對以前幾個版本修正的錯誤,如果英文不成問題的話,建議看看。在此不再贅述,然後直接進入source目錄下準備編譯。
# cd samba-3.0.21c/source/
# ./configure --prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --libexecdir=/usr/libexec --datadir=/usr/share/samba --sysconfdir=/etc/samba --localstatedir=/usr/local/samba/var --libdir=/usr/lib --with-lockdir=/var/locks/samba --with-swatdir=/usr/share/samba/swat --with-codepagedir=/etc/samba/codepages --with-configdir=/etc/samba --with-smbwrapper --with-automount --with-smbmount --with-pam --with-pam_smbpass --with-winbind
# make
# make install
完成後如果沒有 /etc/samba目錄則自建一個,如果有就可直接編輯smb.conf文件了。
# cd /samba-3.0.21c/Packing/RedHat-9
# cp smb.conf /etc/samba
# cp smb.init /etc/rc.d/init.d/smb
加入啓動項
# chkconfig --add smb
# chkconfig --level 35 smb on
# service smb start
# netstat –anlt 查看139,445端口開了沒。
 
2、配置SAMBA
 
1) 基本配置:
A.設置配置文件內容
配置信息分爲兩個部分:全局參數區[global],配置一些公共信息;資源共享區,配置Linux服務器上要共享的資源。
[global]
workgroup=mygroup         #工作組名或Windows的域名
server string=samba server      #對samba服務器的註釋說明
printcap name=/etc/printcap      #配置samba服務啓動時,將自動加載的打印機配置文檔
load printers=yes        #配置是否允許打印配置文檔中的任何打印機開機時自動加載(默認)
security=user        #配置安全模式,此處是需要登錄時輸入用戶名和密碼
encrypt passwords=yes         #使用加密密碼方式
smb passwd file=/etc/smbpasswd #samba密碼文檔
 
[homes]          #samba服務爲每一個samba用戶提供一個主目錄,該共享目錄通常只有用戶本身能夠使用。個人的主目錄默認存放在/home目錄下,每個Linux用戶有一個單獨的子目錄。
comment=Home Directories   #對共享目錄說明
browseable=no       #是否允許用戶瀏覽任何人的主目錄,即homes目錄
writable=yes               #是否允許寫入個人主目錄
 
[myshare] #新建一個共享名稱
comment = mail share #對共享目錄說明
path = /home/shared #共享目錄名稱
valid users = llk726,tge #允許訪問的用戶或組
write list = llk726 #允許寫操作的用戶
public = no  #不允許公共訪問
printable = no
create mask = 0765
 
B.建立用戶和組
新建用戶
# useradd llk726
# useradd tge
然後我們使用smbpasswd -a 的命令將帳戶分別添加到samba用戶中
# smbpasswd -a llk726
# smbpasswd -a tge
 
C.建立相關目錄並賦予相應權限
# mkdir /home/shared
# chmod 777 /home/shared
 
D.用testparm /etc/samba/smb.conf檢測配置文檔的配置有無語法錯誤
 
E.samba的啓動和停止
#service smb start或/etc/rc.d/init.d/smb start
 
F.iptables的設置
#vi /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m udp -p udp --dport 137 -j ACCEPT
-A INPUT -m state --state NEW -m udp -p udp --dport 138 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 139 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 445 -j ACCEPT
 
2)高級配置(利用samba做pdc域服務器):
A.設置配置文件內容
[global]
 
workgroup = lin.net
netbios name = pdcserver
server string = Samba PDC running %v
socket options = TCP_NODELAY IPTOS_LOWDELAY SO_SNDBUF=8192 SO_RCVBUF=8192
# 這裏的workgroup = lin.net就代表lin.net域, netbios name = pdcserver表示這臺服務器的netbios名,socket options選項設置控制 TCP/IP 性能。所顯示的設置就可以與基於 Linux 的系統一起很好地工作了。
 
local master = yes //是否允許Samba參與子網上的本地主瀏覽器的競選
os level = 64
domain master = yes
preferred master = yes
#domain master 選項是一個“開關”,通告 Samba 將成爲主域控制器。(local master browser)是維護局域網機器列表的服務器被稱爲本地主瀏覽器。
 
security = user //這裏我們還是使用user驗證方式
encrypt passwords = yes
domain logons = yes //是否啓用Samba作爲域登陸服務器
log file = /var/log/samba/log.%m
log level = 2
max log size = 50
hosts allow = 127.0.0.1 192.168.100.0/255.255.255.0 //hosts allow表示那些網段可以訪問你的服務器。
logon home = \\%L\%U\.profile //%L代表服務器的NetBIOS名稱,%U發出請求客戶機的用戶名稱
logon drive = z: //把用戶主目錄映射爲本地z盤
logon path = \\%L\profiles\%U //保存客戶端機器桌面配置信息的路徑,profiles跟下面的[profiles]共享段對應
logon script = netlogon.bat //登陸腳本
#以上是漫遊設置和登錄腳本。
 
[profiles]
path = /home/samba/profiles
writeable = yes
browseable = no
create mask = 0765
directory mask = 0700
profile是用來存放每個登錄用戶的設置文件,方便用戶以後登錄可以從服務器讀取以前的桌面設置。
 
[netlogon]
comment = Network Logon Service
path = /home/netlogon
read only = yes
share modes = no
browseable = no
write list= root
netlogon是用來存放登錄腳本的,所以要限制寫的權限,假設這裏只有root用戶可以有權限。
 
[homes]
comment = Home Directories
browseable = no
writeable = yes
 
B.samba用戶設置
#groupadd admin
#groupadd machines
 
手工添加機器帳號
比如我的客戶端的機器名是client-a,那麼我們可以這麼做
#useradd -g machines -d /dev/null -c "machine id" -s /bin/false –M client-a$ passwd -l client-a$
輸入兩遍密碼;
不要忘記標上美元符號;這是必需的,它將該項標識爲信任帳戶。
創建 linux 帳戶後,我們現在可以將該機器添加到 /etc/samba/smbpasswd
#smbpasswd -a -m client-a
 
當然你也可以讓系統自動添加機器帳號,用下面的方法,不過大家最好先試手動添加,成功後再試驗系統自動添加。
自動添加只要在[global]添加
add user script = /usr/sbin/useradd "%u" -n -g users
add group script = /usr/sbin/groupadd "%g"
add machine script = /usr/sbin/useradd -n -g machines -c "Workstation (%u)" -M -d /dev/null-s /bin/false "%u"
delete user script = /usr/sbin/userdel "%u"
delete user from group script = /usr/sbin/userdel "%u" "%g"
delete group script = /usr/sbin/groupdel "%g"
 
添加用戶帳號
首先添加的是root帳戶,把root加入到smb帳戶中
#smbpasswd -a root
這一步很重要,因爲後面的加入域要用到有管理員的帳號加入域的權限,否則用普通用戶好像不能順利加入域。
然後添加普通用戶
#useradd llk726
#passwd llk726
#smbpasswd -a llk726
爲了方便以後的管理,最好smb的用戶密碼和unix系統密碼一樣,這樣我們還可以用到samba的密碼同步功能。
 
下面的選項語句將允許用戶從 Windows 客戶機上更改他們的 Samba 密碼,這樣會隨即更新他們的 UNIX 密碼以與新的 Samba 項相匹配。但是如果更改了 UNIX 密碼,那麼同一技術不能逆向工作;必需手工同步更改 Samba 密碼。也是在[global],初學者可以先不做這個工作。
unix password sync = yes
passwd program = /usr/bin/passwd %u
passwd chat = *New*UNIX*password* %n\n *Retype*new*UNIX*password* %n\n *Enter*new*UNIX*password* %n\n *Retype*new*UNIX*password* %n\n *passwd: *all*authentication*tokens*updated*successfully*
上述語句中唯一值得一提的是 passwd chat 選項,不管這裏如何顯示它,都要將它輸入成一行。還要注意有些選項使用“password”,而有些使用“passwd”。
 
C.域登陸目錄設置
#mkdir -m 0775 /home/netlogon/scripts
#chown root.admins /home/netlogon
#mkdir /home/samba /home/samba/profiles
#chown 1757 /home/samba/profiles
#su –l llk726
#cd /home/samba/profiles
#mkdir llk726
 
D.DNS服務器配置,爲lin.net域提供名稱解析
 
E.啓動服務
#service smb restart
 
Samba PDC 的配置就這樣完成了。
剩下唯一要做的是將客戶機加入到域中。
XP,2003加入域時必須先更改一下註冊表:
在[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters]下新建一個DWord項:requiresignorseal,設置值爲:0;如果已存在就修改一下值就行了。
 
現在,通過使用用戶名 root 和相應的密碼登錄到域。必需初始化服務器和客戶機機器之間的“祕密”。從此時起,任何已認證的用戶都可以從這臺機器登錄。
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章