-
缠人的samba
2010-01-22
版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明http://626c6f67.blogbus.com/logs/56789695.html
关于samba的一些使用,我直接写在ubuntu的坛子上了。,在这里就懒得转了 :-p
http://forum.ubuntu.org.cn/viewtopic.php?f=116&t=253627&p=1697768#p1697768
还有一个网址:http://redking.blog.51cto.com/27212/140747
想了想,还是转吧……
=========================== 华丽的分割线 ===========================
今天在网上搜了一圈,发现扯到Samba的文章不是断章取义就是乱抄一气,实在无法忍受了。所以我决定还是写一点东西好。
方法呢大部分是参考了Ubuntu官方的文档,然后有些地方会有所不同。Samba最基本的目的就是实现Linux和Ubuntu的文件共享,其他的Linux版本暂时我还没时间去玩,因此在这里就直接用9.10和XP说一下了。
- 以XP为主机,Ubuntu做客户端
- 如果你想使一个网络专门用于本地计算机和其他网络中计算机进行文件分享的话呢,那就新建一个吧。
- 首先进入控制面板,进入网络安装向导,然后下一步,下一步
- 在“选择连接方法”的时候呢,根据你自己所在的网络情况做选择。比如,因为我这里的两台计算机都是通过路由接入公网的,所以我选了第二项。然后下一步
- 计算机名一般系统都自动给出的,一般就是指hostname,随便你改不改,next
- 工作组名的作法与上一步相似,大概这里指代的是域名,next
- 废话,当然是启用啦,next
- 等一会儿后,选结束向导。重启就可以了
引用:很多人说重启了之后在网上邻居看不到自己刚新建的网络,那很可能是Computer Browser服务没有开。如果我没记错的话呢,应该是这样的:
- 开始 -> 运行 -> services.msc
- 先启动Server服务和Workstation服务,然后再启动Computer Browser服务
- 如果不想每次开机都自己手动开启这些服务的话呢,把它们设成“自动”吧
- 然后随便找个想分享的文件夹,右击,共享与安全,设置一下共享名和权限就可以了
- 然后进入Ubuntu设置客户端。假设此时你的Ubuntu还没有装samba。所以先安装:
代码:sudo apt-get update
sudo apt-get install samba smbfs nautilus-share - 装完后点“位置” -> "连接到服务器"
- 服务类型为"Windows共享",服务器填Windows的主机IP
引用:尽管有人会填刚刚在Windows里面设置的计算机名,但请你查一下/etc/hosts有没有相对应的映射。如果没有,要么就改hosts,要么就直接填IP。当时我就是不知道自己的hostname没有映射,所以登了半天还是登不上。共享就填Windows里面设置的共享名,其他都空白,然后"连接"
- 会跳出来对话框。用户名可以不管它(因为装samba的时候系统可能自动就帮你设置好了),但是密码要填Windows中的Guest账户密码。关于Guest账户的设置我们待会儿再说。然后连接。
- 如果没有什么意外的话,应该就成功登录Windows上所要分享的位置了
- 以Ubuntu作主机,XP作客户端
- 用Ubuntu作主机就比较简单了,直接分享你要分享的文件就可以了。别忘了设置好的共享名
- 进入Windows,然后在"我的电脑"里的"工具"中选"映射网络驱动器"
- 跟在Ubuntu作为客户端时的设置相似,文件夹填"\\Ubuntu主机的IP\共享名"
引用:如果要填主机名,还是老办法,到 C:\WINDOWS\system32\drivers\etc\hosts中看一下有没有相应的映射,然后自己看着办吧。
- 没出太大的问题,应该就成功了
=========================== 郁闷的分割线 ===========================
关于Guest账户的问题,也是网上找的 答案。在这里简单说一下。
- 根据上面链接所指的文章来看,XP对于Guest的安全策略是比较保守的。基本上XP的局域网文件分享就是通过Guest账户进行的,所以先启用Guest账户
- 控制面板 -> 管理工具 -> 计算机管理 -> 本地用户和组 -> 用户,右击Guest,属性,去掉"帐户已停用"的钩,确定后再右击,设置密码。
引用:这里的密码就是前面提到的Guest账户密码,最好不要留空白。想要留空白的情况请看步骤6。
- 修改"组策略"。开始 -> 运行 -> gpedit.msc -> 计算机配置 -> Windows设置 -> 安全设置 -> 本地策略 -> 用户权利指派
- 双击"拒绝从网络访问这台计算机",看一下有没有"guest“,有的话删掉"guest"
- 然后回到"本地策略",进入"安全选项",双击“网络访问:本地账号的共享和安全模式”,把“仅来宾—本地用户以来宾身份验证”改成“经典:本地用户以自己的身份验证“
- 还是在“安全选项”中,双击“使用空白密码的本地账户只允许进行控制台登录”,停用它。
===========================离别的分割线 ===========================
又发现一个问题,不知道是我机子设置的问题还是Windows本来就默认设置的,症状是:
- 我要分享的文件夹Incoming在G盘根目录,权限为“读,写”。分享正常。
- 我要分享的文件夹vo在E盘的home\augustine\文件夹下面,无法分享。报错说找不到分享位置。
- 我要分享的文件夹home在E盘根目录,无法分享。报错说“您没有查看……的权限”
- 首先,既然是扯到权限,那就去管理权限的地方看看。一个地方是“组策略”
代码:开始 -> gpedit.msc -> 计算机配置 -> Windows设置 -> 安全设置 -> 本地策略 ->用户权利指派一看,发现“拒绝本地登录”和“在本地登录”中都有Guest,删之。(不知道这管不管用,个人猜想问题不在这个地方)
- 然后是共享目录的权限属性。
代码:网上邻居 -> 分享主机所在的域 -> 分享目录所在的主机 -> 分享目录 -> 属性 -> 安全对比了一下Incoming和vo的权限设定,果然这里出现了很大的不同。vo中没有Everyone组,甚至Guest账户也没有。于是添加了Everyone组,并且拥有完全控制的权限。然后再试了一下。
- 还是无法读写!那试试home呢?于是又把home的权限也按照Guest的属性改了。成功。
- 后来想了下,感觉有道理。因为vo是home的子目录,改权限的时候Windows提示说如果要改根目录的权限,那么根目录的子文件和子文件夹的权限都得改(有点像chmod -R)但是vo不是根目录,而home的权限依旧没有改。所以ubuntu上的samba client自然就找不到分享位置了。
引用:Windows的权限了解地不是很清楚,尤其是那个“继承于”的选项,怎么改都改不了,也不知道怎么回事。若有错误请指正。 - 以XP为主机,Ubuntu做客户端
缠人的samba
最新推荐文章于 2024-09-24 10:02:45 发布