本教程解释了在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的主目录或公共共享目录中。