samba服务

目录

一:samba概述

1.1samba简介

1.2samba的监听端口

1.3samba的进程

1.4samba安全级别

二:samba服务的特点

三:samba的主要作用

四:常见文件服务器软件的对比

五:samba配置文件

5.1samba主配置文件

5.2常用配置文件参数

六:搭建samba服务

6.1安装samba服务

6.2启动服务、关闭防火墙

6.3创建用户

6.4pdbebitd的参数说明

6.5修改配置文件

6.6创建共享文件夹

6.7设置samba用户登录密码

七:客户端进行验证

八:总结

一:samba概述

1.1samba简介

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

NFS 与 samba 一样,也是在网络中实现文件共享的一种实现,但不幸的是,其不支持 windows 平台,samba 是能够在任何支持 SMB 协议的主机之间共享文件的一种实现,当然也包括 windows。

SMB 是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。

SMB 协议是 C/S 型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。

1.2samba的监听端口

TCP UDP
139 | 445 137 | 138

tcp 端口相对应的服务是 smbd 服务,其作用是提供对服务器中文件、打印资源的共享访问

udp 端口相对应的服务是 nmbd 服务,其作用是提供基于 NetBIOS 主机名称的解析

1.3samba的进程

进程 对应
nmbd 对应 netbios
smbd 对应 cifs 协议
winbindd + ldap 对应 Windows AD 活动目录

1.4samba安全级别

samba服务器的安全级别有三个:user,server,domain

安全级别 作用
user 基于本地的验证
server 由另一台指定的服务器对用户身份进行认证
domain 由域控进行身份验证

以前的 samba 版本支持的安全级别有四个,分别是 share,user,server,domain

share 是用来设置匿名访问的,但现在的版本已经不支持 share 了,但是还是可以实现匿名访问的只是配置方式变了

二:samba服务的特点

smaba最大的特点就是可以用于linux和windows之间进行文件共享和打印机共享samba不仅仅可以用于linux和windows之间

samba还可以用于两台linux之间共享

由于linux平台诞生了一个更好的工具,nfs网络文件共享系统,专门用于linux之间文件数据共享●因此samba更多是使用linux和windows之间

三:samba的主要作用

(1)文件共享(最主要作用)

(2)打印服务器

(3)samba登陆时身份验证

(4)由于samba基于Netbios,所以可以进行 windows的主机名解析

四:常见文件服务器软件的对比

服务名称 使用范围 服务器端 客户端 局限性
FTP 局域网和公网

Windows

Linux

Windows

Linux

无法直接在服务器端修改数据
samba 内网

Windows

Linux

Windows

Linux

只能自内网使用
NFS 内网和公网 Linux Linux 只能在Linux之间使用

五:samba配置文件

5.1samba主配置文件

/etc/samba/smb.conf(主配置文件)

samba三大组成 作用
[global] 全局配置,此处的设置项对整个 samba 服务器都有效
[homes] 宿主目录共享设置,此处用来设置 Linux 用户的默认共享,对应用户的宿主目录。 当用户访问服务器中与自己用户名同名的共享目录时,通过验证后将会自动映射到该用户的宿主目录中
[printers] 打印机共享设置

5.2常用配置文件参数

参数 作用
workgroup 表示设置工作组名称
server string 表示描述samba服务器
security 表示设置安全级别,其值可为 share、user、server、domain
passdb backend 表示设置共享帐户文件的类型,其值可为 tdbsam(tdb数据库文件)、ldapsam(LDAP目录认证)、smbpasswd(兼容旧版本 samba 密码文件)
comment 表示设置对应共享目录的注释,说明信息,即文件共享名
browseable 表示设置共享是否可见
writable 表示设置目录是否可写
path 表示共享目录的路径
guest ok 表示设置是否所有人均可访问共享目录
public 表示设置是否允许匿名用户访问
write list 表示设置允许写的用户和组,组要用 @ 表示,例如 write list = root,@root
valid users 设置可以访问的用户和组,例如 valid users = root,@root
hosts deny 设置拒绝哪台主机访问,例如 hosts deny = 192.168.137.10
hosts allow 设置允许哪台主机访问,例如 hosts allow = 192.168.137.15
printable 表示设置是否为打印机

六:搭建samba服务

实验的目的:在linux虚拟机上(centos7环境)搭建一个samba服务并且在windows客户端访问

6.1安装samba服务

yum install -y samba      #安装samba服务

yum list samba            #列出软件包的信息
yum remove samba          #卸载软件包
yum check-update samba    #检查是否有可更新的软件包
yum update samba          #更新samba软件包

samba服务_第1张图片

6.2启动服务、关闭防火墙

systemctl start smb.service
systemctl enable smb.service
 
systemctl stop firewalld
setenforce 0

samba服务_第2张图片

6.3创建用户

groupadd jiuchang
useradd -M kenan -s /sbin/nologin/ -g jiuchang
useradd -M xiaolan -s /sbin/nologin/ -g jiuchang
 
id kenan
id xiaolan

samba服务_第3张图片

