从Pi客户端访问网络Samba共享


13

我一直在使用PC通过RPi上的Samba服务器访问RPi上的文件。

但是,有什么办法可以在Pi上打开Samba Connections吗?是否喜欢在RPi上浏览Windows PC Samba文件?


1
ftp会快得多
rav_kr 16'1

1
是的,我知道,但是在我所有的Windows PC上安装FTP服务器都很繁琐
Snazzy Sanoj

2
您需要一个samba 客户端。我敢肯定,如果您搜索“ linux samba客户端”,您会在网上找到许多此类解释,尽管当然其中有些实际上是关于使用客户端访问linux机器上的共享的,而不是相反的。我相信此的CLI实用程序是smbclient
goldilocks

@goldilocks谢谢,但是默认文件管理器打开Samba是否有任何解决方法?:)
时髦的萨诺伊(Sanoj Sanoj)

1
LXDE(Raspbian上的默认桌面环境)中的文件管理器是“ pacmanfm”,因此,如果搜索“ pacmanfm samba”,您应该会发现很多东西,例如,askubuntu.com/q/249678/239729我建议使用samba Linux上的东西通常是从U&L开始的。
goldilocks

Answers:


21

首先安装一些软件包:

apt-get install  samba-common smbclient samba-common-bin smbclient  cifs-utils

然后,创建一个本地目录并挂载远程共享:

mkdir /mnt/abc
mount -t cifs //server/share /mnt/abc

serverWindows计算机名(dns或netbios)在哪里,shareWindows共享目录在哪里。

根据您对Windows共享的访问权限,需要提供所需的凭据:如果您为共享提供“所有人”的读取(和写入)访问权限,则不需要任何其他操作,否则必须在安装时添加凭据:

mount -t cifs //server/share /mnt/abc -o user=user,pass=password,dom=domain

用您自己的凭据替换。
完成后,只需卸下共享:

umount /mnt/abc

+1这适用于将共享USB驱动器连接到调制解调器/路由器的USB端口的情况。如果您需要更多调试,请在'-o'之前添加'--verbose
Denja

我的凭据出现此错误:设备或资源繁忙。请参考mount.cifs(8)手册页(例如man mount.cifs)
Axel

我每次都要查一下该怎么做。这个答案非常清楚简洁。谢谢:)
Jobbo '19

sudo mount -t cifs -o username=guest,password=,vers=1.0 //192.168.0.1/sda1 /home/pi/router 我必须添加vers = 1.0才能与路由器smb共享一起使用
Harshil Lodhi

4

如果samba共享不需要任何凭据即可登录,并且您想在启动树莓派时挂载该共享,则以root用户身份编辑fstab文件

sudo nano /etc/fstab

并添加以下行

//server/share  /mnt/abc  cifs  guest  0  0

关闭并将更改保存到fstab文件

检查所有内容是否都应与

sudo mount -a

如果您的samba共享需要密码,则可以在fstab条目中使用以下内容进行连接。

//server/share  /mnt/abc cifs username=username,password=password  0  0

如果其他人都可以访问您的RPi或网络,则不是最好的方法,因为fstab可以被所有人读取,并且能够读取您的密码。

更好的解决方案是使用凭据文件。

nano ~/.smbcredentials

然后在文件中输入您的用户名和密码

username=username
password=password

保存文件并更改其权限,以便其他人无法读取。

chmod 600 ~/.smbcredentials

然后以root用户身份编辑fstab以添加您的samba共享

//server/share  /mnt/abc cifs credentials=/home/pi/.smbcredentials  0  0

再次测试

sudo mount -a

如果没有错误,则它将在您重新引导时自动安装共享。

只是为了补充一下,当有人问一个合理的问题时,我在论坛上注意到很多。人们为什么会以“为什么xxxxxx,yyyyy更好”这样的方式来回应。那不是他们问的,甚至没有帮助。


4

我的问题是相似的。我的目标是dd-wrt桑巴份额。

我的问题:无论如何都无法挂载它(同样fstab从RPi3)。

我遇到了从“无法将密码传递给对mount.cifs的引用”到“无效参数错误22”的错误。

我碰到了这篇文章,无法安装samba共享:安装错误(22)此答案表明解决方案是在上添加vers=1.0选项mount

希望对您有所帮助。


vers = 1.0也为我解决了这个问题。sudo mount -t cifs /// [远程IP地址] /下载/ mnt / abc -o vers = 1.0,user = [user]
Tridy

使用vers = 1.0也对我有用,sudo mount -o vers = 1.0 // [[NAS_IP] / nas / media / pi / nas
electronic1979

0

如果在尝试自动挂载共享后,您以某种方式遇到以下情况:树莓派将不再启动,将您置于“紧急模式”和/或告诉您根帐户已被锁定,则可以通过以下方法克服它:此处的说明:Raspberry Pi引导问题-根帐户已锁定!

未来链接步骤的摘要:

  1. 从Pi取回SD卡,然后使用适配器将该卡安装到PC,Mac或Linux。
  2. 您应该能够看到/bootSD卡的分区。
  3. 找到该文件,cmdline.txt并在该行的末尾添加以下内容。init=/bin/sh 注意:不要创建新行,只需将以上内容添加到当前行的末尾。
  4. 将SD卡加载回您的Pi并启动。
  5. 现在,您应该获得root shell提示符。在这里,您可以撤消对系统的更改/etc/fstab或其他最初破坏系统的更改。
  6. 在某些情况下,您将无法保存更改,并且系统将报告只读文件系统。如果可以,请转到下一步。

Raspberry Pi SD卡将具有两个主分区,因为我们无法直接读取分区表,因此必须手动为根分区和引导分区找到设备。您可以通过转到/dev目录来执行此操作,并且应该会看到类似于mmcblk0p1&的内容mmcblk0p2。第二个设备mmcblk0p2将是您的根分区。您需要使用读写权限重新安装它:

mount -o remount,rw /dev/mmcblk0p2 /

通过将SD卡安装在另一台计算机(Mac / Linux / Windows)上并在该计算机上编辑cmdline.txt文件,可以最轻松地完成此操作。

我使用错误的fstab条目对环境进行了愚弄,并且按照以下说明进行操作可以消除该错误。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.