samba服务,并实现samba配置

(1)samba服务简述

  • Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。例如Windows和Linux,Windows和Unix等,这时可以使用sanba服务器来解决这个问题。
  • Samba的工作方式
  • SAMBA主要提供的是SMB/CIFS或者NETBIOS协议的。
  • 所以只要使用了SAMBA,就能实现让Linux出现在Windows的网上邻居里,或者,让Windows的文件共享在Linux上。

一旦在linux上安装之后,有两个主要进程:
nmbd :提供NETBIOS 名称解析的
smdb : 提供文件共享的。

  • 而由于NETBIOS协议对于windows来讲监听TCP的139端口和UDP的137,138端口 ,所以nmbd在linux上模拟出了udp的137和138端口,以及tcp的139端口,smdb上模拟出 tcp的445端口。而SAMBA将在Linux上同时监听这4个端口。

  • 主配置文件:/etc/samba/smb.conf,由samba-common包提供;

[global]全局配置段

网络操作:
workgroup = ''  #组名
server string = ''   #服务器信息介绍
interfaces = lo eth0 或ip地址例如127.  172.16   #监听那个网卡地址
hosts allow = 127.  192.168.12.  192.168.13. #指定允许访问的主机IP
wins support=yes  #支持Windows开启
日志操作:                               
log file = /var/log/samba/log.%m  #指定日志存放路径,%m为来访的主机名
max log size = 50#定义日志文件最大容量为50K

标准服务操作:
security = user
设定安全级别:取值有四个;
        share:匿名共享;
         user:使用samba服务自我管理的账号和密码进行用户认证;用户必须是系统用户,但密码非为/etc/shadow中的密码,而由samba自行管理的文件,其密码文件的格式由passdb backend进行定义;
        server:由第三方服务进行统一认证;
        domain:使用DC进行认证;基于kerberos协议进行;
                            passdb backend = tdbsam
                            Printing Options
                            load printers = yes
                            cups options = raw
                        
共享文件系统配置
[SHARED_NAME]
                    
有三类:
[homes]:为每个samba用户定义其是否能够通过samba服务访问自己的家目录;
[printers]:定义打印服务;
[shared_fs]:定义共享的文件系统;
                        
    常用指令:
    comment:注释信息;
    path:当前共享所映射的文件系统路径;
    browseable:是否可浏览,指是否可被用户查看;
    guest ok:是否允许来宾账号访问;
    public:是否公开所有用户;
    writable:是否可写;
    read only:是否为只读;
    write list:拥有写权限的用户列表;
                            用户名
                            @组名
                            +组名
                

(2)samba服务的安装配置

环境为两台CentOS7虚拟主机

  • 首先关闭selinux和防火墙
[root@samba-105 ~]# systemctl stop firewalld
[root@samba-105 ~]# systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@samba-105 ~]# vim /etc/selinux/config 
 SELINUX=disabled
[root@samba-105 ~]# systemctl reboot  #重启生效

  • 服务器端安装samba
[root@samba-105 ~]# yum -y install samba samba-client         #安装samba服务和客户端
[root@samba-105 ~]cp /etc/samba/smb.conf{,.bak}                 #备份配置文件
[root@samba-105 ~]# vim /etc/samba/smb.conf                     #编辑配置文件()
# Global parameters
[global]
    printcap name = cups
    security = USER                                 #设定security安全级别是user
    workgroup = SAMBA                               #工作组名
    idmap config * : backend = tdb
    cups options = raw

[root@samba-105 ~]# testparm  #语法检查,无异常后回车,会显示当前配置
  • 由于设定security安全级别是user,用户必须是系统用户,所以接下来创建samba用户账号。
    samba用户管理:smbpasswd
    格式:smbpasswd [options] USERNAME
    -a:添加
    -x:删除
    -d:禁用
    -e:启用
  • pdbedit
    -L:列出samba服务中的所有用户;
    -a, --create:添加用户为samba用户;
    -u, --user=USER:要管理的用户;
    -x, --delete:删除用户;
    -t, --password-from-stdin:从标准输出接收字符串作为用户密码;
    使用空提示符,而后将密码输入两次;