6.4pdbebitd的参数说明

  -a, --create                       新建samba用户
  -r, --modify                       修改samba用户
  -x, --delete                       删除samba用户
  -L, --list                         列出全部samba用户,读取passdb.tdb数据库文件
  -v, --verbose                      显示详细信息
  -c, --account-control=STRING       账户控制值
  -w, --smbpasswd-style              以smbpasswd格式输出
  -u, --user=USER                    使用的用户
  -N, --account-desc=STRING          设置账户描述
  -f, --fullname=STRING              设置全名
  -h, --homedir=STRING               设置家目录
  -D, --drive=STRING                 设置家设备
  -S, --script=STRING                设置登陆脚本
  -p, --profile=STRING               设置配置文件路径
  -I, --domain=STRING                设置用户域名
  -U, --user SID=STRING              设置用户SID或RID
  -M, --machine SID=STRING           设置设备SID或RID
  -m, --machine                      账户是一个设备账户
  -b, --backend=STRING               使用不同的passdb作为默认后端
  -i, --import=STRING                指定后段导入用户账户
  -e, --export=STRING                导出用户账户到指定后端
  --policies-reset                   恢复默认策略
  -P, --account-policy=STRING        帐户策略的值(如最大密码有效期)
  -C, --value=LONG                   设置账号策略值
  --force-initialized-passwords      强制初始化passdb后端
  -z, --bad-password-count-reset     重置错误密码
  -Z, --logon-hours-reset            重置登陆时间
  --time-format=STRING               时间参数的格式
  -t, --password-from-stdin          从标准输入获取密码
  -K, --kickoff-time=STRING          设置开始时间
  --set-nt-hash=STRING               从nt-hash设置密码
  -d, --debuglevel=DEBUGLEVEL        设置debug级别
  -s, --configfile=CONFIGFILE        使用备用配置文件
  -l, --log-basename=LOGFILEBASE     设置日志文件的基本名称
  -V, --version                      输出版本号
  --option=name=value                从命令行设置smb.conf选项
  -?, --help                         显示帮助信息
  --usage                            显示简要的使用信息

6.5修改配置文件

编辑配置文件,添加一个以jiuchang作为网络共享文件名的共享目录 

vim /etc/samba/sbm.conf
 
[jiuchang]                 #共享文件名称(也就是客户端访问时可以看到的那个名字)		
        comment = this is jiuchang        #共享文件夹的描述
        path = /home/ceshi             #共享文件夹路径
        public = yes                    #是否允许guest账户访问
        writable =yes                #是否有写权限
        directory mask = 0777        #默认创建目录权限
        create mask = 0777             #默认创建文件权限 
        valid users = @jiuchang,root  #设置允许访问共享目录的用户@后跟组名,不写此行就对所有用户开放
        write list = @jiuchang,root        #设置有写权限的用户@后面跟的是组名
        browseable = yes                 #该指定共享目录可浏览
        available = yes                      #该指定共享资源可使用
vim /etc/samba/sbm.conf
 
[jiuchang]		
        comment = this is jiuchang
        path = /home/ceshi
        public = yes
        writable =yes
        directory mask = 0777
        create mask = 0777
        valid users = @jiuchang,root
        write list = @jiuchang,root
        browseable = yes
        available = yes

samba服务_第4张图片

samba服务_第5张图片

testparm可以用来检测配置文件中是否有语法错误

samba服务_第6张图片

6.6创建共享文件夹

mkdir ceshi
cd ceshi/
echo "ming zhen tan ke nan" > 1.txt
mkdir yueguang
chmod -R 777 ceshi/

samba服务_第7张图片

systemctl restart smb.service   #启动服务
systemctl reload smb.service    #加载配置文件

samba服务_第8张图片

6.7设置samba用户登录密码

smbpasswd -a kenan        # 将本地用户跟samba用户进行映射
smbpasswd -a xiaolan
 
pdbedit -a -u kenan
pdbedit -a -u xiaolan
 
pdbedit -L            #查看加入samba服务的用户

samba服务_第9张图片

samba服务_第10张图片

samba服务_第11张图片

samba服务_第12张图片

七:客户端进行验证

 win+R \\192.168.137.15(安装samba服务的虚拟机)

samba服务_第13张图片

samba服务_第14张图片

samba服务_第15张图片

在客户端上创建文件测试

samba服务_第16张图片

 进行验证

samba服务_第17张图片

八:总结

Samba是根据SMB协议实现的,主要用于Windows和Linux之间共享资源。139端口是在NBT协议基础上的,关闭NBT协议139就废了。而445端口是在TCP/IP协议基础上,现在网络中应该很少有不使用TCP/IP协议的了。最后如果主机两种协议同时支持的话(比如windowsxp以后的操作系统)那么共享访问时候的端口使用优先级为:445>139,所以现在UNC路径访问ip地址都是使用445端口,而访问主机名形式是使用139端口(现在基本不用了)。
关闭139端口的方法:“网络连接/属性/TCPIP协议/属性/高级/WINS中设置启用或者禁用NBT(NetBIOS over TCP/IP)
关闭445端口的方法:防火墙阻塞445端口或者禁用server服务都可以

你可能感兴趣的:(linux,云计算,samba)