我一直在使用PC通过RPi上的Samba服务器访问RPi上的文件。
但是,有什么办法可以在Pi上打开Samba Connections吗?是否喜欢在RPi上浏览Windows PC Samba文件?
smbclient
。
我一直在使用PC通过RPi上的Samba服务器访问RPi上的文件。
但是,有什么办法可以在Pi上打开Samba Connections吗?是否喜欢在RPi上浏览Windows PC Samba文件?
smbclient
。
Answers:
首先安装一些软件包:
apt-get install samba-common smbclient samba-common-bin smbclient cifs-utils
然后,创建一个本地目录并挂载远程共享:
mkdir /mnt/abc
mount -t cifs //server/share /mnt/abc
server
Windows计算机名(dns或netbios)在哪里,share
Windows共享目录在哪里。
根据您对Windows共享的访问权限,需要提供所需的凭据:如果您为共享提供“所有人”的读取(和写入)访问权限,则不需要任何其他操作,否则必须在安装时添加凭据:
mount -t cifs //server/share /mnt/abc -o user=user,pass=password,dom=domain
用您自己的凭据替换。
完成后,只需卸下共享:
umount /mnt/abc
sudo mount -t cifs -o username=guest,password=,vers=1.0 //192.168.0.1/sda1 /home/pi/router
我必须添加vers = 1.0才能与路由器smb共享一起使用
如果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更好”这样的方式来回应。那不是他们问的,甚至没有帮助。
我的问题是相似的。我的目标是dd-wrt桑巴份额。
我的问题:无论如何都无法挂载它(同样fstab
从RPi3)。
我遇到了从“无法将密码传递给对mount.cifs的引用”到“无效参数错误22”的错误。
我碰到了这篇文章,无法安装samba共享:安装错误(22),此答案表明解决方案是在上添加vers=1.0
选项mount
。
希望对您有所帮助。
如果在尝试自动挂载共享后,您以某种方式遇到以下情况:树莓派将不再启动,将您置于“紧急模式”和/或告诉您根帐户已被锁定,则可以通过以下方法克服它:此处的说明:Raspberry Pi引导问题-根帐户已锁定!。
未来链接步骤的摘要:
- 从Pi取回SD卡,然后使用适配器将该卡安装到PC,Mac或Linux。
- 您应该能够看到
/boot
SD卡的分区。- 找到该文件,
cmdline.txt
并在该行的末尾添加以下内容。init=/bin/sh
注意:不要创建新行,只需将以上内容添加到当前行的末尾。- 将SD卡加载回您的Pi并启动。
- 现在,您应该获得root shell提示符。在这里,您可以撤消对系统的更改
/etc/fstab
或其他最初破坏系统的更改。- 在某些情况下,您将无法保存更改,并且系统将报告只读文件系统。如果可以,请转到下一步。
Raspberry Pi SD卡将具有两个主分区,因为我们无法直接读取分区表,因此必须手动为根分区和引导分区找到设备。您可以通过转到
/dev
目录来执行此操作,并且应该会看到类似于mmcblk0p1
&的内容mmcblk0p2
。第二个设备mmcblk0p2
将是您的根分区。您需要使用读写权限重新安装它:
mount -o remount,rw /dev/mmcblk0p2 /
通过将SD卡安装在另一台计算机(Mac / Linux / Windows)上并在该计算机上编辑cmdline.txt
文件,可以最轻松地完成此操作。
我使用错误的fstab条目对环境进行了愚弄,并且按照以下说明进行操作可以消除该错误。