Debian 9 (Stretch) 上的 Samba 独立服务器安装
本教程适用于这些操作系统版本
- Debian 9(延伸版)
- Debian 4
在此页
- 1 条初步说明
- 2 安装Samba
- 3 添加 Samba 共享
- 3.1 集团份额
- 3.2 主目录
- 3.3 匿名分享
本教程介绍了在 Debian 9 (Stretch) 上安装 Samba 文件服务器、如何配置它以通过 SMB 协议共享文件以及如何添加用户。 Samba 配置为独立服务器,而不是域控制器。在最终的设置中,每个用户都有自己的主目录,可通过 SMB 协议访问,所有用户都有一个具有读/写访问权限的共享目录。
1 初步说明
我在这里使用主机名 debian.example.com 和 IP 地址 192.168.1.100 的 Debian 9 系统。我将使用这个最小的 Debian 系统作为本教程的基础:https://linux教程/tutorial/debian-minimal-server/
我将在本教程中使用 nano 编辑器来编辑 shell 上的配置文件。可以使用以下命令安装 Nano:
apt-get install nano
如果您有其他喜欢的 shell 编辑器,例如 joe 或 vi,请改用它。
为了让我的 Windows 工作站可以通过名称访问 Linux 服务器,我将在 Windows 上的主机文件中添加一行。在 Windows 上以管理员用户身份运行此命令以编辑主机文件:
notepad C:\Windows\System32\drivers\etc\hosts
并添加这样一行:
192.168.1.100 debian.example.com debian
在文件的末尾。将 IP 地址替换为服务器 IP,将主机名替换为您为服务器选择的主机名。
重命名管理员用户(如果存在)
我的Debian 9服务器有一个名为\administrator\的用户,这个用户名可能会导致Samba出现问题,所以我在这里将其重命名为howtoforge。随意为您的用户使用不同的名称,只要不是管理员,该名称并不重要。如果您的系统没有名为 administrator 的用户,请跳过此步骤。
usermod -l howtoforge -m -d /home/howtoforge administrator
groupmod -n howtoforge administrator2 安装Samba
以 root 用户身份连接到 shell 上的服务器并安装 Samba 包:
apt-get -y 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
3 添加 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
3.1 集团份额
这是我们“用户”组的所有成员都可以访问和写入的共享。在 smb.conf 文件末尾添加以下配置。
[allusers] comment = All Users path = /home/shares/allusers valid users = @users force group = users create mask = 0660 directory mask = 0771 writable = yes
3.2 主目录
如果您希望所有用户都能够通过 Samba 读取和写入他们的主目录,请将以下行添加到 /etc/samba/smb.conf(确保注释掉或删除现有的 [homes] 部分):
[homes] comment = Home Directories browseable = no valid users = %S writable = yes create mask = 0700 directory mask = 0700
3.3 匿名分享
您想共享网络中的所有用户都可以写入的内容吗?请注意,此共享对网络中的任何人开放,因此请仅在本地网络中使用。像这样添加一个匿名共享:
[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
4 添加和管理用户
在此示例中,我将添加一个名为 tom 的用户。您可以根据需要添加任意数量的用户,方法相同,只需在命令中将用户名 tom 替换为所需的用户名即可。
useradd tom -m -G users
在Linux系统用户数据库中为tom设置密码。如果用户 tom 应该不能登录到 Linux 系统,请跳过这一步。
passwd tom
-> 输入新用户的密码。
现在将用户添加到 Samba 用户数据库:
smbpasswd -a tom
-> 输入新用户的密码。
现在您应该能够使用用户名 tom 和选择的密码从 Windows 工作站使用文件资源管理器(地址为 \192.168.1.100 或 \192.168.1.100 om for toms 主目录)登录,并将文件存储在 Linux 服务器上在 toms 主目录或公共共享目录中。
5 从 Windows 访问 Samba
现在您可以从 Windows 桌面访问 samba 共享。打开命令提示符并输入 \\debian\ 以打开文件资源管理器:
这显示了我们的 samba 服务器的份额。
6 本教程的虚拟机镜像下载
本教程可随时使用与 VMWare 和 Virtualbox 兼容的 ovf/ova 格式的虚拟机映像。虚拟机映像使用以下登录详细信息:
SSH/外壳登录
用户名:howtoforge
密码:howtoforge用户名:root
密码:howtoforgeSamba 示例用户登录
用户名:tom
密码:howtoforgeVM 的 IP 是 192.168.1.100,可以在文件 /etc/network/interfaces 中更改。请更改以上所有密码以保护虚拟机。
7个链接
- Samba:http://www.samba.org/
- Debian:http://www.debian.org/