[linux] samba服务器安装、配置,有细节

别摸鱼啦,说的就是你,学习编程从入门到放弃。掌握编程思维方式,由浅至深,理解编程技术原理,积累知识,向往自由编程。


samba 简述

samba是一个基于 TCP/IP 协议的开源软件套件,可以在Linux、Windows、macOS等操作系统上运行。它允许不同操作系统的计算机之间实现文件和打印机共享。

samba 提供了一个服务,使得Windows操作系统可以像访问本地文件一样访问Linux、Mac等操作系统上的共享文件。实现跨平台的文件共享,提高办公环境的效率和便利性。

samba 也支持Windows网络邻居协议,可以使得Windows计算机可以在网络上发现和访问其他计算机上的共享资源。


Linux samba 下载安装

Debian 或 Ubuntu

sudo apt-get install samba smbclient samba-common

Fedora 或 CentOS

sudo yum install samba samba-common samba-client

Linux samba查看


查看系统中samba软件包命令如下:

Debian 或 Ubuntu

dpkg -l | grep samba 
dpkg -l | grep smbclient

Fedora 或 CentOS

rpm -qa | grep samba

 Linux samba 基础软件包介绍

(ubuntu和centos)samba软件包名有所不同。samba、samba-common、samba-client(smbclient )这三个是samba的核心基础软件包,必须要安装。

  1. samba:

    用于实现SMB/CIFS(Server Message Block/Common Internet File System)协议。samba服务器提供了文件共享和打印服务,允许Windows客户端通过网络与Linux/UNIX服务器交互。

  2. samba-common:

    samba软件包的公共文件和库。它包含一些共享的配置文件、脚本、语言文件和其他公共资源,这些资源被samba服务器和客户端程序所共享和使用。

  3. samba-client:

    samba软件包的客户端组件。它提供了一些用于与samba服务器进行交互的命令行工具,例如smbclient、smbget和smbtree等。这些工具允许用户在Linux/UNIX系统上访问和管理远程的samba共享文件夹。


samba服务器组件

samba有两个主要的进程smbd和nmbd:

  1. smbd(Server Message Block Daemon):

    smbd实现了SMB(Server Message Block)协议,处理来自客户端的SMB请求,用于在不同操作系统之间进行文件和打印机共享。

  2. NMBD(NetBIOS Name Server Daemon):

    nmbd实现了NetBIOS(Network Basic Input/Output System)协议,负责处理来自客户端的NetBIOS名称查询请求,将域名·解析为IP地址,并提供设备域名注册和解析服务。


    samba服务器配置

/etc/samba/smb.conf 是samba服务器的主要配置文件,其中包含了samba服务器的各种设置和选项。通过编辑此文件,自定义samba服务器的行为和功能。

第一步 smb.conf 配置文件示例

sudo vim /etc/samba/smb.conf,打开smb.conf 文件,添加[shared_folder] 配置,示例如下:

#全局参数设置(部分)
[global]
    # 设置Samba服务器所在的工作组名称
    workgroup = WORKGROUP
    # 设置服务器的描述字符串
    server string = Samba Server %v 
    # 设置Samba服务器的安全模式为用户级别身份验证
    security = user
    # 将无效用户映射为访客用户
    map to guest = Bad User
    # 禁用Samba服务器的DNS代理功能
    dns proxy = no 

[printers]
    # 打印机共享的注释说明
    comment = All Printers
    # 打印机共享的路径
    path = /var/spool/samba
    # 设置打印机共享不可浏览
    browseable = no
    # 设置打印机共享可打印
    printable = yes
    # 允许访客用户访问打印机共享
    guest ok = yes 
    
[shared_folder]
    # 共享文件夹的注释说明
    comment = Shared Folder
    # 需要填写实际的共享文件夹的路径
    path = /home/samba_shared_path
    # 允许访问共享文件夹的有效用户列表
    valid users = sambaUser
    # 设置为可写入
    writable = yes
    # 可以被所有用户浏览到资源名称
    browseable = yes
    # 设置新创建的文件的权限掩码
    create mask = 0644
    # 设置新创建的文件夹的权限掩码
    directory mask = 0755
    #guest ok = yes # 可以让用户随意登录,不需要身份验证
    #read only = no  # 设置共享文件夹为只读模式

第二步 添加用户并设置密码

sudo uaseadd sambaUser
sudo smbpasswd -a sambaUser


第三步 重启 samba 并查看 samba 状态

systemctl restart smbd
systemctl status smbd


第四步 添加共享文件用于测试

同属一个组的用户可以访问对应的目录或文件,

如目录:samba_shared_path 属组 sambashare,而用户:sambaUser 也属组  sambashare,所以用户:sambaUser能够访问目录:samba_shared_path

使用下面的命令,改变共享路径的属主和属组

sudo chown sambaUser:sambashare /home/samba_shared_path/

第五步 登录 samba

使用 ifconfig 查看 samba 服务器ip地址,如下图所示:


window + R 快捷键 打开运行对话框,输入 \\192.168.30.129(samba服务器对应的IP地址):


这个时候会弹出登录界面,直接输入之前设置的 samba 登录账号和密码。


samba 常用的命令

查看 samba 用户

显示 sabma 用户列表


删除 samba 用户

下面命令只会删除 samba 用户,而不会删除相应的操作系统用户

sudo smbpasswd -x username

下期讲解 samba 访问过程中遇到的问题以及解决方式


创作不易,动动发财的小手点个关注再走呗

  • 6
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
下面是在 Linux安装 Samba 服务器的步骤: 1. 安装 Samba 服务器软件 在终端中使用以下命令安装 Samba 服务器软件: ``` sudo apt-get update sudo apt-get install samba ``` 2. 配置 Samba 服务器 编辑 Samba 配置文件 `/etc/samba/smb.conf`,可以使用以下命令进行编辑: ``` sudo nano /etc/samba/smb.conf ``` 将以下配置添加到文件末尾: ``` [share] comment = Shared Folder path = /path/to/shared/folder browseable = yes guest ok = yes read only = no create mask = 0777 directory mask = 0777 ``` 其中: - `share` 是共享文件夹的名称,可以自定义; - `comment` 是对共享文件夹的描述,可以自定义; - `path` 是共享文件夹的路径,需要替换成你自己的路径; - `browseable` 表示是否可以浏览该共享文件夹; - `guest ok` 表示是否允许匿名用户访问该共享文件夹; - `read only` 表示是否只读; - `create mask` 和 `directory mask` 分别表示新建文件和目录的默认权限。 3. 创建 Samba 用户 使用以下命令创建 Samba 用户: ``` sudo smbpasswd -a username ``` 其中 `username` 是你要创建的 Samba 用户名。 4. 重启 Samba 服务器 使用以下命令重启 Samba 服务器: ``` sudo systemctl restart smbd ``` 现在,你可以在 Windows 或其他设备上访问共享文件夹了。在 Windows 中,打开资源管理器,输入 `\\linux_ip_address\share`,其中 `linux_ip_address` 是 Linux 服务器的 IP 地址,`share` 是共享文件夹的名称。 注意:在访问共享文件夹时,需要输入 Samba 用户名和密码。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值