samba文件共享服务笔记

Posted 醉人与轩

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了samba文件共享服务笔记相关的知识,希望对你有一定的参考价值。

一、samba文件共享服务 
Samba(文件共享)是开源软件,它在Linux/UNIX系统中实现了微软的SMB(服务消息块)/CIFS(通用互联网文件系统)
网络协议,可以跨平台windows和Linux/UNIX混和使用
1、samba的作用和特点
    1)samba的作用 
        Linux操作系统的文件共享服务
    2)samba特点 
        开源免费
        跨平台支持Windows和Linux
        灵活性强
        安全性强
2、samba支持的协议类型
    1)nmb
        监听UDP协议的137和138端口
        提供通过域名访问samba服务器
    2)smb
        服务消息块
        监听TCP协议139端口
        提供Linux系统访问samba共享
    3)CIFS
        通用互联网文件系统
        监听TCP协议的445端口
        Windows系统访问samba服务使用
samba的组件
smbd负责为客户机提供服务器中共享资源的访问 
监听TCP协议的139端口(SMB协议),445端口(CIFS协议)   

nmbd负责提供基于NetBios协议的主机名称解析,
监听UDP吸引的137-138端口(NetBIOS协议)
以便为Windows网络中的主机进行查询服务
3、安装samba服务
    1)安装服务器和客户端
        [root@centos01 ~]# yum -y install samba samba-client
    2)启动samba服务
        [root@centos01 ~]# systemctl start smb
        [root@centos01 ~]# systemctl start nmb
        [root@centos01 ~]# systemctl enable smb
        [root@centos01 ~]# systemctl enable nmb
    3)检查主配置文件是否配置错误
        [root@centos01 ~]# testparm 
二、配置samba服务
1、samba配置文件位置和常见配置选项
    1)samba主配置文件位置
        /etc/samba/smb.conf
    2)主配置文件常见的选项
        [global]:全局配置
        [homes]:共享用户宿主目录
        [printers]:配置共享打印机
    3)主配置文件常见参数 
        security:user表示身份验证访问,server转向其他samba服务器验证,ads域验证
        path:共享数据根目录
        comment:共享目录说明
        read only:只读
        write list:允许写入
        valid users:允许哪些用户访问samba
        guest ok:允许所有人访问
        samba服务器全局配置
全局配置
常用
workgroup                         指定工作组名称
server string                     主机注释信息
security                          设置安全级别 share user  server domain
log file                          日志文件位置
passdb backend = tdbsam           设置共享账户文件的类型 密码数据库格式
username map = /etc/samba/smbusers   指定用户别名目录
不常用
max log size = 50                 日志文件达到50k,将轮循rotate,单位KB
netbios name                      指定NetBIOS名
interfaces                        指定服务侦听接口和ip
hosts allow = 192.168.100.1    可用“,”,空格,或tab分隔,默认允许所有主机访问,也可在每个共享独立配置。
hosts deny = 192.168.100.1        拒绝指定主机访问
config file = /etc/samba/conf.d/%U          用户独立的配置文件
Log level = 2                   日志级别,默认为0,不记录日志
samba服务共享目录配置”

每个共享目录应该有独立的[ ]部分
[共享名称]      远程网络看到的共享名称
常用
comment          注释信息
path             所共享的目录路径
browsable        是否允许所有用户浏览此共享(设置共享目录是否在网上邻居中可见),默认为yes,no为隐藏
guest ok         是否允许所有人访问
writeable = yes    设置共享目录是否可写    可以被所有用户读写,默认为no
read only = no     默认只读
valid users        特定用户才能访问该共享,如为空,将允许所有用户访问,用户名之间用空格分隔
public           能否被guest访问的共享,默认为no,和guest ok类似
read only = no 和 writeable = yes           等价,如与以上设置发生冲突,放在后面的设置生效,默认只读
write list              三种形式:用户,@组名(如writeable=no,列表中用户或组可读写,不在列表中用户只读)
directory mask = 0755   上传目录的权限
create mask = 0644      上传文件的权限
简单的samba共享1
安装
yum -y install samba
配置
vim /etc/samba/smb.conf
[global]
        security = user                               设置安全级别
        username map = /etc/samba/smbusers             指定用户别名目录  
[share]
        comment = share                              注释信息          
        path = /opt/share                            所共享的目录路径
        public = no                                  是否允许所有用户访问   
        read only = yes                               是否只读
        valid users = user1 user2                 指定用户可访问  @表示组
        write list = user1                            用户可写   
        directory mask = 0755                               上传目录的权限 
        create mask = 0644                              上传文件的权限


别名文件
user1 = zhangsan
验证samba需要专门的共享用户要有对应的系统用户密码可以不一样

pdbedit -a -u user1               创建共享用户
pdbedit -L                        列出所有的共享用户
pdbedit -vL                       查看指定共享用户的详细信息
pdbedit -x -u user1               删除共享用户
net use* /delete   刷新共享连接

