Linux搭建samba服务

简介

Samba服务器是一个开源的网络文件共享服务,其主要功能是在不同操作系统之间实现文件和打印机共享。它最常用于将Linux/Unix系统与Windows系统互联,但也支持其他操作系统。后来微软又把 SMB 改名为 CIFS(Common Internet File System),即公共 Internet 文件系统,并且加入了许多新的功能,这样一来,使得Samba具有了更强大的功能。

主要功能:

  • 文件共享:Samba允许用户在网络上共享文件和目录,使其可从不同计算机和操作系统访问。这使得在混合环境中(例如Linux、Windows和macOS)共享文件变得容易。

  • 打印机共享:Samba还可以用于共享网络打印机,以便多台计算机可以通过网络访问共享的打印设备。

  • 身份验证和授权:Samba支持不同类型的身份验证和授权机制,包括基于用户的、基于域的和Kerberos身份验证。这使得用户可以通过其用户名和密码访问共享资源,并且管理员可以对访问进行更精细的控制。

  • 集成Windows域控制器:Samba还可以用作Windows域控制器的替代品,允许管理Windows域内的用户、组和计算机。这使得在没有Windows服务器的情况下构建和管理Windows域成为可能。

  • 数据备份:Samba可以用于将文件从不同计算机备份到中央存储位置,以确保数据的可用性和冗余。

Samba服务组成

Samba服务器提供smbd、nmbd两个服务程序,分别完成不同的功能

smbd:其主要功能就是用来管理Samba服务器上的共享目录、打印机等,主要是针对网络上的共享资源进行管理的服务。当要访问服务器时,要查找共享文件,这时我们就要依靠smbd这个进程来管理数据传输。

nmbd:其功能是进行NetBIOS名解析,并提供浏览服务显示网络上的共享资源列表。

修改主机名

hostnamectl  set-hostname samba
bash

上传镜像并配置yum源

# 上传镜像
mount -o loop CentOS-7-x86_64-DVD-2009 (1).iso /mnt/
mkdir /opt/centos
cp -rvf /mnt/* /opt/centos
umount /mnt/

# yum源备份
mv /etc/yum.repos.d/* /media/
# 配置yum源
vi /etc/yum.repos.d/samba.conf
[centos]
name=centos
baseurl=file:///opt/centos
gpgcheck=0
enabled=1

关闭防火墙

systemctl stop firewalld      (暂时关闭防火墙)
systemctl disable firewalld   (永久关闭防火墙)

# 修改selinux

vi /etc/selinux/config

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of three values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected.
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted


安装Samba服务

yum  install -y  samba

配置Samba服务

vi /etc/samba/smb.conf

[global]
        workgroup = SAMBA                  #表示设置工作组名称
        security = user                    #表示设置安全级别,其值可为 share、user、server、domain

        passdb backend = tdbsam           #表示设置共享帐户文件的类型,其值可为 tdbsam(tdb数据库文件)、ldapsam(LDAP目录                                            认证)、smbpasswd(兼容旧版本 samba 密码文件)
        printing = cups
        printcap name = cups              #指定系统中定义的用于打印机共享的 Printcap 文件的路径和文件名
        load printers = yes               #控制 Samba 是否加载系统中定义的打印机
        cups options = raw                #用来设置与 CUPS(通用 UNIX 打印系统)相关的选项。
        disable spoolss=yes               #控制是否禁用 Samba 的打印支持功能
       
[homes]
        comment = Home Directories         # 用于提供对共享资源的描述性注释
        valid users = %S, %D%w%S           #允许访问该共享的用户
        browseable = No                    #共享是否可被查看
        read only = No                     #指定共享的资源是否只读
        inherit acls = Yes                 #指定是否继承父目录的访问控制列表(ACL)

[printers]
        comment = All Printers              #共享描述
        path = /var/tmp                     #共享路径
        printable = Yes                     #是否可以打印
        create mask = 0600                  #指定新创建的文件的默认权限掩码
        browseable = No                     #共享是否可被查看

[print$]
        comment = Printer Drivers              #共享描述
        path = /var/lib/samba/drivers          #表示共享目录的路径
        write list = @printadmin root          #表示设置允许写的用户和组,组要用 @ 表示
        force group = @printadmin              #设置共享资源的强制组名称
        create mask = 0664                     #指定新创建的目录的默认权限掩码
        directory mask = 0775                  #指定新创建的目录的默认权限掩码
        
[share]
       path=/opt/share       # 将要共享的目录
       browseable=yes        # 操作权限
       public=yes            # 访问权限
       writable=yes          # 对文件的操作权限

创建目录并赋予权限

mkdir /opt/share
chmod  777 /opt/share          777 为最大权限

启动Samba服务

systemctl  start  smb
systemctl  start  nmb

创建Samba用户

[root@samba~]# smbpasswd -a root          
New SMB password:000000
Retype new SMB password:000000
Added user root.

重启Samba服务

service  smb  restart 

使用Samba服务

使用 p c 机, 按 “ win+R ” 键 ,并输入Samba服务的IP地址 ( 在使用 pc 访问 Samba 服务前, 确保 Samba 服务 器的 Selinux 服务 与防火墙服务均处于关闭状态 )

可以看到一个root 目录一个 share 目录,Samba 会默认共享用户目录,share 则是通过配置文件共享的目录。使用 Samba 服务,可以简单地理解为共享文件服务器,将需要被共享的文件,放入 share 目录即可,将之前移动到/media 中的 repo 文件,移动到 share 目录,命令如下:

[root@samba~]# mv /media/* /opt/share/

  • 25
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值