NFS サーバー : Linux との簡易ユーザーマッピング2024/12/06 |
非 Active Directory ドメイン環境における Windows - Linux 間での NFS 利用時に、簡易的なユーザーマッピングをしたい場合は以下のように設定します。 |
|
[1] | Linux 側のユーザー/グループ情報を確認します。 |
root@dlp:~# cat /etc/passwd ..... ..... ubuntu:x:1000:1000:ubuntu:/home/ubuntu:/bin/bash debian:x:1001:1001:,,,:/home/debian:/bin/bash redhat:x:1002:1002:,,,:/home/redhat:/bin/bash root@dlp:~# cat /etc/group ..... ..... users:x:100:debian,redhat ubuntu:x:1000: debian:x:1001: redhat:x:1002: |
[2] | Windows 側で、簡易マッピングのファイルを作成します。 |
Windows PowerShell Copyright (C) Microsoft Corporation. All rights reserved. PS C:\Users\Serverworld> New-Item C:\Windows\System32\drivers\etc\passwd Directory: C:\Windows\System32\drivers\etc Mode LastWriteTime Length Name ---- ------------- ------ ---- -a---- 12/5/2024 8:23 PM 0 passwd PS C:\Users\Serverworld> New-Item C:\Windows\System32\drivers\etc\group Directory: C:\Windows\System32\drivers\etc Mode LastWriteTime Length Name ---- ------------- ------ ---- -a---- 12/5/2024 8:23 PM 0 group # 例として ユーザー winuser01 ⇔ debian をマッピング PS C:\Users\Serverworld> Add-Content C:\Windows\System32\drivers\etc\passwd ` "winuser01:x:1001:1001:debian::" # 例として ユーザー winuser02 ⇔ redhat をマッピング PS C:\Users\Serverworld> Add-Content C:\Windows\System32\drivers\etc\passwd ` "winuser02:x:1002:1002:redhat::" # 例として グループ BUILTIN\Users ⇔ users をマッピング PS C:\Users\Serverworld> Add-Content C:\Windows\System32\drivers\etc\group ` "BUILTIN\Users:x:100:users" # 例として グループ BUILTIN\Users ⇔ debian をマッピング PS C:\Users\Serverworld> Add-Content C:\Windows\System32\drivers\etc\group ` "BUILTIN\Users:x:1001:debian" # 例として グループ BUILTIN\Users ⇔ redhat をマッピング PS C:\Users\Serverworld> Add-Content C:\Windows\System32\drivers\etc\group ` "BUILTIN\Users:x:1002:redhat" |
[3] | 設定した各ユーザーがアクセスできるように、アクセス権の設定をしておきます。 |
# Windows NFS サーバーの場合 共有のルートフォルダーに Everyone の読み取り実行権を付与 PS C:\Users\Serverworld> icacls C:\nfsshare01 /grant "Everyone:(NP)(RX)" processed file: C:\nfsshare01 Successfully processed 1 files; Failed processing 0 files # Windows / Linux どちらが NFS サーバーの場合でも 事前に各ユーザーがアクセスできる専用のフォルダーを作成 # Windows NFS サーバー # * winuser01 ⇔ debian がアクセス可 PS C:\Users\Serverworld> mkdir C:\nfsshare01\winuser01 PS C:\Users\Serverworld> icacls C:\nfsshare01\winuser01 /setowner winuser01 processed file: C:\nfsshare01\winuser01 Successfully processed 1 files; Failed processing 0 files # Linux NFS サーバー # * winuser02 ⇔ redhat がアクセス可 root@dlp:~# mkdir /home/nfsshare/redhat root@dlp:~# chown redhat:redhat /home/nfsshare/redhat |
[4] | Linux NFS クライアントから 設定したユーザーでログインして、Windows NFS サーバーへのマッピングの確認をします。 |
root@dlp:~# mount -t nfs 10.0.0.101:/nfsshare01 /mnt root@dlp:~# su - debian debian@dlp:~$ ll /mnt total 5 drwxr-xr-x 2 4294967294 4294967294 64 Dec 6 06:07 ./ drwxr-xr-x 23 root root 4096 Apr 26 2024 ../ drwx------ 2 debian 4294967294 64 Dec 6 06:07 winuser01/ debian@dlp:~$ echo test > /mnt/winuser01/testfile.txt debian@dlp:~$ ll /mnt/winuser01 total 2 drwx------ 2 debian 4294967294 64 Dec 6 06:08 ./ drwxr-xr-x 2 4294967294 4294967294 64 Dec 6 06:07 ../ -rw-rw-r-- 1 debian debian 5 Dec 6 06:08 testfile.txt |
[5] | Windows NFS クライアントから 設定したユーザーでサインインして、Linux NFS サーバーへのマッピングの確認をします。 |
PS C:\Users\winuser02> mount.exe 10.0.0.30:/home/nfsshare Z:\ PS C:\Users\winuser02> Get-ChildItem Z:\ Directory: Z:\ Mode LastWriteTime Length Name ---- ------------- ------ ---- d----- 12/5/2024 9:51 PM redhat PS C:\Users\winuser02> Add-Content Z:\redhat\testfile.txt "test file" PS C:\Users\winuser02> Get-ChildItem Z:\redhat Directory: Z:\redhat Mode LastWriteTime Length Name ---- ------------- ------ ---- -a---- 12/5/2024 10:10 PM 11 testfile.txt PS C:\Users\winuser02> ssh redhat@10.0.0.30 "ls -l /home/nfsshare/redhat" redhat@10.0.0.30's password: total 4 -rw-r--r-- 1 redhat redhat 11 Dec 6 06:10 testfile.txt |
Sponsored Link |
|