Linux网络---Samba服务

前言

  • 在windows网络环境中,主机之间进行文件和打印机共享是通过微软公司自己的SMB/CIFS网络协议实现的。SMB(Server Message Block,服务消息块)和CIFS(Common Internet File System,通用互联网文件系统)协议是微软的私有协议,在Samba项目出现之前,并不能直接与Linux/UNIX系统进行通信。

  • Samba是著名的开源软件项目之一,它在Linux/UNIX系统中实现了微软的SMB/CIFS网络协议,从而使得跨平台的文件共享变得更加容易。在部署Windows、Linux/UNIX混合平台的企业环境时,选用Samba可以很好地解决不同系统之间的文件互访问题。

一:Samba应用环境

  • 文件和打印机共享:文件和打印机共享是Samba的主要功能, SMB进程实现资源共享,将文件和打印机发布到网络之中,以供用户可以访问。
  • 身份验证和权限设置: smbd服务支持user mode和domain mode等身份验证和权限设置模式,通过加密方式可以保护共享的文件和打印机。。
  • 名称解析:Samba通过nmbd服务可以搭建NBNS(NetBIOS Name Service)服务器, 提供名称解析,将计算机的NetBIOS名解析为IP地址。。
  • 浏览服务:局域网中, Samba服务器可以成为本地主浏览服务器( LMB) ,保存可用资源列表,当使用客户端访问Windows网上邻居时,会提供浏览列表,显示共享目录、打印机等资源

二:Samba常规服务器配置

基本的Samba服务器的搭建流程主要分为四个步骤:

  • 编辑主配置文件smb.conf,指定需要共享的目录,并为共享目录设置共享权限。。
    在smb.conf 文件中指定日志文件名称和存放路径。
    设置共享目录的本地系统权限及samba共享权限。
    重新加载配置文件或重新启动smb服务,使用配置生效。

2.1:samba实验

[root@localhost~]# mount /dev/sr0 /mnt
mount: /dev/sr0 写保护,将以只读方式挂载
[root@localhost~]# df -Th
文件系统       类型      容量  已用  可用 已用% 挂载点
/dev/sda2      xfs       201G  9.3G  192G    5% /
devtmpfs       devtmpfs  1.9G     0  1.9G    0% /dev
tmpfs          tmpfs     1.9G     0  1.9G    0% /dev/shm
tmpfs          tmpfs     1.9G   13M  1.9G    1% /run
tmpfs          tmpfs     1.9G     0  1.9G    0% /sys/fs/cgroup
/dev/sda5      xfs        40G   39M   40G    1% /home
/dev/sda1      xfs        50G  174M   50G    1% /boot
tmpfs          tmpfs     378M  4.0K  378M    1% /run/user/42
tmpfs          tmpfs     378M   52K  378M    1% /run/user/1025
/dev/sr0       iso9660   4.3G  4.3G     0  100% /mnt
tmpfs          tmpfs     378M     0  378M    0% /run/user/0

2.11:安装samba软件
[root@localhost ~]# yum -y install samba*
....省略内容
[root@localhost ~]# rpm -qc samba          ##查看samba下载安装包位置
/etc/openldap/schema/samba.schema
/etc/pam.d/samba
[root@localhost ~]# cd /etc/samba/
[root@localhost samba]# ls                ##查看列表 smb.chonf就是配置文件
lmhosts  smb.conf  smb.conf.example
[root@localhost samba]# mv smb.conf smb.conf.bak   ##移动当前目录更改名称作为备份文件
[root@localhost samba]# ls
lmhosts  smb.conf.bak  smb.conf.example
##这边smb.conf.bak就是原来sab.conf的备份文件 筛选除了注释到smb.conf
[root@localhost samba]# grep -v "#" smb.conf.bak >smb.conf
[root@localhost samba]# ls
lmhosts  smb.conf  smb.conf.bak  smb.conf.example

2.12:编辑配置文件并添加共选项
[root@localhost samba]# vi smb.conf ## 编辑配置文件
[global]
  3         workgroup = SAMBA
  4         security = user                  '设置匿名验证'
  5         map to guest = Bad User          '添加本句 版本原因 这边代替6.5版本的share  '
  6         passdb backend = tdbsam
  
  #末尾添加内容

[share]                                   '分享选项'
path=/opt/lpf                             '文件路径'                 
public=yes                                '打开共享'     
browseable=yes                            '允许访问'
writable=yes            
create mask=0644                          '把权限设置为644'
directory mask=0755                       '新建的目录:权限都777'
:wq保存退出

