找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 3375|回复: 1

samba配置教程与简略解释

[复制链接]
本帖最后由 toccata 于 2014-5-19 18:25 编辑

我是在ubuntu上趟了两天,才把这个配置稍微弄明白,samba太麻烦了,最好还是有些解释来满足不同的需求,大家再根据自己的需求来调整自己的配置。
  1. #========BEGIN=========

  2. [global]

  3.         workgroup = TOCCATA

  4.         server string = Ubuntu NAS

  5.         encrypt passwords = yes

  6.         

  7.        # 常用设置是 user, share , Domain, AD简单的使用你只需要知道user,和share,share这个值已经在samba v4 中废弃不再使用,

  8.        # 因此用的最多就是security = user,意味着需要授权验证

  9.         security = user

  10.        # server role = standalone

  11.        #这里的guest 指的是windows的文件共享的匿名用户的名字,guest accout = nobody是将匿名用户对应到nobody上。

  12.        #Guest is a window name. Annoymose user will is guest. Then guest account will map guest to nobody which is a linux user name.

  13.        guest account = nobody

  14.        #samba用户中中不存在的用户,自动用guest 登录,因此bad user不需授权验证。

  15.        map to guest = bad user

  16.         

  17.        #允许匿名登录

  18.         ;guest ok = yes

  19.         

  20.        #值允许匿名登录

  21.        ;guest only = yes

  22.        # 可用用户列表

  23.        ;valid users = toccata guest

  24.        #在访问局域网文件目录时,所用的用户名(是windows的用户名)将通过该文件中的映射关系来映射到samba 的用户名,在用这个samba的用户名做授权验证,这个授权验证在下面passdb backend 中设置。

  25.        username map = /etc/samba/smbusers

  26.        #隐藏以点开头的文件。

  27.         hide dot files = yes

  28.         #smb passwd file = /etc/samba/smbpasswd

  29.         #samba用户验证后台,可以选择smbpasswd, tdbsam, ldapsam, 常用smbpasswd, tdbsam,推荐tdbsam,这种方式采用的是将用户名和密码的哈希存在本地数据库(不是SQL数据库)中,而smbpasswd是直接将用户名密码存在文件中,这个文件在smb passwd file
复制代码



samba登录是这样一个过程,
  • 首先用你的windows的用户名和密码来尝试登录,如果在samba中(password backend密码后台)没有该账户,你就是一个bad user ,如果在配置中设置map to guest = bad user,那么授权验证就不需要了,可以直接访问文件共享。
  • 如果有该账户,用password backend 来验证,验证通过,则以windows的用户名来登录,那你访问的目录时,创建了文件,这些文件的拥有这就是该用户,因为设定拥有着为你的windows账户,在默认的情况下,其他人没法访问。这样就有好处就是,可以保持管理员有特殊的权限,他创建的文件,别人无法访问和无法修改。在该配置下,因为设置create mask = 0644,所有人都可以读,创建者拥有全权,属于你这个用户组和其他用户的其他用户拥有读权限,如果设置create mask = 0600,那么只有你能访问你创建的文件;
  • 如果该账户登录失败,就会弹出对话框让你填写用户名密码,你可以纠正你的密码,那么将作为该windows用户对应的linux用户登录,也可以随意填写用户名,那么将所作为nobody来登录linux。
这其中如果你配置了username map = /etc/samba/smbusers, 那么将在做samba授权验证之前用username map转化你的用户名成linux用户名,再做授权验证。
因为home/your_name下的访问权限有限制,需要自己调整权限,并将共享目录的权限改为777, 不过这样不够安全,想更安全一点,就需要将nobody加入到your_name用户组中来,将给与该用户组读写权限,另外这个权限需要与directory mask一致。

该配置文件中#和;符号作用都是注视该行,
samba的共享目录也可以通过net命令来动态控制,但是需要在global中设置include = registry. 然后通过命令net CONF ADDSHARE sharename path [writeable={y|N} [guest_ok={y|N} [comment]]] 这个命令来添加共享,
如有错误,请纠正,本人比较懒,主要想和配置过samba的人讨论下。








我的恩山、我的无线 The best wifi forum is right here.
好文章,俺学习了!
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-4-27 19:14

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com 举报电话:0519-86695797

快速回复 返回顶部 返回列表