简单的Samba分享-无密码


17

我需要的:

文件服务器的简单samba配置,无需密码,每个人都可以完全读写。无需安全性。

历史:

我正在做一个服务器来托管我家的文件。服务器的目标是托管Windows计算机的文件。到目前为止,我设法做到的最好的就是这种配置。这样,我可以从网络上看到共享和服务器,但是它表示Windows无法访问它们。我正在服务器上使用Linux mate,所有最新更新。

我的配置:

[global]

   workgroup = BIOHAZARD
   netbios name = MATUSALEM
   guest account = nobody
   log file = /usr/local/samba/var/log.%m
   max log size = 50
   security = user
   map to guest = bad user
   encrypt passwords = yes

# Share Definitions 
[homes]
   comment = Home Directories
   browseable = no
   writable = yes

[Teste]
    path = /home/peter/share
    writable = yes
    printable = no
    comment = teste
    only guest = yes
    public = yes
        guest ok = yes
        guest only = yes
        guest account = nobody
        browsable = yes
[REDE]
    comment = TESTE 2
    public = yes
    delete readonly = yes
    path = /HOME/REDE
    writeable = yes
        guest ok = yes
        guest only = yes
        guest account = nobody
        browsable = yes
######

有任何想法吗?


Answers:


22

是的,Samba可能很痛苦。我将其用于家庭和工作。

您应该做的第一件事是从头开始,以使故障排除更加容易。您可以通过在终端中运行以下命令来执行此操作。

dpkg-reconfigure samba-common

然后转到要共享的samba服务器上的文件夹,并确保没有用户可以读取和写入共享。这是因为用户nobody是Windows客户端使用的用户名。我通常只是在/目录中创建一个文件夹,以使事情保持简单,但“正确”的方法是使/ srv的子文件夹。如果尚未修改权限,请使用以下命令。

sudo chown -R nobody.nogroup the_folder
sudo chmod -R 777 the_folder

您还可以通过以超级用户身份运行以下命令来测试是否没有人可以写入目录。

sudo -u nobody touch test_file

编辑/etc/samba/smb.conf并在[printers]共享定义下面添加这些行。

[share_name]              ;the share name can be what ever you want
browseable = yes
path = the_complete_path_to_the_shared_folder
guest ok = yes
read only = no
create mask = 777

然后,完成后保存并运行以下命令。

testparm

如果您有任何错别字,这将警告您。接下来,您只需要重新启动samba服务即可。

sudo systemctl restart smbd
sudo systemctl restart nmbd

这很好用!复制以供将来参考。问题是chmod!太谢谢你了
彼得·雷诺德·罗宾逊

1
搞清楚了,真是好事,大多数人会放弃。请记住,在任何操作系统上使用文件共享时,权限通常是问题。
安德鲁(Andrew)

1
大。这对我sudo apt-get autoremovesudo apt-get purge samba*
有用

这导致在完成samba安装后启动nmdb时出错,log.nmdb提示“打开配置文件时出错”,根本不存在/ etc / samba文件夹。重试清除和删除以及重新安装过程导致了一次又一次的重复。
Frank H.

这是整个互联网上唯一可行的方法!拯救我的一天,谢谢。
Evi Song

0

我意识到这是一个旧线程,但是它帮助我解决了无需登录即可创建和共享文件夹的问题。还有很多其他线程,但它们具有误导性。我在下面提供了一个半重要的指南,因为与其他帖子的差异是如此之小,以至于我认为这可能会帮助那些几乎被放弃并拔掉一半头发的人:-)

对我而言,在默认的AWS Linux映像(Amazon Linux AMI 2017.03.0(HVM))上,我必须在根目录dir中创建文件夹,因为如果在默认的ec2-user下创建,则无法分配权限。在分配权限时,我不得不使用nobody.nobody,因为nogroup无法正常工作。最后,我必须在gloabl独立服务器部分下包括map to guest = Bad User,默认情况下,它说security = user

因此,完整的步骤将是部署新服务器:

如果需要安装samba

创建文件夹并分配权限

sudo su
cd /
mkdir the_folder
chown -R nobody.nobody the_folder
chmod -R 777 the_folder

编辑samba文件

nano /etc/samba/smb.conf

查找行#----独立服务器选项----附加“映射到访客”

security = user
passdb backend = tdbsam
map to guest = Bad User

在#====部分下====添加您的份额

[SHARENAME]
path = the_folder
read only = no
create mask = 777
guest ok = yes

保存文件并重新启动samaba

/etc/init.d/smb restart

0

除了@Andrew答案外,最近从ubuntu 17.04升级到17.10还会在systemctl samba-dc-ad.service上产生问题。当您尝试在samba-dc-ad.service(intental)上重新安装samba时,它不是面具上的bug。@Andrew 的答案之前的附加步骤,如果由于升级而导致samba安装/重新安装出现问题:

  1. apt-get update和apt-get-upgrade <-确保没有未完成的升级
  2. apt-get安装samba
  3. 转到此页面并执行说明:https : //wiki.samba.org/index.php/Managing_the_Samba_AD_DC_Service_Using_Systemd

  4. apt-get -f安装samba

  5. 现在,执行上述步骤。:-)
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.