- PR -

Windows2003 Server と Samba3

1
投稿者投稿内容
あろん
会議室デビュー日: 2005/08/05
投稿数: 5
投稿日時: 2005-08-05 21:45
こんにちは。
現在、Samba3をActiveDirectoryに参加させて、テストを行っています。
ADへの参加と認証、書き込みなどは、うまくいったのですが、ファイルのアクセス権が
うまくいきません。

Windows上からAdministrator権限で、Sambaサーバ上にファイルを作成し、セキュリティ
のタブを見ると、

Administratorにフルコントロール
Domain Userに読み込み権限
Everyoneに読み込み権限

が付きます。所有権は、Administratorになります。

この状態で、Domain UserとEveryoneの権限を削除し、適用を押すと、
3つのユーザは残ったままで、

Administratorにフルコントロール
Domain Userになし
Everyoneになし

となります。Windowsの場合、Administratorだけになります。
とりあえず、権限としては良いのですが、余計な権限が残ってしまい困っています。

また、ファイルの所有者を変えようとすると、エラーが発生して変える事ができません。
これも、Windowsなら、変える事ができるようです。

やはり、Windowsと同じような動作をさせることはできないのでしょうか?

以下、smb.confの中身になります。

[global]
dos charset = CP932
unix charset = EUCJP-MS
display charset = EUCJP-MS
workgroup = TEST
realm = TEST.COM
netbios name = SAMBA
server string = SAMBA
security = ADS
password server = 192.168.0.100
ldap ssl = no
idmap uid = 40000-50000
idmap gid = 40000-50000
create mask = 0764
directory mask = 0775
force unknown acl user = Yes
map acl inherit = Yes

[home]
comment = HOME
path = /home
read only = No

[ メッセージ編集済み 編集者: あろん 編集日時 2005-08-05 21:48 ]
kaz
ぬし
会議室デビュー日: 2003/11/06
投稿数: 5403
投稿日時: 2005-08-05 23:01
こんばんわ.
引用:

あろんさんの書き込み (2005-08-05 21:45) より:

この状態で、Domain UserとEveryoneの権限を削除し、適用を押すと、
3つのユーザは残ったままで、

Administratorにフルコントロール
Domain Userになし
Everyoneになし


Samba とはいえ,結局 Linux の1つの application なのですから,
そこは Linux の仕組みに頼らざるを得ないと思いますし,
その意味で正常な動きだと思います.

以上,ご参考までに.
あろん
会議室デビュー日: 2005/08/05
投稿数: 5
投稿日時: 2005-08-05 23:49
返信ありがとうございます。

Linuxの仕組みに頼らざるを得ないということですが、
Sambaの動作が、

Windowsのファイル所有者=>Linuxのowner
Windowsのファイルアクセス権=>LinuxのACL

というかんじにマップしているようなので、なんとなく、同じような動作はするのかな
と思っていました。

実際、Windows上から変えられなかった、所有権や、3つのユーザの権限が残ったままに
なってしまう問題も、Linux上から、chmodやsetfaclなどでWindowsと同等の設定を
付けることができます。

個人的には、sambaのマップの設定で回避できるのかなと思っていたのですが、
そのような設定が見当たらなかった次第です。
kaz
ぬし
会議室デビュー日: 2003/11/06
投稿数: 5403
投稿日時: 2005-08-05 23:56
引用:

あろんさんの書き込み (2005-08-05 23:49) より:

Linuxの仕組みに頼らざるを得ないということですが、
Sambaの動作が、

Windowsのファイル所有者=>Linuxのowner
Windowsのファイルアクセス権=>LinuxのACL

というかんじにマップしているようなので、なんとなく、同じような動作はするのかな
と思っていました。


結果的には同じですよね?
なので,
引用:

kazさんの書き込み (2005-08-05 23:01) より:
引用:

あろんさんの書き込み (2005-08-05 21:45) より:

Administratorにフルコントロール
Domain Userになし
Everyoneになし




これは 700 という意味では?
効果としては Windows 上で実現されていることと同じですけど,
表現としては Linux などの UNIX そのものではないかと.
あろん
会議室デビュー日: 2005/08/05
投稿数: 5
投稿日時: 2005-08-06 00:29
なるほど。

UNIXでは、必ず3つの権限(Owner、Group、Other)を持ってしまうので、
表現上、Group、Otherで権限なしというのが残ってしまうって事ですね。

しょうがないと言えば、しょうがないということでしょうか。

#これで、途中で所有者を変えられない(エラーする)というのも
#なんとなく理解できます。
#でも、やり方によっては、矛盾なく所有者だけ替えられそうですが。。

くだらない質問に付き合わせてしまって。
もうしわけありませんでした。

また、質問するかもしれませんが、よろしくお願いいたします。
angel
ぬし
会議室デビュー日: 2005/03/17
投稿数: 711
投稿日時: 2005-08-06 08:17
おはようございます。

私も一度、samba と Windows の権限の違いに悩まされた事がありますが、Linux の ACL ( POSIX ACL ) と Windows の ACL では若干の差がありますからね…。仕方のないところではあるでしょう。
※ そもそも Windows の方が、権限に関しては細かいですし。

所有権に関しては、「root もしくは 相当の capability を持っている」状態でないと変更できないという Linux の仕様が絡んでいるのでしょう。
でも、dos filemodeパラメータの例もありますので、対応しても良いのにな…、という印象はあります。

ちなみに…、Linux 側で気を遣わないと、ACL でトラブルがおきる場合がありますので注意してください。
RHEL3 ( kernel2.4 ) では、
・ext3 で設定できる ACL のエントリー数が相当少なかったので、kernel を再構築する必要が出た。
※それとは別に、xfs 使おうとしたら文字化けの問題が出た、とかも。

・便利ツールである getacl, setacl がバグで動かない時があった。( バグジラの報告と同じでした… )

という嬉しい出来事を体験してしまいました… orz

訂正:
 getacl, setacl → getfacl, setfacl
 kernel を再構築 → kernelソースを編集して再構築

[ メッセージ編集済み 編集者: angel 編集日時 2005-08-06 09:08 ]
あろん
会議室デビュー日: 2005/08/05
投稿数: 5
投稿日時: 2005-08-07 12:35
こんにちわ。

お返事ありがとうございます。

私は、XFSを使って環境を構築しています。

LinuxのACLよりWindowsのACLの方が細かいようですが、実際使う設定としては、
LinuxもWindowsも必要最低限はあるような気がします(個人的見解ですが。。)。

Windows2003では、DOMAIN\Administratorならファイルにアクセス権がなくても、
所有者だけを別のユーザに変えるというウルトラ技ができてしまいます。

それをLinuxに置き換えると、所有者は、Ownerであるので、必ず、ファイルの
アクセス権を持っているので、所有者を変えることは、元のOwnerのアクセス権を削除
することにつながります。

Samba内部で、所有者の変更は、Ownerのアクセス権(デフォルトACL)を通常のACLに追加してから、Owner変更処理をしてもらいたいところです。

#Sambaのプラグインでできそうですが。。

ちなみに、admin usersにDOMAIN\Administratorを追加すると、ウルトラ技ができる
のですが、所有者を変更した瞬間に、上で言っている所有者のアクセス権がなくなります。。。



[ メッセージ編集済み 編集者: あろん 編集日時 2005-08-07 12:41 ]
コブラ
ぬし
会議室デビュー日: 2003/07/18
投稿数: 1038
お住まい・勤務地: 神奈川
投稿日時: 2005-08-07 13:53
Miracle Linux のsamba最新版を使って試してみましょう。
1

スキルアップ/キャリアアップ(JOB@IT)