# smbclient //192.168.2.187/public -U knight
Password:
Domain=[GDLC] OS=[Unix] Server=[Samba 3.0.10-Debian]
smb: \> ls
. D 0 Sun Feb 6 02:15:54 2005
.. D 0 Mon Dec 20 22:48:32 2004
embedded D 0 Sun Jan 23 22:38:01 2005
using_samba D 0 Thu Dec 30 20:55:23 2004
LinuxOS D 0 Sun Feb 6 02:18:14 2005
README.txt 65 Sun Feb 6 02:15:54 2005
32913 blocks of size 2097152. 21509 blocks available
smb: \>
在windows系统中使用Linux共享资源
a.登录进入windows网络,通过网上邻居查看、使用共享资源。
b.命令行下工具使用共享资源(运行 cmd )
Microsoft Windows XP [版本 5.1.2600]
(C) 版权所有 1985-2001 Microsoft Corp.
C:\>net use w: \\192.168.2.187\public
密码或用户名在 \\192.168.2.187\public 无效。
为 '192.168.2.187' 输入用户名: knight
输入 192.168.2.187 的密码:
命令成功完成。
在我的电脑里就会出现w:盘符,内容\\192.168.2.187\public
samba主域控制器的配置
1、 在域模式出现以前Windows网络是基于工作组的,每台主机都要负责维护自己的用户名/密码,以及
共享资源认证。这样难于保证网络的安全和性能,而且访问不同机器的不同资源都要提供相应的密码,非常繁琐和低效。根据商业用户对安全和工作效率的要求,
Windows商业网络提出了域的概念。在带有域的Windows网络中,主域控制器自动成为主浏览服务器,负责提供并维护这份名单,其它Windows
NT机器可以竞选成为辅助浏览服务器协助工作。域提供统一的安全措施,所有用户的认证和资源共享工作由主域控制器进行管理,可以实现整个域内一次认证、处
处通行的目的。
2、 Samba能够模仿NT PDC向网络发送PDC竞选消息,并允许Windows客户机登录,就像一台NT
PDC所做的那样。它会在启动时告诉其它Windows机器:我是主域控制器,登录认证找我好了。此时域中就不能再有其它声明为PDC的NT
Server了,否则会导致PDC竞选失败,并且Samba必须提供域登录,这样Windows客户才能在启动时输入用户名、密码和域名登录到域。需要注
意的是,此时的安全级别必须是user,因为server和domain级别的认证都需要其它服务器配合,而PDC却只有一个。这样,实际上使用了本地密码,最后出于安全的考虑必须使用加密密码。
3、 配置文件的修改
# vi /etc/samba/smb.conf
[global]
workgroup = Sambagroup
netbios name = PDC
security = user
domain logons = yes
encrypt passwords = yes
smb passwd file = /etc/samba/smbpasswd
local master = yes
os level = 250
domain master = yes
preferred master = yes
logon path = \\%L\profiles\%U
logon script = %U.bat
注:domain logons表示Samba提供客户机的域登录;encrypt passwords表示使用加密的密码;domain
master表示Samba宣告自己是这个域的主域控制器;preferred master则是附加的竞选选项;local
master让Samba不但提供域浏览,也提供本地浏览服务。
[profiles]
path = /home/samba/profiles
writeable = yes
browseable = no
create mask = 0600
directory mask = 0700
[netlogon]
comment = Network Logon Service
path = /home/netlogon
read only = yes
browseable = no
write list= root
以上是关于共享目录的设置,其中profile是用来存放每个登录用户的设置文件,以便用户以后登录可以从服务器读取以前的桌面设置,netlogon是用来存放登录脚本的,所以要限制写的权限,假设这里只有root用户可以有权限。
将用户和机器帐户添加到域控制器
n 先建立创建了下列各组以及创建两个必要目录,并设置正确的所有权。
# groupadd admin
# groupadd machines
# mkdir -m 0775 /home/netlogon
# chown root:admin /home/netlogon
# mkdir �p /home/samba/profiles
# chown 1757 /home/samba/profiles
对目录设置正确的权限是保护服务器的关键一步
n 手工添加机器帐号,假设客户端的机器名是ibm240:
# useradd -g machines -d /dev/null -c "machine id" -s /bin/false ibm240$
# passwd -l ibm240$
不要忘记标上美元符号;这是必需的,它将该项标识为信任帐户
n 将该机器添加到 /etc/samba/smbpasswd
# smbpasswd -a -m ibm240
n 添加用户帐号
n 首先添加的是root帐户,把root加入到smb帐户中
# smbpasswd -c root
这一步很重要,因为加入域要用到有管理员的帐号加入域的权限,否则用普通用户好像不能顺利加入域
n 然后添加普通用户
# useradd jake
# smbpasswd -a jake
n 重启Samba服务
# service smb restart
n Samba PDC 的配置完成
n 将windows客户机加入到域中
n 客户端的设置,以windows2000客户端为例。
win200机器最好先重启一下,可以避免一些不必要的问题)打开 控制面板 -> 网络->
网络标示,如果机器目前被配置在工作组 选项下,那么选中 域 单选按钮并输入域名Sambagroup
n 现在,通过使用用户名 root
和相应的密码登录到域。必需初始化服务器和客户机机器之间的"秘密"。从此时起,任何已认证的用户都可以从这台机器登录。应该出现一个欢迎您来到
XX域的消息
n 将Samba作为成员加入域
n 使用域代替工作组的好处是,所有的客户能使用同一个认证来访问所有的资源。虽然域的概念还是一种非常初级的目录服务的概念,但由于Microsoft网络的流行,它的重要性也非常之大。在一个以域为认证方式的网络中,可以将Samba加入域中去,以采用与域一致的认证和管理方式。
n 在一个域中的SMB计算机有各种形式,一种为 提供认证服务的域控制器,分为PDC(Primary Domain
Controller)和BDC(Backup Domain
Controller),另一种为不提供认证服务的成员服务器,还有就是普通客户机。Samba当前能作为普通成员服务器加入域。
n 为了将Samba加入域,首先要为Samba服务器在PDC服务器中创建一个帐户,配置实例二中已经介绍过了。
n 加入NT域的时候首先需要停止Samba服务器的正常工作,再使用smbpasswd将这个Samba服务器登记进域,这需要使用:
# smbpasswd -j DOMAINNAME -r SAMBASRV
其中DOMAINNAME为域的名字,SAMBASRV为前面PDC上为Samba服务器创建的帐户名,这样Samba服务器就加入了域。
n 配置文件smb.conf的修改
# vi /etc/samba/smb.conf
workgroup = DOMAINNAME
security = domain
password server = PDC_name
n 再次启动Samba服务器,则服务器就为这个域的一个成员服务器了
# service smb restart
注:虽然使用域认证方式和服务器认证方式都能让同样的用户访
问Samba服务器上的资源,然而认证细节是不同的,使用域认证
方式能利用域提供的更安全的认证通道。
n Samba文档
/usr/share/doc/samba-3.0.2/
n Samba官方网站
n 中文书籍
《实战samba》
--
/**************************************/
Name: Xiong Feng
E-mail:linux0818@gmail.com
MSN:linux0818@hotmail.com
QQ:23562033
Address: GuangZhou.China
/**************************************/
没有评论:
发表评论