サーバー(debian 6)マシン(たとえば、ip = 10.13.13.100)にnfsエクスポートを使用しています
/ etc/exports
/path/to/my/shared/folder 10.13.13.0/24(rw,async,no_sub_tree_check,no_root_squash)
このマシンにはadmin
(uid = 1000)とuser
(uid = 1001)の2人のユーザーがいます
クライアントマシン(debian 6でも)(たとえば、ip = 10.13.13.111)/ etc/fstab
10.13.13.100:/path/to/my/shared/folder/my/mount/point nfs rw、exec、user、owner 0 0
user
は1つしかありません(uid = 1000)
reboot
またはmount -a
の後、共有フォルダーは正常にマウントされますが、その上でファイルを実行できません(ファイルにexec権限がある場合でも)。ただし、このファイルシステム上のファイルの読み取りと書き込みは正常に機能します。
Noexecフラグが設定されている可能性があります。
原因は、/etc/fstab
で使用したuser
オプションであり、特にexec
オプションの前にuser
オプションを配置したことです。
man mount
から:
ser:通常のユーザーにファイルシステムのマウントを許可します。 ...このオプションは、オプションnoexec、nosuid、およびnodev(subsequentオプション、オプション行ser、exec、dev、suid)と同様。
この動作はセキュリティ上の理由によるものだと思います。とにかく、user
を使用するときは常に、exec
オプションを追加する必要があります。これはafteruser
オプションにする必要があります。 noexec
は、user
に含まれています。
Client:/ etc/fstabの内容を次のように変更して問題を修正しました。
10.13.13.100:/path/to/my/shared/folder/my/mount/point nfs rw、exec 0 0