NFSv4 を使用して Ubuntu クライアントに QNAP ストレージをマウントすると、クライアントのユーザー名をサーバーのユーザー名にマップできません (UID 対応を使用したくありません)。私の場合、クライアントとサーバーの両方で UID とユーザー名が同じではありません。
サーバー (QNAP):
NFSv4 共有を有効にしてから、共有ディレクトリ ( shared_dir
) を次のように構成しました。
- Host/IP/Network = <client IP addr>
- Permissions = r/w
- Squash option = NO_ROOT_SQUASH
ファイル/sys/module/nfs/parameters/nfs4_disable_idmapping
をから'Y'
に変更しました'N'
(他のフォーラムの回答で読んだことによると)。
QNAP を再起動しました
/etc/idmapd.conf
現在、次のようなファイルを変更していません。
[General]
Verbosity = 9
Pipefs-Directory = /var/lib/nfs/rpc_pipefs
Domain = localdomain
[Mapping]
Nobody-User = guest
Nobody-Group = guest
クライアント (Ubuntu 16.04):
nfs-common
は既にインストールされているので、私が書いたサーバーについて'N'
は /sys/module/nfs/parameters/nfs4_disable_idmapping
.
/etc/idmapd.conf
さらに、次のようにファイルを変更しました。
[General]
Verbosity = 0
Pipefs-Directory = /run/rpc_pipefs
# set your own domain here, if id differs from FQDN minus hostname
Domain = localdomain
[Mapping]
Nobody-User = nobody
Nobody-Group = nogroup
[Translation]
Method=static
[Static]
jameswhite@<QNAP IP addr> = james
次に、再起動を実行しましたservice nfs-idmapd restart
(なぜ認証を求められるのかわかりませんがorg.freedesktop.systemd1.manage-units
、これは私の問題には関係ないと思います)
最後に、QNAP を次のようにマウントしました。
sudo mount -v -t nfs4 <QNAP IP addr>:/shared_dir /mnt/shared_dir