鸟哥的Linux私房菜学习笔记之SAMBA
admin
2023-03-03 18:20:43
0

NFS仅能让Unix/linux之间共享数据,CIFS仅能让Win之间沟通

SAMBA:
跨平台的文件共享服务
主要用于局域网内

SAMBA常见的应用:
    共享文件与打印机服务
    可以提供用户登录SAMBA主机时的身份认证,以提供不同身份用户的个别数据
    可以进行Windows网络上的主机名解析(NetBIOS Name)
    可以进行设备的共享(例如Zip、CD-ROM)

SAMBA是架构在NetBIOS这个通信协议上面开发出来的

NetBIOS
    由IBM开发
    NetBIOS: Windows基于于主机实现互相通信的机制;
            15个字符
    NetBIOS无法跨路由通信

    通过NetBIOS over TCP/IP 可以实现跨路由使用SAMBA服务器所提供的功能

NetBIOS Name
    由于NetBIOS主要定义在局域网内,因此并没有使用TCP/IP之类的传输协议,也就不需要IP的设置。
    俩台主机间的通信,通过主机在NetBIOS协议中使用NetBIOS Name,每台主机使用不同的NetBIOS
    文件数据在不同的NetBIOS Name之间沟通。

SAMBA的主要服务:
    nmbd: 管理工作组,NetBIOS Name 等的解析,使用UDP 137,138端口,向客户端提供构造在IP之上的NetBios名字服务的NetBios名字服务器
    smbd:管理SAMBA主机共享的目录,提供文件共享和打印服务的服务器进程。使用TCP 139和445端口。使用smb或cifs协议
    向客户提供文件共享空间和打印服务。

SAMBA的常见局域网连接方式:
    Peer/Peer对等模式(Workgroup model,对等模式)
        每台计算机均可以独立运作,不受他人影响。
        适用于小型的网络,或者是不需要常常进行文件数据共享的网络环境,或者每个用户都拥有该计算机的拥有权。

    Domain model(主控模式)
        将所有计算机的账号和密码都放置在一台主控计算机(PDC)上面,任何人使用任何计算机时,都需要通过PDC服务器的辨识后,才给以适当的权限。

SAMBA所需要的软件:
    samba:samba服务端程序
    samba-client:samba的Linux客户端
    samba-common:服务端与客户端都会使用到的数据

SAMBA 用户账号必须要存在于Linux系统当中(/etc/passwd),但是SAMBA的密码与linux的密码文件并不相同
samba用户:
账号:都是系统用户, /etc/passwd
密码:samba服务自有密码文件,

            将系统用户添加为samba的命令:pdbedit 

            pdbedit 
                -u :指定用户名
                -a :添加一个可使用的SAMBA账号,账号需要在/etc/passwd 内存在
                -r :修改一个账号的相关信息
                -x :删除一个SAMBA账号
                -L :列出目前在数据库当中的账号与UID等相关信息
                -v :与 -L 搭配使用列出更详细的信息

        修改SAMBA账号密码
            smbpasswd:

SAMBA的配置文件:
    /etc/samba/smb.conf   #samba主配置文件
    /etc/sysconfig/samba  #提供启动smbd,nmbd时,还想要加入的相关参数。
    /var/lib/samba/private/{passdb.tdb,secrets.tdb} 管理samba的用户账号/密码时,会用到的数据库文件
    /usr/share/doc/samba-<版本>:samba技术手册

    /usr/bin/{smbd,nmbd} #samba服务端服务程序
    /usr/bin/{tdbdump,tdbtool} #samba3.0以后的版本中,用户的账号密码参数已经使用数据库管理,samba使用的数据库为TDB。
                                tdbdump可以查看数据库的内容,tdbtool可以进入数据库手动修改账户及密码参数。(需安装tdb-tools)

    /usr/bin/smbstatus   #列出当前samba的连接状况,包括PID,共享的资源,使用的用户来源等。

    /usr/bin/pdbedit     #管理samba用户数据
    /usr/bin/testparm    #检查主配置文件smb.conf的语法错误

    /usr/bin/smbclient   #查看其他计算机共享出来的目录与设备,或在自己的samba主机上,查看samba是否设置成功

    /usr/bin/nmblookup   #查出NetBios Name
    /usr/bin/smbtree     #查出工作组与计算机名称的树形目录分布图

