debian 下samba配置

samba

Posted by ivo on March 1, 2018

本教程解释了在Debian 8(Jessie)上安装Samba文件服务器,以及如何配置它以通过SMB协议共享文件以及如何添加用户。 Samba被配置为独立服务器,而不是域控制器。 在最终的设置中,每个用户都可以通过SMB协议访问自己的主目录,所有用户都有一个具有读/写访问权限的共享目录。

0x01初步说明

我在这里使用Debian 8系统,主机名为debian.example.com ,IP地址为192.168.1.100 。

要通过Windows工作站的名称使Linux服务器可访问,我将在Windows上的主机文件中添加一行。 在Windows上以管理员身份运行此命令:

notepad C:\Windows\System32\drivers\etc\hosts

并添加如下所示的行:

192.168.1.100 debian.example.com debian 在文件的末尾。 使用服务器IP和主机名替换您为服务器选择的主机名的IP地址。

0x02安装Samba

以root用户身份连接到shell上的服务器,然后安装Samba软件包:

apt-get install libcups2 samba samba-common cups

将当前smb.conf文件移动到smb.conf.bak:

mv /etc/samba/smb.conf /etc/samba/smb.conf.bak

然后创建一个新的文件smb.conf文件:

nano /etc/samba/smb.conf

具有以下内容:

[global]
workgroup = WORKGROUP
server string = Samba Server %v
netbios name = debian
security = user
map to guest = bad user
dns proxy = no

将WORKGROUP替换为Windows客户端上使用的工作组名称。 如果您不知道工作组的名称,请在Windows客户端上运行此命令以获取工作组名称:

net config workstation

然后关闭服务器上的Samba配置文件并重新启动Samba:

systemctl restart smbd.service

0x03添加Samba共享

现在我将添加所有用户都可以访问的共享。

创建用于共享文件的目录,并将组更改为用户组:

mkdir -p /home/shares/allusers
chown -R root:users /home/shares/allusers/
chmod -R ug+rwx,o+rx-w /home/shares/allusers/

mkdir -p /home/shares/anonymous
chown -R root:users /home/shares/anonymous/
chmod -R ug+rwx,o+rx-w /home/shares/anonymous/

在/etc/samba/smb.conf文件末尾添加以下行:

nano /etc/samba/smb.conf

这是我们的“用户”组的所有成员可访问和可写的共享。 在smb.conf文件的末尾添加以下配置。 公共

[allusers]
  comment = All Users
  path = /home/shares/allusers
  valid users = @users
  force group = users
  create mask = 0660
  directory mask = 0771
  writable = yes

主目录 如果您希望所有用户能够通过Samba读取和写入其主目录,请将以下行添加到/etc/samba/smb.conf (确保您注释掉或删除现有的[homes]部分):

[homes]
   comment = Home Directories
   browseable = no
   valid users = %S
   writable = yes
   create mask = 0700
   directory mask = 0700

匿名分享 你喜欢有一个共享,你网络中的所有用户都可以写? 要小心,这个共享对网络中的任何人都是开放的,所以只能在本地网络中使用。 添加一个这样的匿名分享:

[anonymous]
   path = /home/shares/anonymous
   force group = users
   create mask = 0660
   directory mask = 0771
   browsable =yes
   writable = yes
   guest ok = yes

现在我们重新启动Samba:

systemctl restart smbd.service

0x04添加和管理用户

在这个例子中,我将添加一个名为tom的用户。 您可以根据需要添加任意数量的用户,以同样的方式,只需用命令中所需的用户名替换用户名tom 。

useradd tom -m -G users

在Linux系统用户数据库中设置tom的密码。 如果用户tom不能登录到Linux系统,请跳过此步骤。

passwd tom

  • 输入新用户的密码。

现在将用户添加到Samba用户数据库中:

smbpasswd -a tom

  • 输入新用户的密码。

现在,您可以使用文件浏览器(地址为\ 192.168.1.100或\ 192.168.1.100 \ tom for tom的主目录)使用用户名tom和所选密码和存储文件从Windows工作站登录在Linux服务器上,在tom的主目录或公共共享目录中。