[root@samba-105 ~]#useradd  smbuser1    #创建smbuser1用户账号
[root@samba-105 ~]# smbpasswd  -a smbuser1  #添加samba用户和为用户修改密码
New SMB password:                                     #创建密码
Retype new SMB password:                         #再次输入确认密码
[root@samba-105 ~]#systemctl start nmb.service smb.service  #启动smb服务

(3)客户端测试

首先关闭客户端selinux和防火墙

 [root@client-90 ~]# smbclient -L 172.16.15.105 -Usmbuser1   #查询samba服务器信息
Enter SAMBA\smbuser1's password: 

    Sharename       Type      Comment
    ---------       ----      -------
    samba_dir       Disk      This is a new share directory
    print$          Disk      Printer Drivers
    IPC$            IPC       IPC Service (Samba 4.7.1)
    smbuser1        Disk      Home Directories
Reconnecting with SMB1 for workgroup listing.

    Server               Comment
    ---------            -------

    Workgroup            Master
    ---------            -------
    AOZHONG0             DSERP4
    SAMBA                TEST
    WORKGROUP            YUYUEKANBAN
[root@client-90 ~]# smbclient //172.16.15.105/smbuser1 -U smbuser1 #用户名登录samba
Enter SAMBA\smbuser1's password: 
Try "help" to get a list of possible commands.
smb: \> ls                                                  #查询服务器home/smbuser1目录里面文件
  .                                   D        0  Wed Jun 27 11:26:53 2018
  ..                                  D        0  Wed Jun 27 11:26:53 2018
  .bash_logout                        H       18  Tue Apr 10 20:53:01 2018
  .bash_profile                       H      193  Tue Apr 10 20:53:01 2018
  .bashrc                             H      231  Tue Apr 10 20:53:01 2018

        17811456 blocks of size 1024. 16641032 blocks available
smb: \> lcd /etc                                           #切换目录
smb: \> put fstab                                          #上传fatab文件到服务器home/smbuser1目录
putting file fstab as \fstab (227.0 kb/s) (average 227.1 kb/s)
smb: \> exit                          

服务器端上:
[root@samba-105 ~]# ll  /home/smbuser1                     #查询/home/smbuser1目录中是否有上传文件
total 4
-rwxr--r-- 1 smbuser1 smbuser1 465 Jun 27 20:10 fstab

  • windows平台测试


    image.png

(4)基于用户权限访问设置

  • 所有用户都可访问测试目录有写权限
[root@samba-105 ~]# mkdir /data/samba/files  -pv        #创建测试目录
[root@samba-105 ~]# vim /etc/samba/smb.conf            #编辑配置文件,所有用户都可访问测试目录
...
[myfiles]
      comment = A test shared dir.
      path =/data/samba/files
      public=yes
      writable =yes
[root@samba-105 ~]# testparm                         #语法检查
[root@samba-105 ~]#systemctl restart  smb.service    #重启samba
  • 只有用户smbuser2可以访问读写测试目录
[root@samba-105 ~]# useradd  smbuser2       #添加smbuser2用户
[root@samba-105 ~]# smbpasswd -a smbuser2   #添加samba用户和为用户修改密码
New SMB password:
Retype new SMB password:
Added user smbuser2.
[root@samba-105 ~]# setfacl -m u:smbuser2:rwx /data/samba/files   #设置smbuser2读写此目录权限
[root@samba-105 ~]# getfacl  /data/samba/files/    #查询此目录用户权限
getfacl: Removing leading '/' from absolute path names
# file: data/samba/files/
# owner: root
# group: root
user::rwx
user:smbuser2:rwx
group::r-x
mask::rwx
other::r-x
[root@samba-105 ~]# vim /etc/samba/smb.conf
...
[myfiles]
    browseable = yes                #登陆后是否可见
    comment = A test shared dir.    #描述
    create mask = 0664              #默认权限
    directory mask = 0775           #目录默认权限
    path = /data/samba/files        #共享目录
    read only = No                  #是否只读
    write list = smbuser2           #可写用户

[root@samba-105 ~]# testparm
[root@samba-105 ~]# systemctl start nmb.service smb.service

  • 访问时候用smbuser1登录


    image.png
  • 访问时候用smbuser2登录


    image.png
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,711评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,079评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,194评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,089评论 1 286
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,197评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,306评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,338评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,119评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,541评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,846评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,014评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,694评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,322评论 3 318
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,026评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,257评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,863评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,895评论 2 351

推荐阅读更多精彩内容