Samba之PDC配置
1、安裝SAMBA Tar包
1)準備工做:
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賬戶中
這一步很重要,由於後面的加入域要用到有管理員的賬號加入域的權限,不然用普通用戶好像不能順利加入域。
而後添加普通用戶
#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 和相應的密碼登陸到域。必需初始化服務器和客戶機機器之間的「祕密」。今後時起,任何已認證的用戶均可以從這臺機器登陸。