A Cooly Weblog

   ::  ::  ::  ::  :: 管理

Linux Samba设置参考

Posted on 2006-07-17 18:23 acooly 阅读(312) 评论(0)  编辑  收藏 所属分类: Linux/Unix

NetBIOS 是一个为了便于开发基于局域网的资源共享应用程序而设计的 API 。之后,产生了基于 NetBIOS 的 NetBEUI 协议和 NBT(NetBIOS OVER TCP/IP) 协议。 NBT 协议进一步发展为 SMB 和 CIFS 协议。 Windows 的局域网默认采用的就是 NetBEUI 协议,而 SAMBA 软件包所使用的就是 CIFS 协议,结果就是,装有 SAMBA 软件包的机器能够和 Windows 网络的机器进行通信,让没有 NetBEUI 协议的 UNIX 、 LINUX 机器在 SAMBA 的帮助下和 Windows 网络共享资源。

 

安装 Samba 组件

[root@ahpeng root] rpm -qa | grep samba

如果结果出现以下所示的 5 个软件包,则表示已经安装:
   samba-swat-2.2.7a-7.9.0
   samba-2.2.7a-7.9.0
   redhat-config-samba-1.0.4-1
   samba-common-2.2.7a-7.9.0
   samba-client-2.2.7a-7.9.0

 

查询 / 连接宿主机的共享资源

smbclient  – L WindowsHostName

smbclient //WindowsHostName/ShareName

smbmount //Peter/Share /mnt/WinShare

 

启动 Samba 服务器

# 启动
/sbin/service smb start

# 重新启动
/sbin/service smb restart 
# 停止
/sbin/service smb stop 


Linux
访问 Windows 客户机

 

smb 启动后,不用作任何设置你已经可以访问运行 Windows 的机器了。现在有两台机器,分别运行着 Linux 和 Windows98, 主机名称分别是 redhat 和 lily 。 lily 上有目录“ download ”,有打印机“ HP ”,目录设置为“完全访问”,密码是“ abc ”。

 

  访问 lily 上的共享目录。

 

  第一步,查看 lily 这台机器的的共享资源,“ smbclient -L //lily ”,当提示时,输入密码后会列出 lily 上可用的资源。

  第二步,“ mkdir /mnt/download ” , 在“ /mnt ”下建立一个目录。

第三步,“ mount -t smbfs -o username=abc,password=abc //lily/download /mnt/download ”,把 lily 上的共享目录挂接到 redhat 的“ /mnt/download ”下面。接下来,你可以象使用本地硬盘那样访问该共享目录了。你也可以编辑“ /etc/rc.d/rc.local ”,把“ mount -t smbfs -o username=abc,password=abc //lily/download /mnt/download ”添加到文件的末一行,这样,系统一启动,该共享目录也就挂接好了。

 

Windows 访问 linux

 

在 /etc/ 下找到 smb.conf ,用 VI 编辑器打开, vi /etc/smb.conf 或 vi /etc/samba/smb.conf


#
让 windows 网上邻居能看到机器

netbios name = testsamba

# 让所有 guest 用户能访问

guest ok = yes

# 安全级别
# share 直接共享模式
# user : 访问权限与系统用户绑定(包括文件权限)
security = share



 

装好 samba-2.2.7a-7.9.0 之后 , 会在 /etc/samba/ 下形成己个文件

smb.conf smbpasswd smbusers lmhosts, 如果没有其中的一个 , 你可以 touch 创建

修改 smb.conf 文件

我只做简单的说明 :

guest ok 和 public 是一样的

,read only 和 writable 是相反的 , 没什么区别

workgroup=( 工作组名子 , 填上你目前的 LAN 的工作组 )

netbios=( 最好是你的机器名 , 如果把改句注消 , 默认的是你 LINUX 机器名 , 不过 , 最好还是自己填上 )

client code page=936( 默认是 850,936 是简体中文的意思 , 这个要记住 , 难道不记得你 mount 你 windows 系统下的中文名子都是 ???, 就是因为你没有加 -o iocharset=cp936 的原因 !)

guest account=nobody(guest 帐号 , 这于你定义的共享文件颊有关 , 其中 nobody 在 smbusers 里有 )

security = SHARE( 有四个级别 , 不多说 )

encrypt passwords = Yes( 加密的密码 , win98/2000 传送的密码都是加密的 , 所以这里要 yes)

以上都是 [global] 的内容 , 其实 , 很多呢 , 水平有限不多说了 .

下面就是你要开的共享的东西 , 要说明的是 , 文件夹共享的属性取决于该文件颊在 LINUX 里的权限设定

[myxfc]

comment = myxinfc

path = /home/xinfc

read only = No

guest ok = Yes

 

[tmp]

path = /home

valid users = hehl

write list = @staff

read only = No

guest ok = Yes

共享的设定其实很简单 , 主要是路径和权限的问题 , 这两个搞清楚了 , 应该没问题了