• samba基本应用24-4及示例


    samba

    smb:service message block(137/udp, 138/udp, 139/tcp, 445/tcp)

    协议是:CIFS:Common Internet File System

    CIFS监听的端口:

    137/udp, 138/udp 

    这两个端口实现NetBIOS:Windows基于主机实现互相通信的机制;

    想在Linux上实现CIFS协议,又能通过CIFS协议和Windows主机进行交互,前提是在samba中或Linux上既要实现

    CIFS还要实现NetBIOS的功能。否可windows网上另据无法看到Linux,依然无法访问。

    139/tcp, 445/tcp 

    跨平台工作文件系统:samba

    samba可以实现3中服务应用:samba默认之启动前两个功能

    nmbd:NetBIOS   在Linux中提供netbios协议

    smbd:cifs     实现cifs或smb协议

    winbindd:     实现在samba工作后,让Linux加入Windows的ad中去(即活动目录中去,如果Windows没有创建活动域,这项则不启动)

    linux是客户端,windows是服务器端:

    基于交互式数据访问 

    1、在windows上创建test用户,并创建文件,更改文件设置交互式数据访问:

    2、UNC路径:\SERVERshared_name

    #smbclient -L HOST -U USERNAME

    #smbclient -L 192.168.108.135 -U test

    3、获取共享信息之后:

    smbclient //SERVER/shared_name -U USERNAME

    # smbclient //192.168.108.135/tools -U test

    基于挂载方式访问:

    mount -t cifs //SERVER/shared_name /mount -o point username=USERNAME,password=PASSWORD

    # mount -t cifs //192.168.108.135/tools /mnt -o username=test

    smbclient //192.168.18.5/scan -U administrator:访问服务端共享文件夹。help查看使用命令。

    客户端挂载Windows服务端共享目录:

    mount -t cifs //192.168.108.135/scan /mnt -o username=administrator,password=123456

    windows是客户端,Linux是服务器端

    #yum -y install samba:安装服务端工具

     #yum install samba-client:客户端工具

    #rpm -ql samba | less

    服务脚本:

    /etc/rc.d/init.d/nmb

    /etc/rc.d/init.d/smb

    主配置文件

    /etc/samba/smb.conf

    启动文件  //两个守护进程

    /usr/sbin/nmbd     //在Linux中提供netbios协议

    /usr/sbin/smbd    //实现cifs或smb协议

    samba如何认证用户:先创建系统用户账号,然后把用户加入到samba密码文件中来

    账号:都为系统用户  /etc/passwd

    密码:为samba自行维护密码

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

    启动服务:

    # service nmb start; service smb start

    #service nmb start

    #service smb start

    # netstat -tunl   //查看端口

    确定(137/udp, 138/udp, 139/tcp, 445/tcp)端口已处于监听状态

    编辑(/etc/samba/smb.conf)主配置文件中的工作组

    workgroup = WORKGROUP

    重启服务:service smb restart && service nmb restart

    添加系统用户为smb用户:smbpasswd -a xj

    -a Sys_User:添加系统用户为smb用户

    -d: 禁用指定用户

    -e:启用指定用户

    -x:删除用户

    #useradd smbuser1    //添加系统账号

    #smbpasswd  -a smbuser1     //把系统账号添加samba用户加密码,输入两边密码

    以上只能访问自己的家目录,自定义共享,编辑主配置文件

    smb.conf

    全局设定:所有文件系统所共用的系统设定

    特定共享的设定

    私有家目录家目录

    打印机共享

    自定义共享

     

    自定义共享

    [file]:共享文件名  [shared_name]

    path =/opt/file:共享文件夹     path = /path/to/share_directory

    comment = :说明信息

    guest ok = {yes|no}:是否匿名访问

    public = {yes|no}:是否公开

    writable = {yes|no}:写权限

    read only = {yes|no}:只读

    write list = +GROUP_NAME:指定可访问用户或组

    comment = All Printers
    path = /var/spool/samba
    browseable = no
    guest ok = no
    writable = no
    printable = yes

    测试配置文件是否有语法错误,以及显示最终生效的配置:

    # testparm

    注意:共享目录时确定登录用户对该目录有相应权限,如果没有用setfacl设定,不要修改原有属主和属组。

    图形化配置(注:图形化修改后会修改之前的一切信息,需要谨慎)

    # yum install samba-swat

    # cd /etc/xinetd.d/

    # service xinetd start

    #ss -tnl    //查看是否监听了901端口

     http://192.168.108.160:901       //在浏览器中输入即可

    示例:

    建立samba共享,共享目录为/data,要求:
    1) 共享名为shared,工作组为xiaoheshang;
    2) 添加组develop,添加用户gentoo,centos和ubuntu,其中gentoo和centos以develop为附加组,ubuntu不属于develop组;密码均为123456;
    3) 添加samba用户gentoo,centos和ubuntu,密码均为123456;
    4) 此samba共享的shared仅允许develop组具有写权限,其他用户只能以只读方式访问;
    5) 此samba共享服务仅允许来自192.168.0.0/24网络的主机访问;


    samba服务器为192.168.1108.160,测试主机为192.168.108.128 , 192.168.108.129

    1、创建共享目录

    # mkdir /data         

    2、添加组和用户                   

    # groupadd develop                                            

    # useradd -G develop gentoo

    # useradd -G centos develop

    # useradd ubuntu

    3、添加密码

    # echo 123456 | passwd --stdin gentoo

    # echo 123456 | passwd --stdin centos

    # echo 123456 | passwd --stdin ubuntu

    4、把系统用户添加为samba用户,并添加samba密码

    # smbpasswd -a gentoo

    # smbpasswd -a centos

    # smbpasswd -a ubuntu

    5、设置共享目录权限

    # setfacl -m g:develop:rwx /data

    # setfacl -m u:ubuntu:rwx /data

    # getfacl /data

    6、 编辑配置文件/etc/samba/smb.conf;
           设置工作组和访问权限

     

    自定义共享

    检测文件语法错误

    #testparm

    7、启动samba服务

    # service nmb start; service smb start

    # netstat -tuanp | grep '[s|n]mb'             //查看启动端口

     

  • 相关阅读:
    Spring Boot 2.3.0 正式发布!
    当互联网码农遇见国企老同学
    GitHub发布重大更新,关系到所有程序员!
    开发者被要求向破解者道歉,竟揪出“阿里云假员工”,网友:这人有前科
    等了整整12年!Linux QQ 终于更新了!
    我的电脑不联网,很安全,黑客:你还有风扇呢
    grpc的简单用例 (golang实现)
    grpc的简单用例 (C++实现)
    redis键过期 (redis 2.6及以上)
    安装folly库以及folly的ConcurrentHashMap的简单使用
  • 原文地址:https://www.cnblogs.com/hanshanxiaoheshang/p/9269136.html
Copyright © 2020-2023  润新知