linux共享文件系统之samba

文件系统级别访问:

samba

介绍:samba在类unix/linux主机之间实现共享文件系统

UNC路径

       Window系统上的实现共享文件系统的一种工具

       例如:映射磁盘驱动器

像samba与UNC这样的提供共享文件系统的机制,我们叫做smb(service message bloc)服务信息块,而smb实现的文件系统共享协议我们称之为cifs(common internet file system)通用互联网文件系统s

amba研发者

Andrew Tridgell, smb --> samba   开发者

功能:

 文件系统共享;

        打印机共享;

        NetBIOS协议:其作用就是把linux主机与window的主机连接成同一类的主机;

  主要的作用就是基于文件系统能使linux客户端或linux服务器端与window的客户端与服务器端进行互访;

  图示:

linux共享文件系统之samba_第1张图片

 window与linux之间的工作模式:

     peer/peer(wordgroup model):点到点模式

     domain model:域模式,window为了与linux之间建立文件系统联系,可能把linux加入域,也可能把linux作为域控

    服务端程序包:samba

    程序包中的一些组件:

       samba-common:samba客户端与服务端通用的一些公共组件

       samba-dc:把samba当做域控时使用包

       samba-winbind:把samba加入域中使用的

       samba-test:做测试使用的

       samba-client:在linux上建立SMB/CIFS文件系统,能直接访问window上建立的共享文件

    独立的服务:

       nmbd: NetBIOS name server

       smbd: SMB/CIFS services:主要提供的是文件共享服务

    公共的配置文件:

       /etc/samba/smb.conf:主配置文件

       /etc/samba/lmhosts:基于NetBios下的主机名映射

 

        systemd unit file:

    服务启动:Centos7

       nmbd: systemctlstart nmb.service

       smbd: systemctl start smb.service

          Centos6

          smbd start

 

    客户端程序包:Samba-client

        smbclient:交互式的命令行客户端;

        mount -t cifs

  监听的端口:137/udp, 138/udp,  139/tcp,  445/tcp 

 

    samba配置:

        smb.conf

 

        两类配置段:

            全局配置:

                [global]

            每共享的专用配置:

                [共享资源的共享名称]

        格式:directive = value

 

        全局配置:

            workgroup = 

                当前samba主机所属工作组

            netbios name =

                当前samba主机的netbios名称

            server string = 

                主机注释

 

            display charset =:当前samba服务所用字符集;

            unix charset =:当前Linux主机所用的字符集;

            dos charset = :windows端的字符集;

 

            interfaces =:samba服务监听的IP地址或网络接口;

            hosts allow = :客户端来源白名单;

 

             log file =

             max log size = 

                日志文件的体积上限,单位是KB;

 

             Standalone Server Options:

                security = user

                    设定安全级别;取值为以下三者之一:

                        share:匿名共享;

                        user:使用SAMBA服务自我管理的账号和密码进行用户认证;用户必须OS用户,但密码非为OS用户的密码,而是用访问samba服务的专用密码 

                        domain:使用DC进行用户认证;

                passdb backend = tdbsam

                    密码库文件的格式;

 

        共享配置:

            [共享名称]:此即为某共享的服务名;

            comment:注释信息;

            path:此共享对应本地文件系统路径;

            browseable:是否可浏览,是否可被所有用户看到;

            writable:是否可写;

            read only:是否为只读;

            writelist:可写用户或组列表;

                用户名

                @组名

                +组名

            public:是否是公开的服务

            guest ok:是否允许来宾账号访问

 

                注意:writable和write list不应该同时使用;

     smb.conf配置文件的语法测试:

       testparm/etc/samba/smb.conf

        可用的宏列表:

            %m:客户端主机的NetBIOS名称;

            %M:客户端的Internet主机名,即HOSTNAME;

            %H:当前用户的家目录; 

            %U:当前用户的用户名;

            %g:当前用户所属的组名;

            %h:当前SAMBA主机的HOSTNAME;

            %I:客户端主机IP;

            %T:当前的日期时间;

 

        交互式访问:

            # smbclient  -L SABMA_SERVER  -U USERNAME

        例如:smbclient -L  //172.18.100.67/ftp 匿名访问/ftp

            smbclient -L  //172.18.100.67   查看该smbserver主机上有哪些共享的目录

            # smbclient  //SAMBA_SERVER/SERVICE_NAME  -U USERNAME

 

        挂载访问:

            mount  -t  cifs  -o username=USERNAME,password=PASSWORD   //SAMBA_SERVER/SHARED   /MOUNT_POINT

 

        将系统用户添加为samba用户:

            smbpasswd  [option]  USERNAME

                -a:添加

                -x:删除

                -d:禁用

                -e:启用

 

    访问samba共享:

        Linux: 

            smbclient:交互式命令行客户端;

            mount  -t cifs:挂载文件系统; 

        Windows

            \\HOST OR IP\SHARED_DIR 

 

    练习:

        创建一个共享data,路径为/ftp/data;

        要求仅centos和gentoo能上传文件;

        此路径对其它用户不可见;

 

    pdbedit命令:

        类似于smbpasswd,用于管理smb用户;

 

        pdbedit  [options]

            -L:列出所有的smb用户;

                -v:verbose

            -a:添加用户

                -u USERNAME

            -x:删除指定用户

            -r:修改用户的相信息;

 

    smbstatus命令:

        显示samba server的相关共享的访问状态;

        -b:显示简要格式信息

        -v:显示详细格式信息


本文出自 “Touch Dream” 博客,谢绝转载!

你可能感兴趣的:(service,message,internet)