2.13:重启服务关闭防火墙跟安全防护功能
[root@localhost samba]# systemctl start smb
[root@localhost samba]# setenforce 0
[root@localhost samba]# systemctl stop firewalld

2.14:查看服务器是否启动
[root@localhost samba]# netstat -natp
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:873             0.0.0.0:*               LISTEN      8568/rsync          
tcp        0      0 0.0.0.0:139             0.0.0.0:*               LISTEN      26288/smbd          
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      1/systemd           
tcp        0      0 0.0.0.0:6000            0.0.0.0:*               LISTEN      9374/X              
tcp        0      0 192.168.122.1:53        0.0.0.0:*               LISTEN      12995/dnsmasq       
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      8908/sshd           
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      8911/cupsd          
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      9185/master         
tcp        0      0 127.0.0.1:6010          0.0.0.0:*               LISTEN      20868/sshd: root@pt 
tcp        0      0 0.0.0.0:445             0.0.0.0:*               LISTEN      26288/smbd          
tcp        0      0 127.0.0.1:25151         0.0.0.0:*               LISTEN      8912/python2        
tcp        0      0 14.0.0.100:22           14.0.0.5:49314          ESTABLISHED 20868/sshd: root@pt 
tcp6       0      0 :::873                  :::*                    LISTEN      8568/rsync          
tcp6       0      0 :::139                  :::*                    LISTEN      26288/smbd          
tcp6       0      0 :::111                  :::*                    LISTEN      1/systemd           
tcp6       0      0 :::80                   :::*                    LISTEN      8922/httpd          
tcp6       0      0 :::6000                 :::*                    LISTEN      9374/X              
tcp6       0      0 :::21                   :::*                    LISTEN      25808/vsftpd        
tcp6       0      0 :::22                   :::*                    LISTEN      8908/sshd           
tcp6       0      0 ::1:631                 :::*                    LISTEN      8911/cupsd          
tcp6       0      0 ::1:25                  :::*                    LISTEN      9185/master         
tcp6       0      0 ::1:6010                :::*                    LISTEN      20868/sshd: root@pt 
tcp6       0      0 :::443                  :::*                    LISTEN      8922/httpd          
tcp6       0      0 :::445                  :::*                    LISTEN      26288/smbd  
#samba的服务端口为139跟445   现在已经开启成功

[root@localhost samba]# mkdir /opt/lpf
[root@localhost lpf]# cd lpf/
[root@localhost lpf]# touch 1.txt
[root@localhost lpf]# ll
总用量 0
-rw-r--r--. 1 root root 0 7月  20 02:18 1.txt
[root@localhost lpf]# echo "123123" > 1.txt
[root@localhost lpf]# cat 1.txt 
123123
[root@localhost lpf]# id nobody
uid=99(nobody) gid=99(nobody)=99(nobody)

2.15:添加共享目录
[root@localhost opt]# vim /etc/samba/smb.conf
#底下添加内容
[share]
        path=/opt/shuai
        public=yes
        browseable=yes
        writable=yes
        create mask=0644
        directory mask=0755
[love]
        path=/opt/love
        browseable=yes
        writable=yes
        create mask=0644
        directory mask=0755
        valid users=hua2, hua3      #仅hua2和hua3可以访问
        write list=hua2             #hua2可以写
        
[root@localhost lpf]# systemctl restart smb     #重启服务

2.16:添加用户并设置密码
[root@shell opt]# systemctl restart smb
[root@shell opt]# vim /etc/samba/smb.conf
[root@shell opt]# mkdir love
[root@shell opt]# cd love
[root@shell love]# chmod 777 /opt/love/
[root@shell love]# useradd zhangsan
useradd:用户“zhangsan”已存在
[root@shell love]# useradd lisi
useradd:用户“lisi”已存在
[root@shell love]# smbpasswd -a zhangsan
New SMB password:
Retype new SMB password:
Added user zhangsan.
[root@shell love]# smbpasswd -a lisi
New SMB password:
Retype new SMB password:
Added user lisi.
[root@shell love]# pdbedit -L
zhangsan:1026:
lisi:1027:

2.17:查看与客户端映射网络驱动

mark

2.18:客户端输入服务端IP地址进行链接 已经发现两个共享目录

在windows的运行,输入\20.0.0.41 (sanmba对应地址)

mark

2.19:输入用户名跟密码进行共享

mark

2.2:查看共享目录跟文件

mark

温馨提示:

要关闭防火墙

  • 如果防火墙不关闭,windows跟samba之间的连通性就会被阻挡

权限问题

  • 可能会出现权限不足的情况,修改你想要的那个文件的权限
[root@localhost opt]# chmod 777 /opt/love
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值