启动
systemctl start smb
systemctl start nmb

客户端访问samba服务器
smbclient  -U 用户 //samba服务器地址/共享名称

查看smb服务共享
smbclient -L samba服务器地址

lcd 切换目录
mget   下载文件
quit   退出

挂载共享文件夹
mkdir /media/smbdir
mount -o username=user1 //192.168.100.10/share /media/smbdir
2、配置身份验证samba共享2 
    1)创建系统用户 
        [root@centos01 ~]# useradd bob
        [root@centos01 ~]# useradd tom
    2)将用户添加为samba用户 
        [root@centos01 ~]# pdbedit -a -u bob
        [root@centos01 ~]# pdbedit -a -u tom
    3)查看samba账户信息
        [root@centos01 ~]# pdbedit -vL bob
    4)删除samba账户 
        [root@centos01 ~]# pdbedit -x bob
    5)创建共享目录
        [root@centos01 ~]# mkdir /benet
    6)修改samba主配置文件
        [root@centos01 ~]# vim /etc/samba/smb.conf
        [global]
                security = user            //配置身份验证samba服务器
        [benet]                            //共享名字
                path = /benet            //共享根目录
                comment = share benet    //共享目录说明 
                valid users = bob,tom    //允许bob和tom访问
                read only = yes            //只读 
                write list = tom        //允许tom写入数据
                create mask = 0664        //创建文件权限 
                directory mask = 0755    //创建目录权限
    7)重新启动samba服务 
        [root@centos01 ~]# systemctl restart smb
        [root@centos01 ~]# systemctl restart nmb
    8)查询共享是否成功
        [root@centos01 ~]# smbclient -L 192.168.100.10 -U bob
3、共享账户的映射,配置将bob应用映射别名zhangsan、lisi,tom映射账户wangwu、zhaoliu
    1)开启别名映射
        [root@centos01 ~]# vim /etc/samba/smb.conf
        [global]
                username map = /etc/samba/cname
    2)编辑别名配置文件
        [root@centos01 ~]# vim /etc/samba/cname
        bob = zhangsan,li
        tom = wangwu,zhaoliu
4、samba访问控制列表 
    1)samba访问控制列表类型
        hosts deny:拒绝网络或者主机
        hosts allow:允许主机或者网络
    2)拒绝主机192.168.100.30访问samba 
        [root@centos01 ~]# vim /etc/samba/smb.conf
        [global]
                hosts deny = 192.168.100.30
    3)重新启动服务 
        [root@centos01 ~]# systemctl restart smb
        [root@centos01 ~]# systemctl restart nmb
5、samba客户端使用
    1)安装samba客户端
        [root@centos02 ~]# yum -y install samba-client
    2)samba登录共享 
        [root@centos02 ~]# smbclient //192.168.100.10/benet -U tom        //登录
        smb: \\> get 1.iso         //下载
        smb: \\> put 2.iso         //上传
    3)使用mount.cifs挂载samba
        [root@centos02 ~]# mount.cifs -o username=tom //192.168.100.10/benet /mnt
        
复习        
1,    samba服务器中主要包括哪几个服务程序?各自的作用及监听端口是什么?
Smbd为客户机提供服务器共享资源的访问 tcp协议的139端口
Nmbd提供基于netblos协议的主机名称解析?
2,    在samba服务器的主配置文件中,[homes]配置段的作用?
设置Linux用户的默认共享,对应用户的宿主目录
3,    在samba服务器的主配置文件中,[global]配置段的作用
这部分设置对整个服务器生效
4,    samba服务器的安全级别为什么时,需指定另一台服务器来验证用户名及密码?
user
5,    什么工具可以对smb.conf配置文件的正确性检查,如果发现有错误进行提醒?
Testparm
6,    在linux操作系统中执行什么命令可以将用户vina添加为samba共享用户?
pdbedit -a -u vina
7,    Samba服务器共享目录配置段中添加射门配置时设置共享目录的授权用户为mike,sun?
valid users = mike,sun
8,    samba服务器的共享目录配置文件中的userame map配置项的作用是什么?
指定用户别名目录
9,    samba服务器的主配置文件中hosts allow=192.168.4.173.17配置项的作用是什么?
允许192.168.4.17主机访问
10,    Linux操作系统中执行mount -o username=hunter //192.168.4.11/tools /media/smbdir/命令的作用是什么?
挂载共享文件夹
        
        
    
    
    
    
    

以上是关于samba文件共享服务笔记的主要内容,如果未能解决你的问题,请参考以下文章

Linux笔记:文件共享服务Samba基础使用

linux 笔记 3-7 samba

Linux基础网络设置和Samba文件共享服务

samba中设置共享目录步骤

关于samba共享的问题

Linux之SAMBA文件共享服务器