我正在使用 Samba 客户端尝试从 Linux 查看驻留在 Windows-10 64 位计算机上的共享目录。Samba 安装在我的 xUbuntu 18.04 64 位笔记本电脑上。XUbuntu 与普通 Ubuntu 一样,只是它使用我喜欢的 XFCE 桌面。我对我的 /etc/samba/smb.conf 做了一些更改,但不清楚具体需要做什么。
两台计算机都属于“FSI”工作组。我启动了 smbd 和 nmbd 服务。然后,从 Linux 笔记本电脑上的文件资源管理器,我可以转到 FSI 工作组并查看 Windows 计算机 {名为“TIBERIUS”} 以及 Linux 笔记本电脑 {名为“XENOBA-LIN”}。但我无法查看共享目录或 TIBERIUS 上的任何目录。当两台计算机重新启动到 Windows 时,我就可以查看了。
我不希望 Linux 笔记本电脑成为服务器,因为它只是偶尔连接到网络。Windows 计算机应该是主要的名称服务器和服务器。这是我在 Linux 计算机上的 smb.conf 的缩写副本。
/etc/samba/smb.conf
#======================= Global Settings =======================
[global]
## Browsing/Identification ###
# Change this to the workgroup/NT-domain name your Samba server will part of
workgroup = FSI
# server string is the equivalent of the NT Description field
server string = %h server (Samba, Ubuntu)
# Windows Internet Name Serving Support Section:
# WINS Support - Tells the NMBD component of Samba to enable its WINS Server
wins support = yes
# WINS Server - Tells the NMBD components of Samba to be a WINS Client
# Note: Samba can be either a WINS Server, or a WINS Client, but NOT both
# wins server = w.x.y.z
# This will prevent nmbd to search for NetBIOS names through DNS.
dns proxy = no
#### Networking ####
### note IP 192.168.1.72 is for Tiberius: the remote Windows machine ####
### anyhow it's commented out I think ###
; interfaces = 192.168.1.72/8 eth0
# Only bind to the named interfaces and/or networks; you must use the
; bind interfaces only = yes
####### Authentication #######
# Server role. Defines in which mode Samba will operate. Possible
# values are "standalone server", "member server", "classic primary
# domain controller", "classic backup domain controller", "active
# directory domain controller".
#
# Most people will want "standalone sever" or "member server".
# Running as "active directory domain controller" will require first
# running "samba-tool domain provision" to wipe databases and create a
# new domain.
server role = standalone server
# If you are using encrypted passwords, Samba will need to know what
# password database type you are using.
passdb backend = tdbsam
obey pam restrictions = yes
# This boolean parameter controls whether Samba attempts to sync the Unix
# password with the SMB password when the encrypted SMB password in the
# passdb is changed.
unix password sync = yes
# For Unix password sync to work on a Debian GNU/Linux system, the following
# parameters must be set (thanks to Ian Kahan <<[email protected]> for
# sending the correct chat script for the passwd program in Debian Sarge).
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
# This boolean controls whether PAM will be used for password changes
# when requested by an SMB client instead of the program listed in
# 'passwd program'. The default is 'no'.
pam password change = yes
# This option controls how unsuccessful authentication attempts are mapped
# to anonymous connections
map to guest = bad user
########## Domains ###########
############ Misc ############
# all the usual defaults here except when listed
# Maximum number of usershare. 0 (default) means that usershare is disabled.
; usershare max shares = 100
# Allow users who've been granted usershare privileges to create
# public shares, not just authenticated ones
usershare allow guests = yes
我还会附上一张截图
答案1
但我无法查看共享目录或 TIBERIUS 上的任何目录
我不想让 Linux 笔记本电脑成为服务器,因为它只是偶尔连接到网络。
您的文件管理器的 gvfs 后端 ( gvfsd-smb-browse ) 中存在一个错误,它尝试使用 Win10 已禁用的 smb 方言 ( smb1 ) 访问 Win10 主机及其共享。
这并不意味着你无法访问 Win10 服务器 - 你只需要通过在 Thunar 中通过其 mDNS 主机名和共享名明确询问主机来绕过该错误:
smb://tiberius.local/share-name
该.local
部分是 Win10 现在可以默认执行的操作。
答案2
Samba 配置文件可能会令人困惑。
我向您展示如何使用图形工具(system-config-samba)来设置 Samba 服务器。
通过在终端运行以下命令从 Ubuntu 存储库安装 Samba 服务器套件。
sudo apt-get install --reinstall samba samba-common-bin
要启动这两个服务,请发出以下命令:
sudo systemctl start smbd
sudo systemctl start nmbd
现在运行以下命令来安装 system-config-samba
sudo apt-get install system-config-samba
sudo touch /etc/libuser.conf
创建 Samba 用户,将用户名替换为您喜欢的用户名
sudo adduser username
为新用户设置密码,您可以按回车键回答剩余的问题
还需要为用户设置单独的Samba密码。
sudo smbpasswd -a username
启动system-config-samba,运行以下命令
sudo system-config-samba
在 Samba GUI 中,单击首选项 ---> 服务器设置菜单。
确保工作组的值与Windows计算机的工作组设置相同。
然后单击加号按钮创建 Samba 共享,并在“基本”选项卡中指定
The directory/folder you want to share
The share name
A description of the share
Whether the remote user can write to the Samba share or not
Whether other computers in your network can see the Samba share or not
在访问选项卡中,选择刚刚创建的 Samba 用户,然后单击确定。
如果没有显示 Samba 用户,请重新启动 system-config-samba。
如果选择允许所有人访问,则同一网络中的其他人无需输入用户名和密码即可访问共享文件夹。
您可以使用 Samba 和 Thunar 快速共享文件夹,而无需 root 访问权限。