我已将其安全性降低到几乎为 0。我试过了security = user
。我无论如何也看不到我的 Windows 机器上的这些共享驱动器。我的 netbios 名称也与我的工作组名称相同。如果有人能告诉我这里是否有问题,那就太好了。
[global]
workgroup = SOLARSYSTEM
netbios = SUN
server string = Solarsystem Samba Server
security = share
force user = dwarf
[movies]
comment = entire shared drive
path = /mnt/media/movies
read only = no
guest ok = yes
writable = yes
答案1
关于 samba 配置文件,您需要了解几件事。好吧,我在撒谎。您需要了解的事情有很多(我不得不花几天时间阅读手册)。但总而言之,这取决于您从哪里共享文件夹。
如果文件夹里面您的主文件夹,您只需右键单击该文件夹,选择共享并按照提供的选项进行操作即可。简单的解决方案。
如果文件夹外部例如,在 中/media/username/movies
,共享文件夹的最快方法是将 username 放入[global]
smb.conf 文件中的部分force user = USERNAME
,其中 username 是您的用户名或共享文件夹的所有者。这有几个安全隐患,但尽管如此,如果您在 LAN 上并且信任组中的其他人,这仍然是最快的共享方式。
如果您已经针对每种情况执行了上述 2 项操作,则需要检查您是否确实在同一个 LAN 网络(检查 IP 类别)、同一个子网和同一个工作组中。对于后者,您可以在变量下的 smb.conf 中更改工作组workgroup =
。
如果您已完成上述所有步骤,那么我们继续查看权限是否正确:
- 共享文件夹是否确实以用户名作为所有者?
- 共享文件夹是否具有读/写/执行权限?
- 您能从另一台 Ubuntu PC 或其他版本的 Windows 访问共享文件夹吗?
根据这些答案,您很可能知道问题出在哪里。大多数情况下,就我而言,这是 Windows 8 的问题。Windows 8 有几个选项,您需要在“网络和共享”菜单中更改这些选项才能正确查看 LAN(这不仅适用于查看 Ubuntu 共享资源,也适用于其他 Windows 版本,如 XP 和 7)。
有一些工具可以简化主文件夹之外的文件夹共享,例如包system-config-samba
,但它们在一定程度上有所帮助。您还可以查看man smb.conf
有关此文件的大量信息,特别是有关安全性的部分,我建议您阅读此https://www.samba.org/samba/docs/man/Samba-HOWTO-Collection/ServerType.html#id2559439这比手册页更赏心悦目。特别是关于 的部分security = user
。
/media/cyrex/movies
下面是一个适用于同一 IP 范围和工作组中的另一台 Windows 7、Windows 8 和 2 台 Ubuntu PC的 Samba 共享示例:
[global]
workgroup = WORKGROUP
server string = %h server (Samba, Ubuntu)
dns proxy = no
force user = cyrex
log file = /var/log/samba/log.%m
max log size = 1000
syslog = 0
panic action = /usr/share/samba/panic-action %d
encrypt passwords = true
obey pam restrictions = yes
unix password sync = yes
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
pam password change = yes
map to guest = bad user
usershare allow guests = yes
[printers]
comment = All Printers
browseable = no
path = /var/spool/samba
printable = yes
create mask = 0700
[print$]
comment = Printer Drivers
path = /var/lib/samba/printers
[movies]
path = /media/cyrex/titan/movies
browseable = yes
guest ok = yes
我添加的唯一行是部分force user = cyrex
中的[global]
和部分,这[movies]
是由system-config-samba
应用程序制作的,但您也可以手动完成。
此后,只需sudo service smbd restart
等待几秒钟/几分钟,交换机/路由器/网络设备即可更新。