![访问sshfs挂载文件系统的串口](https://linux22.com/image/152960/%E8%AE%BF%E9%97%AEsshfs%E6%8C%82%E8%BD%BD%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F%E7%9A%84%E4%B8%B2%E5%8F%A3.png)
我正在尝试读取/dev/ttyUSB0
通过 sshfs 安装的另一台计算机,但是诸如cat /mnt/tmp1/dev/ttyUSB0
return之类的命令“没有权限”(我正在将文件系统安装到/mnt/tmp1
)。
- 我已经以 root 身份安装了文件系统
# The machine whos serial port I want to access is called "trogdor"
sudo sshfs -o allow_root -o IdentityFile=$HOME/.ssh/id_rsa root@trogdor:/ /mnt/tmp1/
- 我可以以 root 身份在文件系统中执行其他操作,因此我非常确定我对已安装的文件系统具有 root 权限。
- 在 ssh 会话中我猫
cat /dev/ttyUSB0
没有问题。
答案1
/dev 中的大多数内容都是特定设备的内核入口点。通过访问设备文件,您实际上仍在本地系统上打开设备,而不是在远程服务器上。作为一个极端的例子,您可以拥有一个从网络启动的系统,并且根驱动器是 NFS 安装。在本地服务器上,根分区可能/dev/sda1
与远程服务器上具有相同的路径。哪一个优先?
答案2
诸如 sshfs 之类的网络文件系统仅提供读取远程主机上的文件和目录的能力。即使您可以将远程系统上的设备文件包含在已安装的文件系统中,但这并不意味着您可以与远程主机上的底层设备驱动程序进行交互。