SAMBA的主配置文件;(#号与;都是注释文件)
        /etc/samba/smb.conf

         主机信息的配置:
            [global]
                workgroup = MYGROUP  #工作组的名称,共享文件客户端服务端工作组要相同
                netbios name = MYSERVER #主机的NetBIOS Name名称,每部主机均不同
                server string = Samba Server Version %v #主机的简易说明
                display charset=xx 自己服务器上面的显示编码
                unix charset=xx    在Linux服务器上所使用的编码
                dos charset=xx     Windows客户端的编码

                host allow=IP      访问权限设定,指定IP的主机可以访问SAMBA服务

                关于语言的设定可参考:
                    http://phorum.vbird.org/viewtopic.php?t=22001

                log file=xx 日志文件的存储文件
                max log size=xx 日志文件最大多大

                security=xxx share,user,domain 三选一 
                    share:共享的数据不需要密码,大家均可使用(安全性差)
                    user:使用samba服务器本身的密码数据库
                    domain:使用外部服务器的密码,也就是samba时客户端的意思,需要password server=IP 的设置值

                encrypt passwords=YES     密码是否加密
                passdb backend=数据库格式 

         共享信息的配置:
                [共享名称]
                path=xxx       实际共享的目录
                comment:共享目录的说明
                guest ok=yes    允许以缺省的guest用户权限进行访问(缺省权限为guest account 设置的权限,缺省设置为nobody,编译时指定)

                browseable:是否让所有用户看到这个目录
                writable:是否可以写入
                write list=@组 可以进入此资源的特定用户组
                create mode=xx  创建文件的相关权限
                directory mode=xx  创建目录的权限
                read only = yes 是否只读

     检查配置文件语法正确:
        testparm 命令
            -v:查阅完整的参数设置,连同默认值也会显示出来

 smbclient命令: 查看其他计算机共享出来的目录与设备,或在自己的samba主机上,查看samba是否设置成功

    smbclient -L [//主机或IP] [-U 用户账号]

        -L:仅查询后面连接的主机所提供的共享资源目录
        -U:以指定的账号来尝试访问该主机的可用资源

基于挂载的方式访问:
        mount -t cifs //SERVER/shared_name  /mount_point -o username=USERNAME,password=PASSWORD

相关内容

热门资讯

年龄相差40多岁,韩执政党党首... 当地时间5月3日,韩国执政党共同民主党党首郑清来携“备战”国会议员补选的前青瓦台人工智能未来规划首席...
人民之心·总书记谈政绩观④|一... 统筹:李琳 杨格策划:叶莉子设计:杨晨悦校对:陈学德素材来源:《人民日报》、新华网
英方裁定2名中国公民有罪,外交... 澎湃新闻记者 杨文钦 朱郑勇5月8日,外交部发言人林剑主持例行记者会。英国广播公司(BBC)记者提问...
特朗普威胁欧盟:7月4日之前履... 【文/观察者网 陈思佳】去年7月,美国和欧盟在英国达成一项贸易协议,但欧盟目前仍未批准协议,引起美国...
四川“人工智能+”一号创新工程... “三步走” ●到2027年,实现人工智能与重点领域广泛深度融合 ●到2030年,加快建成具有全国影响...
移动云总经理孙少陵:夯实算力网... 【移动云总经理孙少陵:夯实算力网络底座 实现智算全域互联】财联社5月8日电,中国移动2026移动云大...
苹果带摄像头AirPods已进... PChome 5月8日消息,彭博社记者马克·古尔曼爆料称,苹果最新打造的带摄像头AirPods已进入...
原创 马... 希冯·齐利斯,埃隆·马斯克四个孩子的母亲,周三在法庭上公开了她与这位科技亿万富翁之间复杂且曾一度保密...
农田边毒水直流,比排污更刺眼的... 5月7日,总台《焦点访谈》曝光了徐州贾汪区农谷大道路边沟存在水体污染问题。全长12公里的路边沟满是污...
28岁女子坠亡,施工方谎报 近日,深圳龙岗区应急管理局公布了《龙岗龙城香港中文大学(深圳)医学院项目Ⅰ标“12·26”一般高处坠...