zoukankan      html  css  js  c++  java
  • Samba服务器设置

    Samba服务器设置

    Samba,是用来让Linux系列的操作系统与Windows操作系统的SMB/CIFS(Server Message Block/Common Internet File System)网络协议做连结的自由软件,最大的功能就是可以用于Linux与windows系统直接的文件共享和打印共享(Linux与Linux之间的资源共享更多用NFS实现)。

    组成Samba运行的有两个服务,一个是SMB,另一个是NetBIOS。SMB是Samba的核心启动服务,主要负责建立Samba服务器与Samba客户机之间的对话,验证用户身份并提供对文件和打印系统的访问,监听139 TCP端口(增强版SMB协议CIFS直接监听445端口,CIFS不需要NetBIOS协议);而NetBIOS服务是负责解析,提供浏览网络上的共享资源列表,监听UDP端口137和138。

    Samba相关配置:

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

      主程序:nmbd(NetBIOS Name Server Daemon)、smbd(SMB/CIFS Daemon)

      Unit文件:smb.service和nmb.service

    其中/etc/samba/smb.conf文件常见参数:

      全局配置:

    [global]

        workgroup=MYGROUP  #工作组名

        server string=Samba Server Version %v  #服务器信息介绍

        netbios name=MYSERVER  #用netbios名来指定服务

        interfaces=[interface1 interface2...|address1 address2...]  #用于让samba服务监听多个网络接口或IP

        hosts allow=[address1 address2...]  #指定允许访问的主机IP

        log file=/var/log/samba/log.%m  #指定日志存放路径,%m为来访的主机名

        max log size=50  #定义日志文件最大容量为50K

        security=user  #设置samba服务的安全认证方式为user

        passdb backend=tdbsam  #定义用户后台的类型为tdbsam,其他类型还有smbpasswd、ldapsam

        load prints=yes  #设置是否共享打印机

        cups options=raw  #打印机选项

      其它配置:

    [homes]:为每个samba用户定义其是否能够通过samba服务访问自己的家目录

    [printers]:定义打印服务

    [自定义共享目录]:定义共享的文件系统

      常用指令:

    comment=STRING:注释

    path=/PATH/TO/FILENAME:当前共享所映射的文件系统路径

    browseable=YES:是否可浏览,指是否可被所有用户查看

    pulibc=YES:是否允许匿名访问

    browseable=No:是否公开目录

    writable=YES:是否可写

    read only=no|yes:是否为只读

    write list=/PATH/TO/user_list|USERNAME:拥有写权限的用户列表

    directory mask=MASK:新建目录的权限值

    force directory mode=MASK:配合directory mask使用,使得目录权限值生效

    create mask=MASK:新建文件的权限值

    force create mode=MASK:配合create mask使用,使得文件权限值生效

      更多参数可通过命令 man smb.conf 查看。

    项目实训

    一、centos7下samba服务器------匿名共享

    1.安装Samba软件包

    方法一:

    [root@localhost  ~]# mount   /dev/cdrom   /mnt
    [root@localhost  ~]# cd   /mnt/Packages
    [root@localhost Packages]# ls   samba*
    [root@localhost Packages]# rpm  -ivh   samba-4.8.3-4.el7.x86_64.rpm   --nodeps
    

      

    方法二:

    [root@localhost  ~]# yum  -y  install  samba
    1. samba的配置文件是smb.conf,存放在/etc/samba下,配置前建议先做一个备份
    [root@localhost  ~]# cd  /etc/samba
    
    [root@localhost  samba]# cp  -a  smb.conf   smb.conf.bak
    1. 配置samba的全局参数,允许匿名访问,需要添加map to guest = bad user一列
    [root@localhost  samba]# vim  /etc/samba/smb.conf
    

    4.配置共享组,共享组主要用来定义需要在网络上共享的文件资源。

    参数解析

    [share]                          

        comment = 共享描述 

        path = /share               //共享的文件路径      

        writable  = yes            //是否可写       

        browseable = yes          //是否可被浏览        

    public = yes           //是否允许匿名访问

    1. 创建共享目录,上述配置的路径在/目录先,所以需要在/目录下创建,配置需要一致
    [root@localhost  samba]# mkdir  /share
    
    [root@localhost  samba]# chmod  757  /share
    
    [root@localhost  samba]# cd   /share
    
    [root@localhost  share]# touch  aa.txt
    
    [root@localhost  share]# ls
    
    aa.txt
    
    [root@localhost  share]# pwd
    
    1. 启动服务,并用客户就进行测试,运行\192.168.137.150
    [root@localhost  share]# systemctl  start  smb.service
    
    [root@localhost  share]# systemctl  start  nmb.service

    在客户端windows地址栏中输入\192.168.137.150进行测试访问测试

    项目二:自定义共享目录(用账号密码访问)

    RPM –ivh samba-common-tools-4.8.3-4.el7.x86_64.rpm

    1.配置文件/etc/samba/smb.conf的修改

    注释掉16行的匿名访问功能字段map to guest = Bad User

    [root@samba ~]# vim    /etc/samba/smb.conf
    [shared_dir]
    
            comment=shared dir through samba
    
            path=/samba_dir
    
            writable=yes
    
    [root@samba ~]# mkdir   /samba_dir       //创建共享文件
    
    [root@samba ~]# testparm    //校验/etc/samba/smb.conf文件的配置是否正确
    

    2.samba服务默认的验证模式为user,因此需要创建samba用户数据库:

    samba帐号必须存在于Linux系统中(/etc/passwd),而其密码却需要单独维护。创建samba用户数据库有专门的命令:pdbedit 和 smbpasswd。

    [root@samba ~]# useradd   samba_user1
    
    [root@samba ~]# smbpasswd   -a   samba_user1
    
    1. 修改/samba_dir目录的属主和属组
    [root@samba ~]# groupadd samba
    
    [root@samba ~]# usermod -G samba samba_user1
    
    [root@samba ~]# ll  -d  /samba_dir
    
    [root@samba ~]# chown  :samba   /samba_dir
    
    [root@samba ~]# chmod   g+w   /samba_dir
    
    [root@samba ~]# ll   -d   /samba_dir
    
    1. 启动服务,并用客户就进行测试,运行\192.168.137.150
    [root@localhost  share]# systemctl  restart  smb.service
    
    [root@localhost  share]# systemctl  restart  nmb.service

    在客户端windows地址栏中输入\192.168.137.150进行测试访问测试

    配置若有遗漏或错误,请评论留言。
  • 相关阅读:
    jsp 页面获取当前路径
    html5 页面音频
    微信关于网页授权access_token和普通access_token的区别
    Texlive source
    vscode 快捷键
    vscode setting
    vscode extension 插件管理
    what
    linux manual
    java tool type
  • 原文地址:https://www.cnblogs.com/BrokenEaves/p/14468959.html
Copyright © 2011-2022 走看看