在本教程中,我们将学习如何在Ubuntu 16.04上安装和配置Samba服务器。 Samba是用于Unix和Linux的免费开源SMB/CIFS协议实现,允许在局域网中的Unix/Linux和Windows机器之间进行文件和打印共享。
Samba是一套程序,其中最重要的两个是:
smbd:提供SMB / CIFS服务(文件共享和打印),也可以作为Windows域控制器。
nmbd:提供NetBIOS名称服务
如何在Ubuntu 16.04上安装Samba服务器
大多数Linux发行版都包含Samba。 要在Ubuntu上安装Samba,只需运行:
sudo apt install samba
最新的稳定版本是4.5.3,发布于2016年12月19日。要检查您的Samba版本,请运行
sudo smbstatus
或者
sudo smbd --version
输出格式如下:
Samba version 4.3.11-Ubuntu
要检查Samba服务是否正在运行,请运行以下命令。
systemctl status smbd
systemctl status nmbd
要启动这两个服务,请运行以下命令:
sudo systemctl start smbd
sudo systemctl start nmbd
开始运行后,smbd将在139和445端口上侦听。
编辑配置文件
只有一个配置文件需要处理:/etc/samba/smb.conf。
sudo nano /etc/samba/smb.conf
在[全局] [global]部分,确保工作组的值与Windows计算机的工作组设置相同。
workgroup = WORKGROUP
向下滚动到文件的底部。 (在nano文本编辑器中,按CTRL + W然后按CTRL + V。)添加新的部分,如下所示。 用您所需的用户名替换红色用户名。
[Home Share]
comment = Home Public Folder
path = /home/linuxidc/
writable = yes
valid users = linuxidc
home共享是将在Windows网络上显示的文件夹名称。 该注释是共享文件夹的描述。 接下来的3行表示只有有效用户指定的用户可以访问/ home/linuxidc/目录,这也是可写的。 上述配置将禁用匿名访问。
保存并关闭该文件,然后运行以下命令检查是否存在语法错误。
testparm
创建用户帐户
默认情况下,Samba将用户设置为安全模式,这意味着客户端必须输入共享文件夹的用户名和密码。 要在Ubuntu上添加用户,请运行以下命令。 用您所需的用户名替换用户名。
sudo adduser linuxidc
You will be prompted to set an Unix password. You also need to set a separate Samba password for the new user with the following command:
sudo smbpasswd -a linuxidc
现在全部要做的是重新启动smbd守护进程。
sudo systemctl restart smbd
从Windows访问Samba共享文件夹
在同一网络的Windows计算机上,打开文件浏览器,然后单击左窗格中的网络。 你会看到samba服务器。 双击共享文件夹并输入linuxidc和密码。
从Ubuntu计算机访问Samba共享文件夹
在文件管理器中,单击左侧窗格中的“网络”(Network)选项卡,然后单击“Windows网络”(Windows Network.)。
选择工作组,Samba服务器和共享文件夹,然后输入Samba linuxidc和密码。
添加多个用户或组
如果多个帐户更适合访问共享文件夹,请在/etc/samba/smb.conf文件中更改如下所示的有效用户。
valid users = user1, user2, user3
还可以使用smbpasswd为每个用户设置Samba密码。
sudo smbpasswd -a user1
sudo smbpasswd -a user2
sudo smbpasswd -a user3
要允许一组用户访问共享文件夹,请在/etc/samba/smb.conf中使用以下配置。
valid users = @sambashare
创建组。
sudo groupadd sambashare
然后将用户添加到此组
sudo gpasswd -a user1 sambashare
sudo gpasswd -a user2 sambashare
sudo gpasswd -a user3 sambashare
该组需要对共享文件夹具有写入权限,可以通过以下两个命令实现。
将sambashare设置为共享文件夹的组所有者:
sudo chgrp sambashare /path/to/shared/folder -R
授予组的写入权限。
sudo chmod g+w /path/to/shared/folder/ -R
OK!希望本教程帮助您在Ubuntu 16.04上设置Samba服务器。