 |
教程: Linux教程-网络管理-通用线程:Samba 简介 第三部分 |
 |
|
|
| 教程: Linux教程-网络管理-通用线程:Samba 简介 第三部分 |
|
|
|
|
使 Samba 运转起来:配置阶段
Daniel Robbins
总裁/CEO,Gentoo Technologies, Inc.
内容:
添加一些共享
令人兴奋的共享
共享主目录
共享参数
snb.conf 选项
从 Samba 打印
参考资料
关于作者
在上一篇文章中,Daniel Robbins 指导您完成第一次设置 Samba 的过程。现在应该配置 Samba 使它执行您希望它执行的所有操作了。
这里有一个我们曾使用过的 smb.conf 清单:
[global]
# set YOURWORKGROUP to the name of your workgroup
workgroup = YOURWORKGROUP
security = user
encrypt passwords = yes
guest account = guest
# enable *one* of the following two lines
# enable the first line if you want to use an existing
# WINS server on your subnet, otherwise, enable the
# second.
# wins server = IP address of WINS server
# wins support = yes
local master = yes
os level = 99
domain master = yes
preferred master = yes
# optional security options. Customize for your site.
# hosts allow = 192.168.1. 127.
# interfaces = eth1
[tmp]
path=/tmp
writeable=yes
添加一些共享
当这个 smb.conf 文件生效后,它所能做的就是通过创建一个名称为 \"tmp\" 的共享,来和 Windows 一起共享 /tmp 目录。这不够让人兴奋。让我们创建另一个更有用的共享。向 smb.conf 添加以下几行,然后重新启动 Samba。
[ftp]
path=/path/to/ftp/root
writeable=no
如果在 Samba 服务器上有 ftp 位置或某种文件归档,那么可以通过使用类似的代码来在网络上共享数据。\"writeable=no\" 参数告诉 Samba 不允许任何人创建或修改该共享上的文件。任何具有有效 Samba 帐户的人都能够访问这个共享。
令人兴奋的共享
我知道您现在在想什么。但这仍不够让人兴奋。如果共享主目录呢?下面是实现如何这个目的的代码:
[drobbins]
comment=Home directory for drobbins
path = /home/drobbins
force user = drobbins
read only = no
valid users = drobbins administrator
这一个有趣得多。向 smb.conf 添加类似的代码可以让您共享主目录。在该例中,创建了 \"drobbins\" 共享。它在网络上共享了 /home/drobbins 的内容。幸运的是,有了 \"valid users\" 那一行,并不是所有人都能访问这个共享。这行导致 Samba 拒绝除 \"drobbins\" 或 \"administrator\" 帐户之外任何人进行的访问。因为使用的是 Windows NT,所以我经常作为 administrator 登录。在这种情况下,仍能访问 \"drobbins\" 共享。这一行 valid users 就可以允许这种情况发生。
您还会注意到 \"read only\" 参数的使用。您可能已猜到,\"read only\" 与 \"writeable\" 参数相反。我们只需要用 \"writeable=yes\" 就能替代这一行。这表示只要有合适的许可权,Samba 就允许写入这个特定的共享。因为 Samba 的 \"drobbins\" 用户直接映射成 Unix 的 \"drobbins\" 用户,并且 drobbins 恰巧又是 /home/drobbins 目录及其内容的所有者,所以就允许写和修改文件。
您是否曾作为 root 用户在主目录中创建文件,然后在作为一般用户登录后尝试修改它时被拒绝了写访问呢?对我来说,这种情况一直发生。要解决问题,需要执行 \"su\"、 \"chown drobbins.drobbins filename\",然后从 root 用户中 \"exit\" (退出)。最后终于允许我修改该文件。
我提到这一点是因为在您共享主目录并使用其它 Samba 用户访问它们时也可能产生类似的问题。请考虑以下情况。我作为 administrator 访问共享并创建了文件。通常,这个文件是由 administrator 拥有的,不能由 drobbins 用户修改。如果 drobbins 尝试修改它,访问就遭到拒绝。幸运的是,Samba 具有避免这种情况的 \"force user\" 选项。\"force user\" 选项将使所有对文件(在特定的 Samba SMB/CIFS 共享上)执行的操作将使用单一 Unix 帐户来执行。在 \"drobbins\" 共享示例中,这意味着 administrator 创建的所有文件实际上都由 drobbins 拥有,防止任何所有权冲突。因为 \"drobbins\" 共享包含了主目录的内容,我希望将 drobbins 帐户拥有的所有内容都保存在其中。
在开始下一个主题之前,我应该提一下 \"comment\" 参数。这允许您用从 Windows 可见的描述性注释来补充说明您的共享。
共享许多主目录
我们已介绍了如何共享单个主目录了。但如果恰巧您要管理包含几百个用户的服务器,而所有用户都希望能从 Windows 访问他们的主目录,在这种情况下您怎么做呢?很幸运,Samba 有一个特殊的共享,称为 \"homes\",专门用于这个目的。这里说明它是如何工作的:
[homes]
comment=Home directory for %S
path=/home/%u
valid users = %u administrator
force user=%u
writeable = yes
browseable = no
我提到过,这是一个“特殊”的共享。它与一般共享的工作原理不一样。Samba 能够认识这种特殊的标识 \"[homes]\" 并用不同的方式处理这个共享。
这个共享最不同寻常的地方是使用了 \"browseable=no\" 参数。这种特殊的选项使共享在“网络邻居”下不可见,它通常用于阻止那些想要“探索”它所能看到的所有共享的存心不良的用户。但为什么在这里使用它呢?
答案有些耐人寻味。您看,\"homes\" 共享确实创建了一个名为 \"homes\" 的共享。但这个特定的共享对我们一点用处没有。它不做任何事,所以我们把它隐藏起来。\"homes\" 共享所做的事非常多。它告诉 Samba 自动为每个个人用户即时创建主目录。例如,假设我们的 \"drobbins\" 共享没有在 smb.conf 中
[1] [2] [3] [4] 下一页
|
|
| 教程录入:admin 责任编辑:admin |
|
|
上一篇教程: 教程: Linux教程-网络管理-什么是NFS文件系统
下一篇教程: 教程: Linux教程-网络管理-TCP/IP在网络中的高效配置 |
|
|
|
|
|
|
|
| 【字体:小 大】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 |
|
|
|
|
|