SSHFSを介して/ proc /ファイル(procfs)にアクセスする方法

SSHFSを介して/ proc /ファイル(procfs)にアクセスする方法

Ubuntu 16.04(アップデート提案を提供しないでください)がインストールされているシステムを使用して、/proc/Raspberry Pi 3B +(Linuxカーネルバージョン4.19.88)にSSHFS経由でインストールしました。

sshfs [email protected]:/proc ~/procAtPi
ls -la ~/procAtPi

SSH経由で直接接続したように、lsPiのすべてのファイルは問題なく表示されます。/procしかし、 を使ってファイルを読み込もうとすると、catここには何も表示されません。ファイル内容は、以下を介して直接接続した場合にのみ出力されます。

user@remote:~$ ssh [email protected]
[email protected]:~$ cat /proc/stat

SSHFSを介してアクセスされたprocfsからファイルを読み取る方法は?

私もいくつかの観察をしました。

  • sudo cat ~/procAtPi/stat結果を使用するとAccess denied(それで、rootは通常のユーザーよりもアクセス権が低いように見えますか?)、ファイル所有者はrootです。

    user@remote:~$ ls -lai ~/procAtPi/stat
          16 -r--r--r--   1 root             root                0 Dez 24 00:00 stat
    
  • 表示される所有者はアクセス権によって異なります。

    user@remote:~$ ls -lai ~/procAtPi/
         ...
         171 dr-xr-xr-x   1 user             user                0 Jan 20 09:18 11045
         ...
    [email protected]:~$ ls -lai /proc/
         ...
    2035700 dr-xr-xr-x   8 pi               pi                  0 Jan 20 09:18 11045
         ...
    
  • Piのsysfs()/sys/にあるファイルへのリモートアクセスが正しく機能しているようです。

/proc/stat現在のソリューションは、データを読み取ってTCP経由で使用できるようにするPiでサーバーを実行することです。ただし、これを行うには毎回手動でサーバーを起動する必要があります(必ずしも必要ではないため、自動起動を望まない)。私のPiクラスタを監視する同様のプログラムproc/statにアクセスする必要があります。htop

答え1

lsPiのすべてのファイルは、/proc私が直接渡したように問題なく表示されます。ただし、次のようにsshファイルを読み取ろうとするとcat

回避策として、-o direct_io次のオプションを使用してくださいsshfs

# sshfs localhost:/proc /mnt/tmp
root@localhost's password:
# cat /mnt/tmp/self/stat
<nothing!>
# umount /mnt/tmp

# sshfs -o direct_io localhost:/proc /mnt/tmp
root@localhost's password:
# cat /mnt/tmp/self/stat
8242 (sftp-server) R 8236 8242 8242 0 -1 4194560 335 0 0 0 0 0 0 0 20 0 1 0 1846105 2506752 441 18446744073709551615 94732486082560 94732486157085 140730261312560 0 0 0 0 0 0 0 0 0 17 3 0 0 0 0 0 94732486190800 94732486194248 94732486483968 140730261319328 140730261319357 140730261319357 140730261319643 0

バラよりこここのオプションが実行する操作の説明です。

以下のファイルの問題/procは、サイズがゼロの通常のファイルとして表示されますが、空ではなく読み取り時にデータが含まれることです。

この問題はSFTPプロトコルによるものではなく、限定されていませんsshfs

関連情報