创建临时的Samba分享


9

是否可以为每个Samba临时共享目录?

使用Python 3,我可以使用以下命令通过HTTP服务当前目录:

python -m http.server

我想对Samba做同样的事情。


net share add命令是您要找的吗?
derobert

也许net usershare...
derobert

Answers:


1

似乎没有一种类似于exportfsLinux share上的NFS和Solaris 上那样创建临时共享的方法。原因可能会有所不同,但是您可以从技术上做类似于在同一台计算机上运行多个服务器的页面中所述的操作,并使用自定义功能smb.conf来完成所需的操作。

还有一个选项可以使用SWAT动态创建和删除共享,这将需要对smb.conf进行更改以使其发生,请参阅add share commanddelete share command

就个人而言,如果您希望动态共享,则可能需要共享主目录并通过在许多地方讨论过的samba(包括Ubuntu论坛Samba邮件列表)使用动态主目录共享。


1

根据您的samba守护程序的年龄以及构建它时使用的配置选项,您仍然可以选择在smb.conf中定义一个“动态”共享,指向/ var / dynamic /,参见下文,然后只需将符号链接添加到您要暂时共享到目录中的目录即可。

此技巧要求将Wide links选项设置为yes,以允许samba跟随共享根目录之外的链接。不幸的是,几年前,Samba团队对默认配置进行了调整,以防止广泛共享,因为它可能被利用。Google:Samba和“广泛链接”,用于历史记录和变通方法。

[dynamic]
    comment = Somewhere to park dynamic shares 
    path = /var/dynamic
    read only = Yes
    inherit acls = Yes
    follow symlinks = yes
    wide links = yes

快速测试应该看看你的好,例如

mkdir -p /var/dynamic/test
cd /var/dynamic
ln -s test a_link
ln -s /tmp/  tmp_test

0

假设您要快速将/ somefolder共享给someuser临时只读。

添加系统用户:

useradd -r someuser

默认情况下,如果需要强制使用该文件夹,则该文件夹通常是其他可读的文件夹(请使用ls -ld / somefolder检查):

chmod -R o+r /somefolder

使用以下密码将用户添加到samba:

smbpasswd -a someuser

快速编辑smb.conf并在底部添加

[someshare]
path = /somefolder
read list = someuser

退出,保存并最终运行

smbcontrol smbd reload-config

等等。

显然,一旦完成,您可能想删除“ someshare”部分,然后重新运行reload-config命令。

免责声明:我没有对此进行全面测试,但令我惊讶的是,问题的答案如此简单。如果您已经拥有一些具有现有samba访问权限的用户,则可以跳过一些步骤而直接进行smb.conf的编辑-正是我刚遇到的用户。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.