As Good A Place As Any
Tim Thomas's Blog
Solaris CIFS への Windows SID のマッピング - 概要
この記事は「OpenSolaris CIFS サーバーをドメインモードで構成」の続きです。 共有をマッピングしたとき、ワークグループモードとは異なり、ユーザー ID とパスワードの入力を求められませんでした。では、ファイルやフォルダの所有権やアクセス権はどのように扱われているのでしょう。
Solaris CIFS の実装部分には ID マッピングサービスが含まれています。 このサービスにより、Windows の SID (Security IDentifier) を Solaris のユーザーID (および必要であればグループ ID) に明示的にマップできます。ただし明示的にマップしない場合、ID マッピングサービスが Windows ユーザー向けにエフェメラルな Solaris ユーザー ID およびグループ ID を生成します。 Solaris CIFS Administrators Guide では ID マッピングの方法について説明しています。
直前の実行の最後に作成されたファイルとディレクトリに関するアクセス権は、Solaris で一覧にすると次のようになります。
root@isv-x4500b # pwd
/tank/cifs1
root@isv-x4500b # ls -l
total 10
d---------+ 2 2147483649 2147483650 2 Apr 8 05:49 user1
----------+ 1 2147483649 2147483650 0 Apr 8 05:57 user1.txt
d---------+ 2 2147483650 2147483650 3 Apr 8 05:50 user2
----------+ 1 2147483650 2147483650 0 Apr 8 05:51 user2.txt
これは少々奇妙に思えます。というのも、OpenSolaris の CIFS サービスは ZFS ACL を使用しており、それが一覧に表示されていないからです。 現在の ID マッピングをダンプしてみると、次のようになります。
root@isv-x4500b # idmap dump
usid:S-1-5-21-500772251-2770406677-2360070262-1125 == uid:2147483650
usid:S-1-5-21-500772251-2770406677-2360070262-1113 == uid:2147483649
gsid:S-1-5-21-500772251-2770406677-2360070262-513 == gid:2147483650
gsid:S-1-5-21-500772251-2770406677-2360070262-512 == gid:2147483651
gsid:S-1-5-11 == gid:2147483652
gsid:S-1-5-2 == gid:2147483653
gsid:S-1-5-32-544 == gid:2147483654
Windows SID が Solaris のユーザー ID とグループ ID にマップされています。ユーザーへのマッピングは即座に作成されます (エフェメラルな ID マッピング)。Windows のグループ SID マッピングはシステムレベルの処理中に生成され、こちらの一覧を参考にすれば解読できます。 これによると、次のことが読み取れます。
Windows Group SID xxxxxx-513 = Domain Users = Solaris GID 2147483650
Windows Group SID xxxxxx-512 = Domain Admins = Solaris GID 2147483651
Windows Group SID xxxxxx-11 = Authenticated Users = Solaris GID 2147483653
Windows Group SID xxxxxx-2 = Network (ネットワーク経由でログインしたユーザー) = Solaris GID 2147483651
Windows Group SID xxxxxx-544= Administrators = Solaris GID 2147483654
作成したファイルとディレクトリは Domain Users グループにあり、それが Solaris GID の 2147483650 にマップされたことが分かりました。
この内容については今後さらに掘り下げるつもりです。今回は概要です。
詳細情報
OpenSolaris Project: CIFS Server のホームページ
Open Solaris CIFS Documentation と、Solaris CIFS Administrators Guide や Troubleshooting Information
また Open Solaris Storage Discuss Forum への参加もご検討ください
Posted at 09:00AM May 01, 2008 in Storage | Comments[1]
Windows端末から書き込んだファイルやフォルダにUNIX側で設定済みのSETGIDを適用することが出来ず困っております。
通常プロジェクトごとに共有と、専用グループを作成しており
/zpool/projXをnfsとcifsで共有したいのですが
chgrp projX projX
chmod 2775 projX
としても、Windowsから作成した場合に適用されません。
sambaではForce umaskなどを利用してましたが、このような機能はSolaris CIFS serverにはないのでしょうか?
Posted by u2st on December 26, 2008 at 04:46 AM GMT #