As Good A Place As Any

Tim Thomas's Blog

Thursday May 01, 2008

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 GuideTroubleshooting Information

また Open Solaris Storage Discuss Forum への参加もご検討ください

Comments:

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 #

Post a Comment:
Comments are closed for this entry.
A Day At The Seaside

Calendar

About Me

View Tim Thomas's profile on LinkedIn

Available in

English

简体中文

日本語

Feeds

Search

Links

Navigation