zoukankan      html  css  js  c++  java
  • samba服务

    一、Samba简介

      Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。Samba最大的功能就是可以用于Linux与windows系统直接的文件共享和打印共享,Samba既可以用于windows与Linux之间的文件共享,也可以用于Linux与Linux之间的资源共享。

    二、关闭SELinux和防火墙

    1、临时关闭(不用重启机器):

    # setenforce 0                       ##设置SELinux 成为permissive模式  (关闭SELinux)
    # setenforce 1                       ##设置SELinux 成为enforcing模式     (开启SELinux)

    2、修改配置文件需要重启机器:

    # vi /etc/selinux/config

    将SELINUX=enforcing 改为SELINUX=disabled(需重启机器)

    3、可自己做策略开放相应端口,这里我直接关闭:

    # systemctl status firewalld.service       ##查看防火墙状态
    # systemctl stop firewalld.service ##关闭防火墙
    # systemctl disabled firewalld.service ##开机默认关闭
     
    4、修改ip地址(略)
    注:配置ip地址后不生效或者是更换ip地址后ip地址没有改变
      默认情况下是通过Networkmanager管理ip的,可以在配置文件中加入NM_CONTROLLED="no"该项来禁止NetworkManager然后reboot,也
    也可以systemctl disable networkmanager 然后systemctl stop networkmanager systemctl restart network

    三、安装Samba服务

    1、直接yum安装

    # yum install samba samba-client

    2、启动并查看Samba

    # systemctl start smb nmb        ##注:NMB对客户端提供NetBIOS服务
    # systemctl status smb nmb

    四、配置Samba服务

    1、配置

    # vi /etc/samba/smb.conf
    =================== Global Settings[全局选项] ==============================
    [global]
    #
    workgroup = WORKGROUP               ##设定Samba Server所要加入的工作组或域
    server string = Samba Server Version %v        ##设定注释,宏%v表示显示Samba的版本号
    netbios name = zhi                ##设置Samba Server的NetBIOS名称
    
    map to guest = bad user             ##开启匿名访问
        
    # ----------------- Logging Options [日志选项]-----------------------------
    log file = /var/log/samba/log.%m   ##设置日志文件存储位置及名称,宏%m(主机名),表示对每台                                      访问Samba Server的机器都单独记录一个日志文件
    max log size = 50             ##设置Samba Server日志文件的最大容量,单位为KB,0代表不限制
    # ---------------- Standalone Server Options[独立运行进程] ---------------------
    security = share            ##共享级别:共享目录只能被授权的用户访问
    passdb backend = tdbsam     ##建立安全账户管理数据库
    # ----------------- Printing Options[打印选项]-----------------------------
    #        load printers = yes          ##设置是否在启动Samba时共享打印机
    #        cups options = raw           ##通用unix打印选项
    #================== Share Definitions[共享参数] ==============================
     
    [homes]                              ##设置用户宿主目录
            comment = Home Directories        ##描述该共享:家目录
            browseable = no               ##指定该共享是否可以浏览
            writable = yes                  ##指定该共享路径是否可写
    [printers]                          ##设置打印机宿主目录
            comment = All Printers         ##描述:所有打印机
            path = /var/spool/samba        
            browseable = no
            guest ok = no                 ##指定该共享是否允许guest账户访问
            writable = no
            printable = yes              ##指定是否可打印
    [public]
            comment = Public Stuff      ##定义说明信息
            path = /home/samba          ##共享目录路径
            public = yes             ##指定该共享是否允许guest账户访问
            writable = yes
            printable = no
            write list = +staff       ##允许写入该共享的用户

    注:

    + =====》 只在本机的密码文件组中查找
    & =====》只在nis服务中查找
    @ =====》先通过NIS服务器查找,nis找不到再到本机查找

    2、测试语法

    3、建立共享目录

    # mkdir /home/samba
    # cd /home/samba/
    # touch samba.txt

    五、测试

    1、在windows下输入\192.168.10.128访问

    2、在Linux下输入smbclient //192.168.10.128/public访问

    3、配置只允许个别用户访问

    a、配置smb.conf,添加如下

    [time]
            comment = Ashes Of Time
            path = /share/time
            valid users = zhi
            write list = zhi
            printable = no
            create mask = 0755
            directory mask = 0755

    b、建立共享目录、添加相应用户和组

    # mkdir -p /share/time
    # groupadd admin
    # useradd zhi -s /sbin/nologin
    # cd /share/time
    # echo "12345" > abc.txt
    # pdbedit -a -u zhi              ##新建Samba用户

    # pdbedit -L               ##查看Samba用户列表
    # systemctl restart smb nmb        ##重启Samba

    注: 可使用命令smbpasswd -a + 用户名为该用户添加Samba密码,但用户必须是系统用户。

    c、验证

    windows客户端验证:

    在"这台电脑"右键,"映射网络驱动器"

    提示输入用户名密码

    输入后

    并会在这台电脑上显示

    错误:输入用户名、密码后弹出如下内容:

    “指定的网络文件夹目前是以其他用户名和密码进行映射的。要用其他用户名和密码进行连接,首先请断开所有现有的连接到网络共享的映射。”

    解决:使用命令net use查看

    然后使用命令net use * /delete结束所有连接,即可连接。

    Linux客户端验证:

    $  smbclient -L 192.168.10.128 -U zhi

    $ smbclient //192.168.10.128/time -U zhi

    问题:能下载不能上传

    解决:

    # setfacl -m u:zhi:rwx /share/time/      ##赋予用户写权限

    已经可以上传了

    Linux进行挂载

    $ sudo apt-get install cifs-utils     ##网络文件共享系统套件
    $ sudo mkdir /mnt/samba
    $ sudo mount -t cifs //192.168.10.128/time /mnt/samba -o username=zhi

    Linux实现自动挂载

    $ sudo vi /etc/fstab     ##添加如下
    //192.168.10.128/time     /mnt/samba   cifs   credentials=/etc/samba/zhi.passwd 0 0
    $ sudo vi /etc/samba/zhi.passwd         ##防止密码泄露,所以另建文件
    username=zhi
    password=abcdef
    $ sudo chmod og=--- /etc/samba/zhi.passwd          ##设置该密码文件权限
    $ sudo umount /mnt/samba                     ##卸载
    $ sudo mount -a                       ##挂载fstab下的所有选项
    $ ls /mnt/samba/
  • 相关阅读:
    [struts2学习笔记] 第一节 关于struts2的简单认知
    OpenCV——RGB三通道分离
    [shiro学习笔记]第三节 使用myeclipse导入apache shiro中的QuikStart example例子
    [maven学习笔记]第一节,认识maven,搭建maven开发环境,写第一个HelloWorld
    [shiro学习笔记]第二节 shiro与web融合实现一个简单的授权认证
    PS 滤镜——运动模糊
    PS 滤镜——素描算法(二)
    [ExtJS5学习笔记]第二十四节 Extjs5中表格gridpanel或者表单数据后台传输remoteFilter设置
    BZOJ_1798_[AHOI2009]维护序列_线段树
    BZOJ_2001_[BeiJing2006]狼抓兔子_最小割转对偶图
  • 原文地址:https://www.cnblogs.com/xuanan/p/6924230.html
Copyright © 2011-2022 走看看