CIFS(Samba)服务的使用

Samba是一个能让Linux系统应用Microsoft网络通讯协议的软件,SMB服务器消息块最大的功能是可以用于Linux与windows系统直接的文件共享和打印共享,既可以用于Windows与linux之间的文件共享也可以用于linux与linux之间的资源共享

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

samba的设定流程

1.服务器整体设定方面:在smb.conf当中设定好工作组、NetBIOS主机名、密码使用状态(无密码分享或 本机密码)等等;

2.规划准备分享的目录参数:在smb.conf内设定好预计要分享的目录或装置以及可供使用的账号数据;

3.建立所需要的文件系统:根据步骤2的设定,在linux文件系统当中建立好分享出去的档案或装置,以及相关的权限参数

4.建立可用samba的账号:根据步骤2的设定,建立所需的linux实体账号,再一pdbedit建立使用的samba的密码

5.启动服务:启动samba的smbd,nmbd服务,开始运转。

samba服务器全局配置

workgroup 指定工作组名称

server string 主机注释信息

netbios name 指定NetBIOS名

interfaces 指定服务侦听接口和ip

hosts allow 可用“,”,空格,或tab分隔,默认允许所有主机访问,也可在每个共享独立配置。

hosts deny 拒绝指定主机访问

config file = /etc/samba/conf.d/%U 用户独立的配置文件

Log level = 2 日志级别,默认为0,不记录日志

max log size = 50 日志文件达到50k,将轮循rotate,单位KB

passdb backend = tdbsam 密码数据库格式

samba服务共享目录配置

每个共享目录应该有独立的[ ]部分[共享名称] 远程网络看到的共享名称

comment 注释信息

path 所共享的目录路径

public 能否被guest访问的共享,默认为no,和guest ok类似

browsable 是否允许所有用户浏览此共享,默认为yes,no为隐藏

writeable = yes 可以被所有用户读写,默认为no

read only = no 和 writeable = yes 等价,如与以上设置发生冲突,放在后面的设置生效,默认只读

write list 三种形式:用户,@组名(如writeable=no,列表中用户或组可读写,不在列表中用户只读)

valid users 特定用户才能访问该共享,如为空,将允许所有用户访问,用户名之间用空格分隔

1.修改主机名,安装samba服务

[root@nfs-client ~]# hostnamectl set-hostname samba

[root@nfs-client ~]# bash

[root@samba ~]# yum install -y samba

出现Error downloading packages报错时,可以尝试yum cleam all后重新配置yum源

2.配置samba服务

配置Samba的配置文件/etc/samba/smb.conf

1)修改[global]中的内容如下(找到配置文件中的字段并修改,disable spoolss = yes是新增的)

load printers = no

        cups options = raw

 

;       printcap name = /dev/null

        # obtain a list of printers automatically on UNIX System V systems:

;       printcap name = lpstat

;       printing = bsd

        disable spoolss = yes

2)在配置文件的最后,添加如下内容:

[share]

        path = /opt/share  #/opt/share:这个目录是将要共享的目录,若没有,需要创建

        browseable = yes  # browseable:参数是操作权限

        public = yes      # public:参数是访问权限

        writable = yes    #writable:参数是对文件的操作权限

创建目录并赋予权限

[root@samba ~]# mkdir /opt/share

[root@samba ~]# chmod 777 /opt/share/

启动samba服务,查看端口启动情况

[root@samba ~]# systemctl start smb

[root@samba ~]# systemctl start nmb

 

创建Samba用户(密码:123456),重启samba服务

 

3.使用samba服务

关闭SELinux服务与防火墙

[root@nfs-client ~]# setenforce 0

[root@nfs-client ~]# systemctl stop firewalld

在物理机上按“win+R”键,输入Samba服务的IP地址

 

输入用户名密码登陆

 

看到一个root目录一个share目录,Samba会默认共享用户目录,share则是通过配置文件共享的目录

 

在虚拟机将之前移动到/media中的repo文件,移动到share目录

在物理机上查看share目录

 

posted @ 2020-07-02 19:00  一个顶俩!  阅读(592)  评论(0编辑  收藏  举报