news 2026/5/1 10:19:05

3.11. 允许用户在 Samba 服务器上共享目录

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
3.11. 允许用户在 Samba 服务器上共享目录

在 Samba 服务器上,你可以配置用户共享目录,而无需root权限。

3.11.1. 启用用户共享功能

在用户可以共享目录之前,管理员必须在 Samba 中启用用户共享。

例如,仅允许本地example组的成员创建用户共享:

流程

  1. 如果本地example组不存在,请创建它:

    #groupadd example
  2. 为 Samba 准备目录以存储用户共享定义并正确设置其权限。例如:

    1. 创建目录:

      #mkdir -p /var/lib/samba/usershares/
    2. example组设置写权限:

      #chgrp example /var/lib/samba/usershares/#chmod 1770 /var/lib/samba/usershares/
    3. 设置粘性位以防止用户重命名或删除此目录中其他用户存储的文件。
  3. 编辑/etc/samba/smb.conf文件,并将以下内容添加到[global]部分:

    1. 设置您配置用来存储用户共享定义的目录的路径。例如:

      usershare path = /var/lib/samba/usershares/
    2. 设置允许在这个服务器上创建多少个用户共享 Samba。例如:

      usershare max shares = 100

      如果您对usershare max shares参数使用默认值0,则用户共享将被禁用。

    3. 可选:设置绝对目录路径的列表。例如,要配置 Samba 只允许共享/data/srv目录的子目录,请设置:

      usershare prefix allow list = /data /srv

    有关您可以设置的更多与用户共享相关的参数的列表,请参阅您系统上smb.conf (5)手册页中的USERSHARES部分。

  4. 验证/etc/samba/smb.conf文件:

    #testparm
  5. 重新载入 Samba 配置:

    #smbcontrol all reload-config

    用户现在可以创建用户共享。

3.11.2. 添加用户共享

在 Samba 中启用了用户共享功能后,用户可以通过运行net usershare add命令在 Samba 服务器上共享目录,而无需root权限。

net usershare add命令的说明:

net usershare addshare_name path [[ comment ] | [ ACL ]] [ guest_ok=y|n ]

重要

如果在创建用户共享时设置了 ACL,您必须在 ACL 之前指定comment参数。要设置空的comment,请在双引号中使用空字符串。

请注意,如果管理员在/etc/samba/smb.conf文件的[global]部分中设置了usershare allow guests = yes,用户只能对用户共享启用 guest访问。

例 3.5. 添加用户共享

用户想要在 Samba 服务器上共享/srv/samba/目录。该共享应命名为example,未设置任何comment ,应该可以被 guest 用户访问。此外,对AD\Domain Users组的共享权限应设置为可完全访问,对其他用户设置为读权限。要添加此共享,请以用户身份运行:

$net usershare add example /srv/samba/ "" "AD\Domain Users":F,Everyone:R guest_ok=yes

3.11.3. 更新用户共享的设置

要更新用户共享的设置,请使用具有相同共享名称和新设置的net usershare add命令覆盖共享。请参阅 添加用户共享。

3.11.4. 显示现有用户共享的信息

用户可以在 Samba 服务器上输入net usershare info命令,来显示用户共享及其设置。

先决条件

  • 在 Samba 服务器中配置了一个用户共享。

流程

  1. 显示任意用户创建的所有用户共享:

    $net usershare info -l[share_1] path=/srv/samba/comment= usershare_acl=Everyone:R,host_name\user:F,guest_ok=y...
    Show more

    若要只列出运行命令的用户所创建的共享,请省略-l参数。

  2. 若要只显示关于特定共享的信息,请将共享名称或通配符传给命令。例如,显示名称以share_开头的共享的信息:

    $net usershare info -l share_*

3.11.5. 列出用户共享

如果您想只列出可用的用户共享,而不列出它们的设置,请使用net usershare list命令。

先决条件

  • 在 Samba 服务器中配置了一个用户共享。

流程

  1. 列出任意用户创建的共享:

    $net usershare list -lshare_1share_2...
    Show more

    若要只列出运行命令的用户所创建的共享,请省略-l参数。

  2. 若要只列出特定的共享,请将共享名称或通配符传给命令。例如,只列出名称以share_开头的共享 :

    $net usershare list -l share_*

3.11.6. 删除用户共享

要删除用户共享,请以创建共享的用户身份或以root用户身份,使用net usershare delete命令。

先决条件

  • 在 Samba 服务器中配置了一个用户共享。

流程

$net usershare deleteshare_name
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/1 4:44:51

从Java全栈到前端框架:一次真实面试中的技术探索

从Java全栈到前端框架:一次真实面试中的技术探索 面试开场 面试官:你好,欢迎来到我们公司。我是今天的面试官,负责Java全栈开发岗位的面试。我看到你的简历上写着你有5年的开发经验,主要集中在Java后端和Vue前端。今天…

作者头像 李华
网站建设 2026/5/1 4:43:11

11.AD快捷键 (优化版)

1 通用环境快捷键通用环境快捷键如表1所示。表1 通用环境快捷键快捷键描述F1通过特定的命令,对话框,面板和对象访问光标下当前资源的技术文档CtrlO使用打开对话框打开任何现有文档CtrlF4关闭活动文档CtrlS保存活动文档CtrlAltS保存并释放定义的实体CtrlP…

作者头像 李华
网站建设 2026/5/1 4:43:18

6个AI智能体自主运营网站,无需人工值守!

🔥 颠覆式实践!6 个 AI 智能体自主运营网站,写文、发推、复盘全自动化,无需人工盯屏,真正实现“部署即脱手”!作为开发者,这套基于 OpenClawVercelSupabase 的三层架构方案,实测可复…

作者头像 李华
网站建设 2026/5/1 4:42:21

ABB ACS510 变频器恒压供水与昆仑通泰触摸屏 485 通讯实现

ABB变频器恒压供水 昆仑通泰触摸屏与ACS510变频器直接485通讯程序序,一台变频器控制一台水泵在工业控制领域,恒压供水系统是保障稳定供水的关键。今天咱就来唠唠用 ABB ACS510 变频器实现恒压供水,再搭配昆仑通泰触摸屏,通过 485 …

作者头像 李华
网站建设 2026/5/1 4:43:08

MATLAB订阅制与传统授权模式对比分析

MATLAB订阅制与传统授权模式对比分析作为一名长期在企业技术部门工作的IT经理,我深知软件授权模式对于组织运行效率和成本控制的重要性。MATLAB作为全球知名的数学计算软件,在工程、科研领域广泛应用。近年来,MATLAB推出了订阅制模式&#xf…

作者头像 李华