我的网络工作方式是,我的 DHCP 服务器 (pfSense) 位于另一台服务器上,地址为 192.168.1.1。我的 Mac 服务器位于 192.168.1.2,而我的 TFTP 服务器(Debian 的最新版本)位于 192.168.1.3。
我在 DHCP 服务器上配置了 DHCP 选项 66 和 67,并在 Debian 服务器上安装了 tftpd-hpa 包。当我使用 USB 棒将 pxelinux 文件传输到 /srv/tftp 目录时,我能够从 PXE 服务器启动 PC,因此我知道 TFTP 工作正常。
问题出在 Samba 上。Debian 上预装了 Samba,我也尝试过使用 aptitude 删除并重新安装它。我想使用 Samba 为 /srv/tftp 目录提供服务,并使用我使用“adduser”创建的非 root 帐户对 Samba 共享进行身份验证。我已将以下内容添加到我的 /etc/samba/smb.conf 文件中:
[tftp]
comment = tftp directory
writeable = yes
locking = no
path = /srv/tftp
然后,我使用将我的用户帐户添加到 Samba 的密码列表中,smbpasswd -a myusername
然后我就可以在 iMac 和 Windows PC 上看到共享。当我尝试在任一设备上安装驱动器时,Windows PC(Win7)会显示无法访问共享,而我的 Mac 会显示以下内容:
如果我访问驱动器,它就可以看到共享,因为它出现在我的主文件夹的共享旁边,但 tftp 共享无法安装,而主文件夹可以安装。
答案1
将您的 Windows 工作组、安全和共享模式添加到 smb.conf 的全局部分
[global]
...
workgroup = MY_WG
security = share
share modes = yes
[tftp]
comment = tftp directory
read only = no
create mode = 0750
locking = no
path = /srv/tftp
guest ok = no
通过以下方式将自己添加为 Samba 用户
# smbpasswd -a myusername
您必须通过以下方式重新启动守护进程
# /etc/init.d/samba restart
请注意,/srv/tftp 挂载点必须赋予 777 权限,以便每个人都可以对其进行写入。
chmod 777 /srv/tftp
如果需要,您可以使用更严格的掩码(请编辑 [tftp] 部分下相应的“创建模式”变量)。