zoukankan      html  css  js  c++  java
  • samba基本共享

    关于sanmba项目

    smb/cifs协议

    主要软件包

    服务端samba

    客户端 samba-client cifs-utils

    主要程序

    smbd 提供对文件/打印资源的共享访问

    监听端口 TCP 139 TCP445

    nmbd 提供基于NetBIOS协议的主机名解析

     监听端口 UDP137 UDP138

    系统服务脚本 /etc/init.d/smb

    配置目录及主要配置文件

    /etc/samba/

    /etc/samba/smb.conf

    配置文件检查工具

    testparm

    配置组成

    【global】全局设置

    【homes】用户目录共享设置

    【printers】打印机共享设置

     【myshare】自定义的共享目录设置

    辅助配置内容

    -注释行:以#开始的行

    -配置样例行以;开始的行

    实验如下

    1安装相关软件包

    2编辑配置文件 通过egrep   -v   ‘^#|^;|^$’ 

    3继续对过滤后的文件进行编辑

    其中global表示全局设置

         homes表示用户目录共享设置

      printers打印机共享设置

          同时可以自定义共享目录设置

    同时配置语句还有如下意义

    workgroup   工作组名称

    serverstring  服务器描述

    security 默认使用的安全级别

        share 匿名共享

        user 用户认证

        server,domain 其他服务器或win域认证

         comment对此共享目录的说明文字

        path 共享目录的实际位置

        browseable 是否可见 no为隐藏共享

         public 是否所有人可用,等效于guest OK

          writable 是否可写 与readonly相反     

    设定了自己的共享目录

    通过smbclietn -L在输入密码的时候 直接回车可以看到tools的信息

       需要注意的是 当全局的安全性设置为user时候 即使在tools下设置为share也不行

    在windows下的访问(通过unc路径)

    除了 上述的匿名访问之外samba还可以设置用户验证。用于samba用户验证的账号称之为

    共享账号。新建共享账号时,必须先有同名的系统账号

    对于共享共享账号,它的密码是独立的

    而访问共享时以共享账号/密码登陆,权限取决于对应的系统账号

    默认采用TDB数据格式

    /var/lib/samba/private/passdb.tdb

    那么如何将一个系统账号声明为共享账号呢

    pdbedit工具

    格式  pdbedit   【选项】  。。。 【共享账户名】

    该工具常用的管理选项

    -a 将指定的系统用户添加为共享账号

    -L查看共享账号消息

    -x删除指定的共享账号

    那么我们添加一个用于验证samba共享访问验证的用户alice

    useradd alice  && pdbedit -a  alice  

    之后系统会通知你相关的消息

    可使用smbpasswd 重新设置密码

    在这里我们设置两个用户其中alice对共享目录能读能写

      而bob对目录仅为读

    继续添加用户bob

    把/etc/samba/smb.conf

    的设置更改为如下

    read only代表默认权限为只读

    valid users 指明下列用户具有 该默认的权限

    writelist 指明下列用户同时还具有写的权限

     如此

    在访问时候提示输入密码,用户名用共享账号 密码用pdbedit的密码

    对以上其实我仍然有许多不解,以下是我的心得

          1在匿名访问的时候即使把tools更改为share后 ,如果global的安全为user仍然提示输入密码

      2同上条件匿名访问把tools设置为user global设置为shar此时访问现象很奇怪无法输入用户名,可以输入密码

          3同样当我们把 全局与tools的安全都设置为user时,将public设置为no 与上述结果相同用户 仅仅被限制为来宾,并提示输入密码

     在打开别名文件后似乎对上述的疑问有点明朗开来

    在这里我们看到了别名也看到了guest,这个文件事实上是为了安全性着想

    那么我们把alice的别名设置为aa bob的别名设置为bb验证两者的读写权限

    同时在配置文件中需要指出别名文件的位置

    usermap = /etc/samba/smbusers  

    我们用aa别名登陆

    可以上传(我们也必须保证用户alice能够对/usr/src有写入权限)

    我们再用bb登陆 如下访问被拒绝

    同时我们可以修改umask来调整用户创建文件后文件的权限值

    我们利用另外一台linux访问他并验证权限

    我们查看aa上传的文件夹的权限

    在对上传的文件进行权限查看的时候我们发现实际上权限为100,这和我们平常理解的umask有区别

    当我们把umask设置为777时,上传的文件为766

    它的权限为111保留了x似乎又和以往的umask联系上了。。

    同样我们可以像挂载nfs一样挂载samba

    mount -o username=aa //192.168.0.2/tool  aa

  • 相关阅读:
    关于面向对象和面象过程的一些感想
    面向对象之旅软件生命周期
    函数参数栈传递
    看完后停下来想想我们究竟在追求什么???
    面向对象之旅设计与设计原则
    [译]多重继承和虚继承的内存布局
    61条面向对象设计的经验原则
    数据库设计14个技巧(转)
    js的tween
    三、windows8 store
  • 原文地址:https://www.cnblogs.com/clearlove/p/4158781.html
Copyright © 2011-2022 走看看