Sanストレージに接続されているIBMAIXサーバー(serverA)が1つあります。ボリュームグループとファイルシステム(jfs2)を作成し、ディレクトリ/ profitにマウントしました。
その後、そのディレクトリ用のNFS共有を作成し、NFSデーモンを起動しました。
IBM AIXでもある別のサーバー(serverB)で、マウントポイント/ profitを作成し、次のコマンドを使用してserverAからserverBにnfs共有をマウントしました。mount 192.168.10.1:/profit/profit
ServerBでは、ディレクトリにアクセスして、その中のファイルを一覧表示できます。しかし、奇妙なことに、serverAでは、ディレクトリとファイルはOracleユーザーの所有権の下にあります。しかし、serverBでは、私はそれらを別のユーザーとして見ています。
ServerB、serverAのそのディレクトリにあるファイルに触れると、別のユーザーIDとして表示されます。
これを修正する方法はありますか?
以下はserverBからのファイルリストです
$ ls -l
total 0
-rwxrwxrwx 1 root system 0 Mar 16 15:00 haha
-rwxrwxrwx 1 radiusd radiusd 0 Mar 16 15:19 haha2
-rwxrwxrwx 1 radiusd radiusd 0 Mar 16 15:31 haha3
-rw-r--r-- 1 Oracle oinstall 0 Mar 17 2011 hahah3
drwxrwxrwx 2 radiusd radiusd 256 Mar 16 14:40 lost+found
ServerAでは、次のようになります。
# ls -l /profit
total 0
-rwxrwxrwx 1 root system 0 Mar 16 15:00 haha
-rwxrwxrwx 1 Oracle dba 0 Mar 16 15:19 haha2
-rwxrwxrwx 1 Oracle dba 0 Mar 16 15:31 haha3
-rw-r--r-- 1 10 sshd 0 Mar 17 16:01 hahah3
drwxrwxrwx 2 Oracle dba 256 Mar 16 14:40 lost+found
以下はserverAの/ etc/exportsファイルです
# more /etc/exports
/profit -vers=3,sec=sys:krb5p:krb5i:krb5:dh,rw
ありがとう。
各NFSクライアントシステムは、ローカルシステムの / etc/passwd を使用してローカルに数値UIDを検索するか、集中ユーザーデータベースでユーザー名を決定することに注意してください。 NFSサーバーは、UIDを数値形式でのみ保存し、ユーザー名を認識しません。これは、グループ名とGIDにも当てはまります。
あなたの場合、serverAとserverBは/ etc/passwdにリストされている異なるユーザー名を持っている必要があります
これをテストするには、長い(-l)出力でユーザー名またはグループ名に変換するのではなく、ls -n
を使用してユーザーIDとグループIDを数値で表示します。 ls -n
オプションがAIXで使用できない場合は、この機能のマンページを参照してください。
ユーザー名からuidへのマッピングを確認するには、serverAとserverBの両方で次のいずれかを実行します。
grep $THEUSERID /etc/passwd
または、getent
を使用することをお勧めします。これは、/ etc/password、およびディレクトリサービス(LDAPなど)で機能するためです。
getent passwd $THEUSERID
UIDは両方のシステムで同じである必要がありますが、ユーザー名は異なります。
あなたは私がNFSエクスポートのナンバーワンルールと呼んでいるものに反対しました:
クライアントがサーバーと同じUIDマッピングを使用しない限り、マウントをクライアントに書き込み可能としてエクスポートしないでください。
つまり、ファイルサーバーの所有者は、すべての潜在的なNFSクライアントが同じ集中型ユーザーデータベース(NIS、NIS +、LDAP、Kerberosなど)を使用することを要求する必要があります。
私もあなたの問題に遭遇しました これで解決するように管理されています :
確かに、 NEED_IDMAPD
がファイルに設定されていません/etc/default/nfs-common
クライアント側。
設定NEED_IDMAPD=yes
クライアントでも問題を解決しました。これで、クライアントはユーザー名とグループを正しく表示します。