LINUX下SMB案例学习

来源:互联网 发布:js幻灯片切换 编辑:程序博客网 时间:2024/06/05 01:14
 

    案例学习考虑Linux/Samba 服务器作为主域控制器(PDC), 每个认证过的用户进入 两种共享的目录,一个是公共空间,一个是私人空间。在这篇文章里,讨论一种进 入私人数据空间的极为常见的情况,就是每个用户有一个个人案例学习

    考虑Linux/Samba 服务器作为主域控制器(PDC), 每个认证过的用户进入 两种共享的目录,一个是公共空间,一个是私人空间。在这篇文章里,讨论一种进 入私人数据空间的极为常见的情况,就是每个用户有一个个人的目录。

    要考虑的细节:

    Linux/Samba NetBIOS 名字:SMBServer

    Windows 域名(工作组): THEDOMAIN

    每个用户的私人分区: H: (Windows) => /home/ (Linux server)

    公共分区: P: (Windows) => /home/public

    图 1 显示了一个简单的网络示意图,客户机运行Windows系统,使用 Windows NT/2000服务器提供的资源和服务。 这个服务器能被 Linux/SAMBA服务器替代。

    Fig. 1 - 在Windows服务器上运行的主域控制器和 文件服务器

    配置

    遵循以下步骤:

    1) 创建要在主域服务器(Linux/Samba)待认证的用户。

    使用adduser 命令, useradd 或 userconf, 你可以使用一些用户管理的工具,也可以 是带有图形界面的(Webmin,Linuxconf,Yast等)。

    需要确认如果用户只进入Linux/Samba服务(如果你想), 这就是说用户不必进入Linux命令行,这样的话只有把home目录设成/dev/null ,命令行设成/bin/false。

    2) 把UNIX用户转换成Linux/Samba/Windows用户,生成smbpasswd 文件。

    cat /etc/passwd | mksmbpasswd.sh > /etc/samba/smbpasswd

    另一个方法是,执行一下的SAMBA命令来创建用户和定义密码:

    smbadduser

    smbpasswd

    这些命令和adduser与passwd一样有类似的作用。

    3) 编辑SAMBA的配置文件(smb.conf), 你要确定加入或减去下列标有comment的可选项:

    netbios name = SMBServer

    workgroup = THEDOMAIN

    server string = Linux Samba NT Server

    log file = /var/log/samba/%m.log

    max log file = 0

    security = user

    encrypt password = yes

    smb password file = /etc/samba/smbpasswd

    ssl CA certificate = /usr/share/ssl/… (cancel comment)

    socket options = (cancel comment)

    local master = yes

    preferred master = yes

    domain master = yes

    domain logons = yes

    logon script = logon.bat

    wins support = yes

    注意:

    做为每一个用户的特有的登陆(login), 需要使用"%U.bat"文件替换 原先的“登陆描述”(login script)。这样每一个用户都有一个的带有自 己用户名的“登陆描述”, %u 也是可以使用的。 如果你想定义用户属于 那个组,你可以使用 %g或%G,这些参数和其他参数的定义可以在手册 中找到。(man smb.conf)

    4) 创建共享资源

    编辑smb.conf 文件 并注释所有的“共享”的例子,加入以下 的信息,如果没有必要的话,不用更改:

    [netlogon]

    comment = Initialization Scripts

    path = /home/netlogon

    read only = yes

    guest ok = yes

    browseable = no

    [home]

    comment = User Directory

    path = /home/%U

    browseable = yes

    writable = yes

    [public]

    comment = Public Directory

    path = /home/public

    browseable = yes

    writable = yes

    guest ok = yes

    create mask = 0777

    force create mask = 0777

    保存smb.conf 文件。

    5) 你可以使用如下的命令来验证smb.conf是否正确:

    testparm

    这些命令分析smb.conf 文件并报告发现的错误。

    6) 分别使用权限0754和0777 创建/home/netlogon 和/home/public目录。

    7) 编辑logon描述文件logon.bat。

    重要提示: 使用DOS/Windows文字编辑器 (比如Notepad或Edit)来创建logon.bat文件 (所以保存的文本文件是微软兼容的形式), 你也可以在Linux上做这件事但是你必须转换成正确的文本形式。 你可以使用比如 Vim的命令":set textmode"得到有微软行结尾符的文件。

    net time \\SMBServer /y (you can also use: /yes instead of /y )

    net use H: \\SMBServer\home -y (you can also use: /yes or /y instead of -y )

    net use P: \\SMBServer\public -y

    8) 加入SMBServer信息到lmhosts文件中。

    编辑/etc/samba/lmhosts 文件后 /etc/lmhosts)文件并且 加入关于SMBServer信息的一行。

    SMB服务器, 比如: 192.168.0.10 SMBServer

    9) 重启动SAMBA的后台程序(smbd)。

    service smb restart

    如果在你的Linux版本中上面的命令不工作,你可以使用如下命令:

    ps -auxgx | grep smb

    kill -9 <process ID of smb>

    smbd

    10) 使用smbclient来验证以上的配置是正确的。

    smbclient -L //SMBServer

原创粉丝点击