linux下安装Samba来实现多个设备间的数据共享

更新于 2024-01-12 21:02 291
专栏: Linux 标签: Linux

我有一台旧的笔记本,安装了pve其中,安装了ubuntu虚拟机然后安装了docker,并且使用docker容器来构建编译我开发的程序,所以我想用我的笔记本使用编译好的程序包,所以打算安装一个轻量级的smb协议的工具,用于设备之间共享数据

开始

安装和配置 Samba 可以在 Linux 系统上实现文件共享与 Windows 系统的互操作性。以下是在 Linux 下安装和配置 Samba 的基本步骤(以 Debian/Ubuntu 发行版为例):

步骤 1:安装 Samba

在终端中运行以下命令来安装 Samba:

  1. sudo apt-get update
  2. sudo apt-get install samba

步骤 2:配置 Samba

  1. 编辑 Samba 配置文件:

    打开 Samba 配置文件 smb.conf,该文件通常位于 /etc/samba/smb.conf

    1. sudo nano /etc/samba/smb.conf
  2. 配置共享:

    在配置文件中,你可以找到示例共享的部分。你可以根据需要添加、修改或删除共享。以下是一个简单的示例:

    1. [share]
    2. path = /path/to/shared/folder
    3. writable = yes
    4. guest ok = yes
    5. read only = no
    • path: 共享的文件夹路径。
    • writable: 如果设置为 yes,允许写入;如果设置为 no,只读。
    • guest ok: 如果设置为 yes,允许匿名访问。
    • read only: 如果设置为 yes,只读。
  3. 保存并关闭文件。

  4. 设置 Samba 密码:

    在命令行中运行以下命令设置 Samba 用户密码,这将创建一个与系统用户相关联的 Samba 用户。

    1. sudo smbpasswd -a your_username

    your_username 是你系统上的用户名)

步骤 3:重启 Samba 服务

为了应用配置更改,重新启动 Samba 服务:

  1. sudo service smbd restart

步骤 4:防火墙设置(如果需要)

如果你的系统启用了防火墙,请确保允许 Samba 服务通过。具体步骤可能因系统而异。

步骤 5:在 Windows 中访问共享文件夹

在 Windows 资源管理器中,输入 \\your_linux_hostname_or_ip,然后输入 Samba 用户名和密码,即可访问共享文件夹。

请注意,这只是一个简单的配置示例,具体配置取决于你的需求。在生产环境中,请确保进行更严格的安全配置。

我自用的配置备份

  1. [global]
  2. #所要加入的工作组或者域
  3. workgroup = WORKGROUP
  4. #用于在 Windows 网上邻居上显示的主机名
  5. netbios name = Build
  6. #定义安全级别
  7. security = user
  8. #将所有samba系统主机所不能正确识别的用户都映射成guest用户
  9. map to guest = bad user
  10. #是否开启dns代理服务
  11. dns proxy = no
  12. [build]
  13. # 我们要分享的文件夹路径
  14. # 记住目录的权限很重要直接影响了远程的文件操作
  15. # 可以使用 chmod -R 0777 path 来设置权限
  16. path = /home/sun/build
  17. # 是否允许浏览
  18. browseable = yes
  19. public = yes
  20. # 是否可写
  21. writable = yes
  22. # 是否允许匿名(guest)访问,等同于public
  23. guest ok = yes
  24. # 客户端上传文件的默认权限
  25. create mask = 0777
  26. # 客户端创建目录的默认权限
  27. # 注意共享文件在系统本地的权限不能低于以上设置的共享权限。
  28. directory mask = 0777