
私の NFS サーバーは、Microsoft Windows Services for Unix がインストールされた Windows XP SP3 ボックスです。
共有名 NFS と ANSI エンコードを使用して、C:\NFS の下に共有を構成しています。
匿名アクセスが有効になっており、匿名 UID/GID は 0/0 に設定されています。さらに、すべてのマシンを読み取り/書き込みに設定し、ルート アクセスを許可するチェックボックスをオンにしました。
私の最初のNFSクライアントは、nfs-commonがインストールされたUbuntu 10.04ボックスです。
sudo mount -t nfs 1.1.1.1:/NFS /home/user/NFS
成功しましたが、フォルダーを表示しようとすると (ルートとしてであっても)、フォルダーの内容を表示するために必要な権限がないというメッセージが表示されます。
私の 2 番目の NFS クライアントは、OS/400 V5R3 を実行している IBM iSeries ボックスです。以下のマウント コマンドを使用しました。
MOUNT TYPE(*NFS) MFS('1.1.1.1:/NFS') MNTOVRDIR('/PARENT/NFS') OPTIONS('rw,nosuid,retry=5,rsize=8096,wsize=8096,timeo=20,retrans=2,acregmin=30,acregmax=60,acdirmin=30,acdirmax=60,soft') CODEPAGE(*BINARY *ASCII)
これも正常にマウントされます。
WRKLNK '/PARENT/NFS'
オプション5を使用してディレクトリを入力すると、異議を申し立てる権限がありませんエラー - 私は *ALLOBJ 特殊権限を持つセキュリティ担当者ですが。
直感的には Windows 共有の問題だと思いますが、何が原因かわかりません。何かアドバイスはありますか?
答え1
使わない理由はサンバ*NIX ボックス上で? そうすれば、Windows から *NIX ボックス上の共有にアクセスしたり、*NIX ボックス上に Windows 共有をマウントしたりできるようになります。
「Microsoft Windows Services for Unix」、何だか読んでいるだけで胸焼けしそうになります。
答え2
ディレクトリとそのサブディレクトリに実行権限(Unix ではフォルダに適用された場合は「フォルダの一覧表示」を意味します)が付与されていることを確認しましたか?「フォルダの一覧表示」や「フォルダのトラバース」など、同等の Windows 固有の設定がある可能性があります。Everyone または NFS サーバーが実行している任意のユーザーに権限を付与します。スーパーユーザー/QSECOFR であっても問題ありません。クライアント一方、重要なのは、サーバーのアカウント ID にどのような権限があるのか、ディレクトリの権限は何か、クライアント ユーザー ID がどのサーバー ユーザー ID にマップされているのか (ID マッピングの場合ですが、ここでは当てはまりません) です。
ここでは当てはまりません: ディレクトリの権限その上エクスポートされたものでも同様のエラーが発生する可能性があります。たとえば、ディレクトリ c:\foo\bar\baz をエクスポートし、baz に適切な権限がすべて付与されているが、foo の権限では NFS サーバーが baz にアクセスできないとします。エラーです。
可能であればサーバーのログ記録をオンにして、ログを確認します。
答え3
XPについてはよく分かりませんが、Windows Server 2012でも同様の問題がありました。解決策は、ネットワークアクセス: 匿名ユーザーにEveryone権限を適用する政策設定セキュリティ設定\ローカル ポリシー\セキュリティ オプション。
このページで解決策を見つけました:
http://technet.microsoft.com/en-us/library/hh509019%28v=ws.10%29.aspx