精华内容
下载资源
问答
  • samba共享服务配置

    2018-07-31 11:14:32
    centos7下配置samba共享服务。如何下载、安装及配置samba。
  • samba共享服务

    2018-08-18 11:48:38
    SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。SMB协议是客户机/服务器型协议,客户机通过该协议可以...
  • 搭建samba共享服务器

    2020-09-23 13:24:18
    SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。SMB协议是客户机/服务器型协议,客户机通过该协议可以...
  • Samba共享服务详解

    千次阅读 2020-04-27 21:17:30
    Samba服务基础 • Samba 软件项目 – 用途:为客户机提供共享使用的文件夹 – 协议:SMB(TCP 139)、CIFS(TCP 445) • 所需软件包:samba • 系统服务:smb ######################################################## ...

    1. samba介绍

    红帽官方samba讲解
    Samba 是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。

    Samba最大的功能就是可以用于Linux与windows系统直接的文件共享和打印共享,Samba既可以用于windows与Linux之间的文件共享,也可以用于Linux与Linux之间的资源共享。

    Samba由两个主要程序组成,它们是smbdnmbd。这两个守护进程在服务器启动到停止期间持续运行,功能各异。Smbd和nmbd使用的全部配置信息全都保存在smb.conf文件中。Smb.conf向smbd和nmbd两个守护进程说明输出什么以便共享,共享输出给谁及如何进行输出。

    • SMB是Samba 的核心启动服务,主要负责建立 Linux Samba服务器与Samba客户机之间的对话,
      验证用户身份并提供对文件和打印系统的访问,只有SMB服务启动,才能实现文件的共享,监听139 TCP端口
    • NMB服务是负责解析用的,类似与DNS实现的功能,NMB可以把Linux系统共享的工作组名称与其IP对应起来,如果NMB服务没有启动,就只能通过IP来访问共享文件,监听137和138
      UDP端口。

    例如,某台Samba服务器的IP地址为10.0.0.163,对应的工作组名称为davidsamba,那么在Windows的IE浏览器输入下面两条指令都可以访问共享文件。其实这就是Windows下查看Linux Samba服务器共享文件的方法。
      \10.0.0.163\共享目录名称
      \davidsamba\共享目录名称

    Samba服务器可实现如下功能:WINS和DNS服务; 网络浏览服务; Linux和Windows域之间的认证和授权; UNICODE字符集和域名映射;满足CIFS协议的UNIX共享等。

    Samba提供了基于CIFS的四个服务:

    • 文件和打印服务
    • 授权与被授权
    • 名称解析
    • 浏览服务

    前两项服务由smbd提供,后两项服务则由nmbd提供。 简单地说,smbd进程的作用是处理到来的SMB软件包,为使用该软件包的资源与Linux进行协商,nmbd进程使主机(或工作站)能浏览Linux服务器。


    2. 部署

    2.1 系统环境

    CentOS Linux 7 (Core)
    smb server : 192.168.211.15
    smb client : 192.168.211.16
    windows
    SELINUX=disabled
    $ systemctl stop firewalld && systemctl enable firewalld
    

    2.2 安装

    $ yum -y install samba samba-client 
    $ systemctl start smb
    $ systemctl start nmb
    $ ps -ef | grep -E 'smb|nmb'
    $ netstat -tunlp | grep -E 'smbd|nmbd'  #smbd应用进程主要监听139和445端口, nmbd应用进程主要监听137与138端口。
    

    2.3 Samba 配置服务

    需求:系统分区时,单独划分一个/storage的分区,分区下有logger和shared两个文件夹;

    • logger文件夹/storage/logger下对应的管理员账号为logadmin,用户账号为loguser;
    • shared文件夹/storage/shared下对应的管理员账号为admin,用户账户号为shared;

    2.2.1 创建共享目录

    $ mkdir -p /storage/logger  /storage/shared
    

    2.2.2 创建系统用户

    $ useradd -s /sbin/nologin logadmin
    $ useradd -s /sbin/nologin admin
    $ useradd -g admin -s /sbin/nologin shared
    

    2.2.3 建Samba用户

    密码设置redhat

    # 创建logadmin用户
    $ smbpasswd -a logadmin
    New SMB password:
    Retype new SMB password:
    Added user logadmin.
    
    # 创建loguser用户
    $ smbpasswd -a loguser
    New SMB password:
    Retype new SMB password:
    Added user loguser.
    
    # 创建管理员用户
    $ smbpasswd -a admin
    New SMB password:
    Retype new SMB password:
    Added user admin.
    
    # 创建shared用户
    $ smbpasswd -a shared
    New SMB password:
    Retype new SMB password:
    Added user shared.
    

    2.2.4 修改目录属性

    # 修改所属主组
    $ chown logadmin.logadmin logger
    $ chown admin.admin shared
    
    # 修改目录权限
    $ chmod -R 777 logger
    $ chmod -R 777 shared
    

    2.2.5 配置主配置文件

    配置Samba服务

    $ vi /etc/samba/smb.conf
    
    # 全局参数
    [global]
      # 工作组名称 
        workgroup = SC.LOCAL
      # 服务器介绍信息,参数%v 为显示 SMB 版本号
        server string = Samba Server Version %v
      # 设置Samba Server的NetBIOS名称。
        netbios name = Linuxidc-Server
      # 定义日志文件的存放位置与名称,参数%m 为来访的主机名
        log file = /var/log/samba/%m.log
      # 定义日志文件的最大容量为 10240KB
        max log size = 10240
       # 安全验证的方式,总共有 4 种 
       security = user
      # 定义用户后台的类型,共有 3 种
        passdb backend = tdbsam
    
    [logger]
        comment = Logs Directories
        path = /storage/logger/
        public = no
        admin users = logadmin
        valid users = @logadmin
        browseable = yes
        writable = yes
        create mask = 0777
        directory mask = 0777
        force directory mode = 0777
        force create mode = 0777
    
    # 共享参数
    [shared]
        # 共享文件目录描述
        comment = Shared Directories
        # 共享文件目录
        path = /storage/shared/
        # 是否允许guest访问
        public = no
        # 指定管理用户
        admin users = admin
        # 可访问的用户组、用户
        valid users = @admin
        # 是否浏览权限
        browseable = yes
        # 是否可写权限
        writable = yes
        # 文件权限设置
        create mask = 0777
        directory mask = 0777
        force directory mode = 0777
        force create mode = 0777
    

    2.3 重启服务

    $ systemctl restart smb
    $ systemctl restart nmb
    

    2.4 Samba 测试访问

    2.4.1 windows

    使用Windows客户机通过UNC路径访问Samba服务, 如: \192.168.211.15
    进入不同的目录会输入相应的用户与密码

    logger目录:logadmin/redhat
    shared目录:admin/redhat
    

    在这里插入图片描述

    2.4.2 linux

    smbclient命令 属于samba套件,它提供一种命令行使用交互式方式访问samba服务器的共享资源。
    语法

    smbclient(选项)(参数)
    

    选项

    -B<ip地址>:传送广播数据包时所用的IP地址;
    -d<排错层级>:指定记录文件所记载事件的详细程度;
    -E:将信息送到标准错误输出设备;
    -h:显示帮助;
    -i<范围>:设置NetBIOS名称范围;
    -I<IP地址>:指定服务器的IP地址;
    -l<记录文件>:指定记录文件的名称;
    -L:显示服务器端所分享出来的所有资源;
    -M<NetBIOS名称>:可利用WinPopup协议,将信息送给选项中所指定的主机;
    -n<NetBIOS名称>:指定用户端所要使用的NetBIOS名称;
    -N:不用询问密码;
    -O<连接槽选项>:设置用户端TCP连接槽的选项;
    -p<TCP连接端口>:指定服务器端TCP连接端口编号;
    -R<名称解析顺序>:设置NetBIOS名称解析的顺序;
    -s<目录>:指定smb.conf所在的目录;
    -t<服务器字码>:设置用何种字符码来解析服务器端的文件名称;
    -T<tar选项>:备份服务器端分享的全部文件,并打包成tar格式的文件;
    -U<用户名称>:指定用户名称;
    -w<工作群组>:指定工作群组名称。
    

    安装samba-client

    $ yum -y install samba-client
    

    显示共享所有内容

    $ smbclient -L //192.168.211.15 
    Enter SAMBA\root's password: 
    Anonymous login successful
    
    	Sharename       Type      Comment
    	---------       ----      -------
    	logger          Disk      Logs Directories
    	shared          Disk      Shared Directories
    	IPC$            IPC       IPC Service (Samba Server Version 4.9.1)
    Reconnecting with SMB1 for workgroup listing.
    Anonymous login successful
    
    	Server               Comment
    	---------            -------
    
    	Workgroup            Master
    	---------            -------
    	SAMBA                MONITOR
    	SC.LOCAL             LINUXIDC-SERVER
    
    

    直接进入logadmin用户可以进入的logger目录

    $ smbclient -U logadmin%redhat //192.168.211.15/logger  
    

    隐形输入密码进入共享目录logger

    $ smbclient -U logadmin //192.168.211.15/logger   
    Enter SAMBA\logadmin's password: 
    Try "help" to get a list of possible commands.
    smb: \> ls
    

    显示logadmin用户可以查看的共享文件

    $ smbclient -L 192.168.211.15 -U logadmin%redhat  
    

    一次性使用smbclient命令

    $ smbclient -c "ls" //192.168.211.15/logger -U logadmin%redhat 
    $ smbclient -c "mkdir test" //192.168.211.15/logger -U logadmin%redhat 
    

    挂载共享文件,方便快速查看

    $ mount -t cifs -o username=logadmin,password=redhat //192.168.211.15/logger /tmp/log   
    $ ls /tmp/log/
    test
    

    3. 配置文件详解

    3.1 全局参数

    全局参数 [global]
    
    config file = /usr/local/samba/lib/smb.conf.%m
    #config file可以让你使用另一个配置文件来覆盖缺省的配置文件。如果文件 不存在,则该项无效。这个参数很有用,可以使得samba配置更灵活,可以让一台samba服务器模拟多台不同配置的服务器。比如,你想让PC1(主机名)这台电脑在访问Samba Server时使用它自己的配置文件,那么先在/etc/samba/host/下为PC1配置一个名为smb.conf.pc1的文件,然后在smb.conf中加入:config file=/etc/samba/host/smb.conf.%m。这样当PC1请求连接Samba Server时,smb.conf.%m就被替换成smb.conf.pc1。这样,对于PC1来说,它所使用的Samba服务就是由smb.conf.pc1定义的,而其他机器访问Samba Server则还是应用smb.conf。
    
    workgroup = WORKGROUP
    #设定 Samba Server 所要加入的工作组或者域。
    
    server string = Samba Server Version %v
    #设定 Samba Server 的注释,可以是任何字符串,也可以不填。宏%v表示显示Samba的版本号。
    
    netbios name = smbserver
    #设置Samba Server的NetBIOS名称。如果不填,则默认会使用该服务器的DNS名称的第一部分。netbios name和workgroup名字不要设置成一样了。
    
    interfaces = lo eth0 192.168.12.2/24 192.168.13.2/24
    #设置Samba Server监听哪些网卡,可以写网卡名,也可以写该网卡的IP地址。
    
    hosts allow = 127. 192.168.1. 192.168.10.1
    #表示允许连接到Samba Server的客户端,多个参数以空格隔开。可以用一个IP表示,也可以用一个网段表示。hosts deny 与hosts allow 刚好相反。
    
    #例如:
    # 表示容许来自172.17.2.*.*的主机连接,但排除172.17.2.50
    hosts allow=172.17.2.EXCEPT172.17.2.50
    # 表示容许来自172.17.2.0/255.255.0.0子网中的所有主机连接
    hosts allow=172.17.2.0/255.255.0.0
    # 表示容许来自M1和M2两台计算机连接
    hosts allow=M1,M2
    # 表示容许来自SC域的所有计算机连接
    hosts allow=@SC
    
    max connections = 0
    #max connections用来指定连接Samba Server的最大连接数目。如果超出连接数目,则新的连接请求将被拒绝。0表示不限制。
    
    deadtime = 0
    #deadtime用来设置断掉一个没有打开任何文件的连接的时间。单位是分钟,0代表Samba Server不自动切断任何连接。
    
    time server = yes/no
    #time server用来设置让nmdb成为windows客户端的时间服务器。
    
    log file = /var/log/samba/log.%m
    #设置Samba Server日志文件的存储位置以及日志文件名称。在文件名后加个宏%m(主机名),表示对每台访问Samba Server的机器都单独记录一个日志文件。如果pc1、pc2访问过Samba Server,就会在/var/log/samba目录下留下log.pc1和log.pc2两个日志文件。
    
    max log size = 50
    #设置Samba Server日志文件的最大容量,单位为kB,0代表不限制。
    
    
    
    security = user
    #设置用户访问Samba Server的验证方式,一共有四种验证方式。
    
    #share:用户访问Samba Server不需要提供用户名和口令, 安全性能较低。
    #user:Samba Server共享目录只能被授权的用户访问,由Samba Server负责检查账号和密码的正确性。账号和密码要在本Samba Server中建立。
    #server:依靠其他Windows NT/2000或Samba Server来验证用户的账号和密码,是一种代理验证。此种安全模式下,系统管理员可以把所有的Windows用户和口令集中到一个NT系统上,使用Windows NT进行Samba认证, 远程服务器可以自动认证全部用户和口令,如果认证失败,Samba将使用用户级安全模式作为替代的方式。
    #domain:域安全级别,使用主域控制器(PDC)来完成认证。
    
    
    passdb backend = tdbsam
    #passdb backend就是用户后台的意思。
    #目前有三种后台:smbpasswd、tdbsam和ldapsam。sam应该是security account manager(安全账户管理)的简写。
    
    #smbpasswd:该方式是使用smb自己的工具smbpasswd来给系统用户(真实用户或者虚拟用户)设置一个Samba密码,客户端就用这个密码来访问Samba的资源。smbpasswd文件默认在/etc/samba目录下,不过有时候要手工建立该文件。
    #tdbsam:该方式则是使用一个数据库文件来建立用户数据库。数据库文件叫passdb.tdb,默认在/etc/samba目录下。passdb.tdb用户数据库可以使用smbpasswd –a来建立Samba用户,不过要建立的Samba用户必须先是系统用户。我们也可以使用pdbedit命令来建立Samba账户。pdbedit命令的参数很多,我们列出几个主要的。
    
    # pdbedit –a username:新建Samba账户。
    # pdbedit –x username:删除Samba账户。
    # pdbedit –L:列出Samba用户列表,读取passdb.tdb数据库文件。
    # pdbedit –Lv:列出Samba用户列表的详细信息。
    # pdbedit –c “[D]” –u username:暂停该Samba用户的账号。
    # pdbedit –c “[]” –u username:恢复该Samba用户的账号。
     
    #ldapsam:该方式则是基于LDAP的账户管理方式来验证用户。首先要建立LDAP服务,然后设置“passdb backend = ldapsam:ldap://LDAP Server”
    
    
    
    encrypt passwords = yes/no
    # 是否将认证密码加密。因为现在windows操作系统都是使用加密密码,所以一般要开启此项。不过配置文件默认已开启。
    
    smb passwd file = /etc/samba/smbpasswd
    #用来定义samba用户的密码文件。smbpasswd文件如果没有那就要手工新建。
    
    username map = /etc/samba/smbusers
    #用来定义用户名映射,比如可以将root换成administrator、admin等。不过要事先在smbusers文件中定义好。比如:root = administrator admin,这样就可以用administrator或admin这两个用户来代替root登陆Samba Server,更贴近windows用户的习惯。
    
    guest account = nobody
    # 用来设置guest用户名。
    
    socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
    #用来设置服务器和客户端之间会话的Socket选项,可以优化传输速度。
    
    domain master = yes/no
    #设置Samba服务器是否要成为网域主浏览器,网域主浏览器可以管理跨子网域的浏览服务。
    
    local master = yes/no
    #local master用来指定Samba Server是否试图成为本地网域主浏览器。如果设为no,则永远不会成为本地网域主浏览器。但是即使设置为yes,也不等于该Samba Server就能成为主浏览器,还需要参加选举。
    
    preferred master = yes/no
    #设置Samba Server一开机就强迫进行主浏览器选举,可以提高Samba Server成为本地网域主浏览器的机会。如果该参数指定为yes时,最好把domain master也指定为yes。使用该参数时要注意:如果在本Samba Server所在的子网有其他的机器(不论是windows NT还是其他Samba Server)也指定为首要主浏览器时,那么这些机器将会因为争夺主浏览器而在网络上大发广播,影响网络性能。如果同一个区域内有多台Samba Server,将上面三个参数设定在一台即可。
    
    os level = 200
    #设置samba服务器的os level。该参数决定Samba Server是否有机会成为本地网域的主浏览器。os level从0到255,winNT的os level是32,win95/98的os level是1。Windows 2000的os level是64。如果设置为0,则意味着Samba Server将失去浏览选择。如果想让Samba Server成为PDC,那么将它的os level值设大些。
    
    domain logons = yes/no
    #设置Samba Server是否要做为本地域控制器。主域控制器和备份域控制器都需要开启此项。
    
    logon . = %u.bat
    #当使用者用windows客户端登陆,那么Samba将提供一个登陆档。如果设置成%u.bat,那么就要为每个用户提供一个登陆档。如果人比较多,那就比较麻烦。可以设置成一个具体的文件名,比如start.bat,那么用户登陆后都会去执行start.bat,而不用为每个用户设定一个登陆档了。这个文件要放置在[netlogon]的path设置的目录路径下。
    
    wins support = yes/no
    #设置samba服务器是否提供wins服务。
    
    wins server = wins服务器IP地址
    #设置Samba Server是否使用别的wins服务器提供wins服务。
    
    wins proxy = yes/no
    #设置Samba Server是否开启wins代理服务。
    
    dns proxy = yes/no
    #设置Samba Server是否开启dns代理服务。
    
    load printers = yes/no
    #设置是否在启动Samba时就共享打印机。
    
    printcap name = cups
    #设置共享打印机的配置文件。
    
    printing = cups
    #设置Samba共享打印机的类型。现在支持的打印系统有:bsd, sysv, plp, lprng, aix, hpux, qnx
    
    

    3.2 共享文件配置参数详解

    共享参数 [共享名]:
    
    comment = 任意字符串
    #comment是对该共享的描述,可以是任意字符串。
    
    path = 共享目录路径
    #说明:path用来指定共享目录的路径。可以用%u、%m这样的宏来代替路径里的unix用户和客户机的Netbios名,用宏表示主要用于[homes]共享域。
    #例如:如果我们不打算用home段做为客户的共享,而是在/home/share/下为每个Linux用户以他的用户名建个目录,作为他的共享目录,这样path就可以写成:path = /home/share/%u; 。
    #用户在连接到这共享时具体的路径会被他的用户名代替,要注意这个用户名路径一定要存在,否则,客户机在访问时会找不到网络路径。
    #同样,如果我们不是以用户来划分目录,而是以客户机来划分目录,为网络上每台可以访问samba的机器都各自建个以它的netbios名的路径,作为不同机器的共享资源,就可以这样写:path = /home/share/%m 。
    
    browseable = yes/no
    #browseable用来指定该共享是否可以浏览。
    
    writable = yes/no
    #writable用来指定该共享路径是否可写。
    
    available = yes/no
    #说明:available用来指定该共享资源是否可用。
    
    admin users = 该共享的管理者
    #说明:admin users用来指定该共享的管理员(对该共享具有完全控制权限)。在samba 3.0中,如果用户验证方式设置成“security=share”时,此项无效。
    #例如:admin users =bobyuan,jane(多个用户中间用逗号隔开)。
    
    valid users = 允许访问该共享的用户
    #说明:valid users用来指定允许访问该共享资源的用户。
    #例如:valid users = bobyuan,@bob,@tech(多个用户或者组中间用逗号隔开,如果要加入一个组就用“@+组名”表示。)
    
    invalid users = 禁止访问该共享的用户
    #说明:invalid users用来指定不允许访问该共享资源的用户。
    #例如:invalid users = root,@bob(多个用户或者组中间用逗号隔开。)
    
    write list = 允许写入该共享的用户
    #说明:write list用来指定可以在该共享下写入文件的用户。
    #例如:write list = bobyuan,@bob
    
    public = yes/no
    #说明:public用来指定该共享是否允许guest账户访问。
    
    guest ok = yes/no
    #说明:意义同“public”。
    
    
    
    展开全文
  • linux的samba共享服务器详细配置实例,使用flash或播放器打开,点击左边习题,再点击下面步骤即可
  • samba共享服务器配置文件,简单实现samba服务器共享多个文件夹,下载替换/etc/samba/smb.conf文件即可
  • 第一步配置SAMBA 创建新用户穿件共享文件夹和配置 创建共享文件,给文件夹分组 重启 服务 systemctl start smb 第二步进入客户端配置 查看挂载是否成功 第三步进行验证 先在主机...

    搭建用户认证Samba共享服务器

    一、Samba介绍

    二、环境说明

    主机名IP环境系统
    服务器192.168.69.133cenos7图形化
    客户端192.168.69.134cenos7最小化

    三、Samba安装设置

    1.配置SAMBA
    服务端配置
    新建samba用户

    [root@localhost ~]# yum -y install samba-*
    [root@localhost ~]# useradd jerry -s /sbin/nologin
    [root@localhost ~]# smbpasswd -a jerry
    

    2.新建共享目录,赋予权限

    [root@localhost ~]# mkdir /date/samba/share -p
    [root@localhost ~]# chown jerry.jerry /date/samba/share -R
    

    3.修改配置文件,在/etc/samba/smb.conf的配置文件最下面添加

    [root@localhost ~]# cat /etc/samba/smb.conf
    [samba-share]
        comment = This is share
        path = /date/samba/share
        public = no
        writable = yes
    

    4.映射系统用户,并将路径写入smb.conf配置中

    [root@localhost ~]# echo "jerry = qinyong" > /etc/samba/smbusers //将系统用户jerry映射为qinyong虚拟用户
    [root@localhost ~]# vi   /etc/samba/smb.conf
    [global]
        workgroup = SAMBA
        security = user
        map to guest = Bad User
        username map = /etc/samba/smbusers   \\增加项
        passdb backend = tdbsam`
    [root@localhost ~]# systemctl restart smb.service   //重启服务
    

    客户端验证,查看共享目录
    1.客户端查看服务端哪些共享资源

    [root@localhost ~]# smbclient -L 192.168.69.133 -U qinyong //需要输入密码
    Enter SAMBA\qinyong's password: 
        Sharename       Type      Comment
        ---------       ----      -------
        samba-shard     Disk      This is shard
        samba-share     Disk      This is share
        IPC$            IPC       IPC Service (Samba 4.7.1)
    Reconnecting with SMB1 for workgroup listing.
    
        Server               Comment
        ---------            -------
    
        Workgroup            Master
        -----
    

    2.挂载

    [root@localhost ~]# mkdir /samba -p
    [root@localhost ~]# mount -t cifs -o username=qinyong,password=1 //192.168.69.133/samba-share /samba/   
    

    四、检测验证结果

    1.在客户端创建,在服务端读取

    [root@localhost ~]# echo "hehe" >> 123 //客户端创建
    [root@localhost ~]# ls
    123
    [root@localhost ~]# cat /date/samba/share/123  //服务验证该用户有读写权限
    

    2.自动挂载

    [root@localhost ~]# vim /etc/fstab
    //192.168.69.133/samba-share /samba             cifs    defaults,_netdev,username=qinyong,password=1 0 0
    [root@samba-client ~]# mount -a
    [root@samba-client ~]# df
    Filesystem                   1K-blocks    Used Available Use% Mounted on
    /dev/sda2                      865676 155344   753453  22% /
    devtmpfs                        490012       0    494352   0% /dev
    tmpfs                           499860       0    4435340   0% /dev/shm
    tmpfs                           499860    6880    4354350   2% /run
    tmpfs                           499860       0    493440  0% /sys/fs/cgroup
    /dev/sda1                      1134546  135675    83434  12% /boot
    tmpfs                            99972       0     14356  12% /run/user/0
    //192.168.69.133/samba-shard  1832345 3215464  1326434 37% /cifs
    //192.168.69.133/samba-share  1832345 3215464  1326434 37% /samba  //挂载成功
    

    3.验证客户端重启挂载成功
    在这里插入图片描述

    五、Samba服务模拟实验

    在server上配置samba服务
    samba服务器必须是STAFF工作组的一个成员
    共享/common目录,共享名为common
    只有example.com域内的客户端可以访问common共享、
    common必须是可以浏览的
    用户natasha必须能够读取共享中的内容,如果需要的话,验证密码是:tangkai
    1.服务端设置

    [root@server0 ~]# yum -y install samba*
    [root@server0 ~]# mkdir /common
    [root@server0 ~]# vi /etc/samba/smb.conf
    workgroup = STAFF
    [common] 
       path = /common
       browseable = yes
    [root@server0 ~]# systemctl mask iptables.service ebtables.service   
    [root@server0 ~]# firewall-cmd --add-rich-rule 'rule family=ipv4 source address=172.25.0.0/24 service name=samba  accept ' --permanent
    success
    [root@server0 ~]# firewall-cmd --add-rich-rule 'rule family=ipv4 source address=172.25.0.0/24 service name=samba-client  accept ' --permanent
    success
    [root@server0 ~]# firewall-cmd --reload
    success
    [root@server0 ~]# useradd natasha
    [root@server0 ~]# smbpasswd  -a natasha
    tangkai
    [root@server0 ~]# setsebool  -P samba_enable_home_dirs  yes
    setsebool: illegal value yes for boolean samba_enable_home_dirs
    [root@server0 ~]# setsebool  -P samba_enable_home_dirs  on
    [root@server0 ~]# chcon  -Rt samba_share_t  /common/
    [root@server0 ~]# systemctl enable smb nmb
    [root@server0 ~]# systemctl restart  smb nmb
    

    2.客户端设置

    [root@desktop0 ~]# mount -t cifs -o username=natasha,password=tangkai //172.25.0.11/common  /mnt
    [root@desktop0 ~]# df -h
    Filesystem            Size  Used Avail Use% Mounted on
    /dev/vda1              10G  3.1G  7.0G  31% /
    devtmpfs              482M     0  482M   0% /dev
    tmpfs                 498M   80K  497M   1% /dev/shm
    tmpfs                 498M   14M  485M   3% /run
    tmpfs                 498M     0  498M   0% /sys/fs/cgroup
    //172.25.0.11/common   10G  3.1G  6.9G  31% /mnt
    [root@desktop0 ~]# cd /mnt/
    [root@desktop0 mnt]# touch a
    touch: cannot touch ‘a’: Permission denied
    

    3.服务端设置

    [root@server0 ~]# touch  /common/aa
    [root@server0 ~]# mkdir  /storage
    [root@server0 ~]# chcon -Rt samba_share_t  /storage/
    [root@server0 ~]# vi /etc/samba/smb.conf
    [common]
       path = /common
       browseable = yes
       valid users = natasha
    [share]
       path = /storage
       browseable = yes
       valid users = sarah,kitty
       writable = no
       write  list  = kitty
    [root@server0 ~]# systemctl restart smb nmb
    

    4.客户端设置

    [root@desktop0 ~]# umount /mnt/
    [root@desktop0 ~]# ls /mnt/
    [root@desktop0 ~]# mkdir /mnt/dev
    [root@desktop0 ~]# vi /etc/fstab
    //172.25.0.11/share  /mnt/dev  cifs  multiuser,username=sarah,password=tangkai,sec=ntlmssp 0 0
    [root@desktop0 ~]#cd /mnt/dev
    [root@desktop0 ~]#yum -y install cifs-utils*
    [root@desktop0 ~]#su - student
    [student@desktop0 ~]#cifscreds add -u kitty 172.25.0.11
    
    
    展开全文
  • ######1.samba服务器的安装及调试###### 1.安装samba-common命令及安装samba服务 2.关闭火墙,启动smb服务 ...4.将共享文件写在samba的配置文件中,重启smb服务 【注释】:[共享文件名称] comment...

    ######1.samba服务器的安装及调试######

    1.安装samba-common命令及安装samba服务

    2.关闭火墙,启动smb服务

    samba服务受火墙的影响(或者将火墙设置成samba允许的也可以)

    3.临时更改共享文件的安全上下文

     

    4.将共享文件写在samba的配置文件中,重启smb服务

    【注释】:[共享文件名称]
            comment = 共享说明
            path = 共享目录路径

    5.添加samba用户,并用student用户身份查看117主机共享的目录

    smbpasswd  -a    ##添加samba用户

    samba服务特性:不支持匿名用户访问,必须是本机存在的用户才能添加

    smbclient  -L  //ip  -U  xxx   ##用户xxx查看共享目录

    6.建立新用户并添加到samba用户列表

    pdbedit  -L   ##查看samba用户的列表
    useradd xxx -s /sbin/nologin -M    ##建立xxx用户(不用登陆系统,不建立家目录)
    useradd xxx -s /sbin/nologin     ##建立xxx用户(不用登陆系统,建立家目录)

    pdbedit  -x   ##删除samba用户

    7.因selinux是强制模式,需要手动打开共享家目录

    (加  -P    ##永久生效 ,     不加 -P   ##系统重启后就还原了)

    8.用不同用户身份查看117主机共享的目录

    smbclient  -L  //ip  -U  xxx   ##用户xxx查看共享的目录
    smbclient //ip/xxx  -U  xxx    ##用户xxx查看共享目录下的共享文件

    (student有家目录,可以看到共享的家目录)


    (westos没有家目录,无法看到共享的家目录)

     

    ######2.共享 用户自建的目录######

    1.新建一个目录,将目录添加到smb配置文件共享出去,重启smb服务

    2.永久更改安全上下文,并用westos用户访问共享目录westos

    semanage fcontext -a -t samba_share_share_t '/xxx(/.*)?'
    ##永久更改/xxx目录及目录下所有文件的安全上下文
    (加在内核的安全上下文列表里面)
    restorecon  -RvvF  /xxx/    ##使更改的安全上下文生效

    (可以看到共享目录westos,此方式修改只针对修改的目录)

    3.访问时,可能出现的报错,及解决办法

    NT_STATUS_IO_TIMEOUT                        ##编辑/etc/hosts文件,做好本地解析

    NT_STATUS_LOGON_FAILURE                ##密码输入错误

    NT_STATUS_BAD_NETWORK_NAME       ##网络状态错误

     

    #######3.共享 系统原有的目录######

    1.添加系统文件到samba主配置文件中共享,重启smb服务,访问

    (只能看到有共享目录mnt,但是没有办法读取里面的文件)

    2.

    2.更改samba的只读权限,访问

    setsebool  -P  samba_export_all_ro  on  ##开启只读
    setsebool  -P  samba_export_all_rw  on  ##开启读写

    (smaba权限的修改针对所有目录,一旦开放,selinux不保护目录访问)

     

    ######4.samba配置文件参数的含义######

    【注意】:配置参数写在那个共享目录下面,哪个共享目录就可以改变;
                      如果没有写在共享目录下面,意味着全局设定

    ###1.Domain:域名###

    (第89行改为WESTOS)

    ###2.samba的访问控制###

    1.挂载访问

    1)只读挂载访问

    2)永久开机挂载访问

    (写入第11行)

    2.hosts allow :允许访问共享目录的用户列表(白名单)

    (只有117主机可以访问)

    2.hosts deny :拒绝访问共享目录的用户列表(黑名单)

    1)指定单个黑名单ip

    2)指定多个黑名单的ip

    3)指定整个网段黑名单ip

    3.匿名用户访问:

    (写入最后一行:将所有没有身份的用户都映射为guest这个名字)

    (写入第330行,匿名用户可以访问)

    (不用输入密码,回车直接访问)

    ###3.writable:读写共享###

    (samba默认只读共享,不能写)

    1)编辑samba主配置文件

    (;注释第325行,    写入第326行)

    2)更改文件权限

    3)更改selinux影响,并访问

    1>selinux警告不阻碍

    2>selinux警告并阻碍,更改写的权限

    ###4.write list:指定允许写的用户的列表 ###

    1)指定单个用户可写

    2)指定含有该组的用户可写

    (“@” “+” 都代表 组 )

    ###5.valid users :可以使用共享的用户###

    1)指定单个用户可以使用

    (写入第328行)

    2)指定含有该组的用户可以使用

    ###6.browseable :是否允许浏览###

    (注释第327、328两行,写入第329行)

    (默认是yes)

    ###7.admin  users : 提升用户的权力,设定共享目录的管理员###

    (写入第330行,westos对于这个共享目录是超级用户)

    (student不能访问的原因是selinux只对超级用户可写)

     

    ######5.samba多用户挂载######

    1.安装cifs-utils

    (yum仓库配置有问题的解决办法)

    2.修改samba主配置文件/共享目录读写权限,重启smb

    (开启第326行写的权限,注释第330行)

     

    3.指定共享的用户名和密码的文件,并挂载

    (指定的的文件只有超级用户可以看,-o  credentials  ##只读参数, multiuser  ##开启其他用户的认证功能  , sec=ntlmssp  ##其他用户认证的方式 )

    【表面看是root用户在建立文件,实际上是kiosk用户建立的】

    【表面看是kiosk用户在建立文件,实际上是shenzhen主机的1001westos用户建立的】

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    展开全文
  • Samba共享服务器无法访问之无法找到路径 第一次发博客 :p windows访问只能到根目录,打开共享子目录提示找不到路径,可能拼写错误,服务端出现“make_connection_snum: canonicalize_connect_path fail……” 作为...

    Samba共享服务器无法访问之无法找到路径

    第一次发博客 :p

    windows访问只能到根目录,打开共享子目录提示找不到路径,可能拼写错误,服务端出现“make_connection_snum: canonicalize_connect_path fail……”

    作为一个业余爱好者,近期想给车间建一个共享服务器,之前用虚拟机做的测试,成功运行,权限都能实现,前天用一台闲置的工控机做服务器,重新安装了Samba服务器,配置文件和权限配置都是复制过来的,就是无法访问,同一台windows,访问原来那台虚拟机上的SMB,完全正常,而访问物理机上的SMB时,输入\IP地址,成功连接,输入用户名和密码,则正常列出共享子目录,但想进入共享子目录,就一直提示无法访问:
    samba无法访问
    识别的路径也不对,共享配置里是: 共享名:[安全] 而path /…/AQ,这里却将共享名识别成路径 。
    查看服务端,提示“make_connection_snum: canonicalize_connect_path failed for service 安全, path /mnt/jx1_share/AQ”,日志记录也是如此。make_connection_snum: canonicalize_connect_path failed for service
    首先确定不是windows的问题,因为访问虚拟机的共享完全正常。
    检查firewalld,已经添加了samba service。
    检查selinux,已经设置了上下文

    //安全上下文
    chcon -R -t samba_share_t /mnt/*
    

    检查文件权限,也没问题。
    折腾半天,后来,才想起来应该试着把selinux关了,setselinux 0 后,访问就正常了,原来是忘了打开 selinux bool开关了:

    //打开sebool
    setsebool -P samba_export_all on
    

    确保永久生效。

    至此搞定。

    总结,此问题主要是由于此前正确在虚拟机上配置成功过,所有再次配置时,过于自信,总觉得自己配置没问题,度娘给的结果,多数里没有回复,或都找windows的问题,所以把这次经历发出来,希望能帮到需要的人。

    展开全文
  • SAMBA文件共享服务

    万次阅读 2018-11-28 18:08:45
    &amp;amp;amp;nbsp;...当我们需要windows和linux更好的进行文件交互时,使用Samba服务是一个不错的选择,本文介绍如何在linux中搭建Samba服务和怎样在windows下访问linux共享文件。 一、理论知识
  • Linux Samba共享服务最佳实践
  • 众所周知,Samba是Linux发行版常用的文件共享服务器,可用于实现与Windows系统之间的文件共享交换,让即时不了解Linux的用户也能够轻易的访问Linux系统中的文件。但是如何搭建Samba服务器是其中的关键。这里我们就来...
  • 如何连接到Samba共享服务

    千次阅读 2015-04-17 20:03:58
    #为方便同事之间共享资料,在服务器上开通了Samba共享服务 # 介绍如何连接到Samba共享  1. Windows下,连接到Samba共享,有两种方法   a.在命令行,直接输入 \\ IP_address\\share_directory 打开即可   b.点击...
  • samba服务共享

    2020-11-28 14:16:06
    先来说说samba服务的作用:跨平台支持文件共享服务 samba的特点:支持匿名和身份验证共享数据,它的安全性也比较高 samba支持的协议有: nmb(监听137,138号端口,提供域名访问,属于UDP协议) smb(监听139号端口,...
  • centos之samba共享服务

    千次阅读 2019-04-03 08:47:58
    samba服务共享资源部署 samba服务共享资源权限设置 samba服务共享帐号映射 一、介绍 Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。 SMB(Server Messages Block,...
  • CENTOS 7 安装Samba共享文件夹服务WIN 7 可访问 亲自测试 CENTOS 7 最小话安装 按文档一步一步走 WIN7 共享访问 两种方法 匿名访问 与 需要用户名访问 全部OK
  • Linux如何搭建Samba文件共享服务 最近由于学习方面的原因,时间比较紧,只能用零碎时间来整理文档,所以发文章的频率可能会没那么快了,希望亲爱的你们多多体谅。然后,因为发文慢了,我有个想法就是把我上课的笔记...
  • 网络文件共享服务 - Samba详解

    千次阅读 2020-07-18 10:38:55
    SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同操作系统的计算机之间提供文件及打印机等资源的共享服务。SMB协议是客户机/服务器型协议,客户机通过...
  • Linux文件共享服务Samba

    千次阅读 2018-09-17 17:57:44
    Samba是一个能让Linux系统应用Microsoft网络通讯协议的软件,而SMB是Server Message Block的缩写,即为服务器消息块 ,SMB主要是作为Microsoft的网络通讯协议,后来Samba将SMB通信协议应用到了Linux系统上,就形成了...
  • 使用yay安装samba yay -S samba 查看版本 samba -V 创建一个文件夹并设置权限 mkdir share sudo chmod -R 777 share 创建配置文件 sudo vim /etc/samba/smb.conf 配置文件内容 [global] workgroup = WORKGROUP ...
  • CentOS7配置samba共享服务

    千次阅读 2016-06-30 17:27:01
    对公司的不同部门建立不同的文件共享,不同的用户访问同一个共享目录具有不同的权限.
  • 1、yum install samba(安装smb服务器)2、yum install samba-client(安装smb客户端)3、vi /etc/samba/smb.conf(编辑samba文件) 末尾添加: [smbroot]  comment = Share Directories 《-共享描述  browseable = ...
  • 文件共享服务 samba 详解samba 服务介绍1、名词解释2、samba 功能3、计算机网络管理模式4、samba 相关包5、相关服务进程6、主配置文件7、帮助手册8、语法检查9、客户端工具(可直接使用客户端程序 也可以挂载后进行...
  • 主要给大家介绍了关于CentOS 7使用samba共享文件夹的完整步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
  • ubuntu系统搭建samba文件共享服务器

    千次阅读 2019-08-13 21:26:58
    samba服务器作可以windows和linux交互的媒介,可以让windows用户轻松地在电脑上使用图形界面访问linux文件系统,并可以设置写入权限,实用性极佳。 方法/步骤 首先需要安装samba程序,部分Ubuntu镜像已经自带...
  • 如何使用samba服务进行网络文件共享

    千次阅读 2020-07-20 12:06:02
    文章目录一、Samba概述二、实验过程实验环境 一、Samba概述 Samba是一个能让Linux系统应用Microsoft...Samba最大的功能就是可以用于Linux与Windows系统直接的文件共享和打印共享Samba既可以用于Windows与Linux之间的
  • 这里我使用的是 samba(文件共享服务) v4.9.1 + OPENldap(后端数据库软件) v2.4.44 + smbldap-tools(后端数据库管理软件) v0.9.11 + CentOS7。 如果有不同,可能会有部分问题。 注: samba 的功能不只有文件共享,还...
  •         SMB(Server Message Block,服务信息块)又称CIFS...Samba是一款基于SMB/CIFS协议的开源软件,通过简单的配置就能够实现Linux操作系统与Windows操作系统之间的文件
  • linux使用samba实现文件共享

    千次阅读 2020-09-27 11:45:16
    Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成 准备: ①Centos7.6两台 192.168.1.28 client端 192.168.1.88 server端 ②停掉防火墙和selinux,并关闭防火墙默认...
  • 麒麟系统SAMBA共享文件使用手册

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 40,145
精华内容 16,058
关键字:

samba共享服务