%20%3D%204294967294%E3%80%81%E3%83%9E%E3%82%A6%E3%83%B3%E3%83%88%E3%81%A7%E3%81%BB%E3%81%A8%E3%82%93%E3%81%A9%E4%BD%95%E3%82%82%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82%E3%81%A9%E3%81%86%E3%81%99%E3%82%8C%E3%81%B0%E4%BF%AE%E6%AD%A3%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%99%E3%81%8B%3F.png)
ここでは少し奇妙な設定が行われています。クライアントとして Android を使用していますが、そのカーネルは NFSv4 をサポートしておらず、サーバー側の /etc/exports ファイルにも NFSv4 スタイルのエントリがありません。
私はいくつかのツールチェーン(携帯電話に gcc-4.8-armhf などすべてをインストールし、必要に応じてインストールできるようにリポジトリを設定した apt-get もインストールしています)と LFS をビルドしようとしていますが、ファイルの所有権などを設定できないため、perl などの一部のプログラムをビルドできません。
私の /etc/exports (サーバー):
/media/usb3/Android 192.168.1.209(rw,sync,subtree_check,no_root_squash)
Aはls -l
次のようになります(クライアント):
drwxr-xr-x 6 4294967294 4294967294 4096 Jun 21 17:23 toolchains
-rw-r--r-- 1 4294967294 4294967294 0 Jun 25 18:51 rootu
A はsudo chown root:root
次のようになります (クライアント) (rootu は単なるテスト ファイルです):
sudo chown root:root rootu
chown: changing ownership of `rootu': Invalid argument
私のマウントコマンド(クライアント):
sudo mount -t nfs 192.168.1.210:/media/usb3/Android /home/edge-case/Android-Lab/ -o tcp
私はマニュアルページを調べ、いくつかのチュートリアルや他の質問を読みましたが、それらはすべて no_root_squash を設定するように指示しており、私は最初からそうしていましたが、それは機能しません。
現時点では、LDAP や Kerberos、または高度な認証設定は行っていません。これらはすべて、現時点では私のスキル (および 0 の報酬) レベルを超えています。私は自宅にいるので、すべてのものの完全なルート アクセスと所有権を持っており、ウォードライバー以外はセキュリティについてあまり心配していませんが、ワイヤレス パスワードはしっかりしているので、アルミホイルの帽子は私には本当に必要ありません ;P
以前はこれで動いていたのですが、Debian に何らかの変更が加えられたようで、もううまく動作しなくなってしまいました。Windows エージェントが Linux ソースを台無しにしているのでしょうか? 冗談です
これは一体何なのでしょうか? クライアントやサーバーに存在しない奇妙な「4294967294」ユーザーではなく、自分が所有するファイル、または選択した場合は root (sudo chown 経由) を含むディレクトリをマウントする簡単な方法はどこにありますか?
答え1
質問した直後にこのことに気づくのは嫌だ。
私は
/system/xbin/busybox mount -t nfs /path/to/share /path/to/mountpoint -o tcp,nolock
これは機能し、ファイルはクライアント上のユーザー「10001:10001」によって所有されるようになりましたが、これは厄介な解決策です。busybox mount
オプションなしで Cyanogenmod を使用するとnolock
アクセス許可が拒否されますが、オプション付きで Debian のマウントを使用すると、nolock
奇妙な UID:GID 所有権が残ります。
したがって、現在動作する唯一の方法は、Cyanogenmod の を使用することですbusybox mount
。Debiannolock
で使用してもnolock
IDmount
の問題は修正されず、nolock
Cyangenmod で を使用しないと、権限が拒否されます。
適切な解決策としては、それぞれのソースを調べて、Debian のmount
コマンドを Cyan のコマンドと同じパッチで再構築し、なぜ が必要なのかを理解することだと思いますnolock
が、必要ないと思います。リンカー/ライブラリの問題でしょうか? わかりません。現時点では私にはわかりません。