Linux运维 第三阶段 (四) samba服务

Linux运维 第三阶段 (四) samba服务

1、samba协议(server message block)服务消息块;

CIFS协议(common internet file system)通用互联网文件系统。

作用:分享档案与打印服务;可提供用户登入samba主机时的身份认证;可提供windows上的主机名解析(netbios name解析)。

#rpm –qa | grep samba

samba-3.6.9-15.el6.x86_64   (主程序

samba-client-3.6.9          (客户端

samba-common-3.6.9          (公共包、测试工具等

samba-winbind-clinets-3.6.9 (windows中域

samba-winbind-3.6.9

samba-libs-4.0.0            (底层库等

主要程序:smbd(提供对服务器中文件、打印资源的共享访问,端口139、445;

nmbd(提供基于netbios主机名称的解析,端口137、138

脚本:/etc/init.d/smb

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

/etc/samba/lmhosts              (主机名与IP对应关系

/etc/samba/smbusers             (设置用户别名

配置文件检查工具:#testparm –s (检查配置文件语法是否正确

2、常见配置项:

[global]                    (全局配置

[homes]                     (用户目录共享设置

[prints]                    (打印机共享设置

[myshare]                   (用户自定义名称的共享目录设置

注:;分号是配置样例行,实例

#cat /etc/samba/smb.conf.bak | grep –v "^#" | grep –v "^;"| grep –v "#" | awk ‘NF>0‘     (提取有效配置行

》常见全局配置项:

    workgroup = WORKGROUP

    server string = Samba ServerVersion %V

    security = share    (share匿名访问;user本地访问;server由其它服务器提供认证;domain由域控制器提供认证

    passdb backend = tdbsam

》常见共享目录配置项:

    comment = 描述信息  (可写变量%I,%H,%T

    path = 路径

    browseable = yes    (是否浏览中可见

    guest ok = yes      (是否允许所有人访问,等同于public

    writable = yes      (是否可写,与readonly的作用相反

》其它设置:

    username map =/etc/samba/smbusers  (用户映射,在此文件中添加多个别名,空格隔开

    hosts allow =                      (ACL控制

    hosts deny =       

例:hosts allow = 192.168.1. EXPECT 192.168.1.15

    display charset =utf8              (samba服务器显示的字符集格式

    unix charset = utf8                (unix客户端的字符集格式

    dos charset = cp950               (windows客户端的big5编码

    %I                                 (显示客户端的IP地址

    %H                                 (显示家目录路径

    %T                                 (显示当前日期和时间

3、本地映射:

    #mount –t cifs –o username=用户名,password=密码 原路径 目标路径

    #vi  /etc/fstab

原路径  目标路径  cifs  defaults,username=  ,password=  0   0

4、例:匿名访问

    服务器端:#vi  /etc/samba/smb.conf

    [global]

        ……

        workgroup= WORKGROUP

        security= share

        ……

    [movie]

        comment = cang

        path = /cang

        writable = yes

        browseable = yes

        guest ok = yes

    客户端:#smbclient  -L //192.168.216.16    (查看

    #smbclient  //192.168.216.16/movie

    smb:\>get  文件名

    smb:\>put   文件名

    #mount  -t cifs  //192.168.216.16/movie  /mnt

    #df  -hT

    windows客户端下:\\192.168.216.16\movie

注:服务端对目录设权限时,可用chmod设置目录本身权限,也可在主配置文件中设置可写或可读,两种配合使用。

5、例:本地用户访问

    服务器端:#vi  /etc/samba/smb.conf

    [global]

        ……

        security = user

        ……

    [homes]

        comment = Home Directory (可写%I,%T,%H

        browseable = yes

        writable = yes

        create mode = 0644

        directory mode = 0755

    [music]

        comment =

        path = /music

        browseable = yes

        write list = zhangsan,@group    (拥有写权限的列表

    #pdbedit  -a  -u  zhangsan      (将本地用户转为samba用户

    #pdbedit  -x -u  zhangsan       (删除samba用户

    #pdbedit  -L              (查看samba用户

    客户端:#smbclient  -L //192.168.216.16  -U  zhangsan

    #smbclient  //192.168.216.16/homes  -U zhangsan

    #mount  -t cifs  -o  username=zhangsan,password=123 //192.168.216.16/music  /mnt

    6、例:仅项目组的人对/var/share/devel有写权限

    #vi  /etc/samba/smb.conf

    write list = @devel(添加此项

    #groupadd  devel

    #useradd  -G devel  dev01

    #passwd  dev01

    #pdbedit  -a -u  dev01

    #chgrp  devel /var/share/devel

    #chmod  2770 /var/share/devel

    例:技术部的人对项目组目录下文件只读

    #groupadd  tech

    #useradd  -G tech  tech01

    #passwd  tech01

    #pdbedit  -a -u  tech01

    #setfacl  -m g:tech:rx  /var/share/devel

    #setfacl  -m d:g:tech:rx  /var/share/devel

 

   

       

                                            来自兄弟连培训

本文出自 “Linux运维重难点学习笔记” 博客,请务必保留此出处http://jowin.blog.51cto.com/10090021/1656976

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。