• 検索結果がありません。

10.3.1 [global]セクション

10.5   ファイルサーバーの構築

10.5.3  共有レベルのアクセス管理

Sambaをファイルサーバーとして運用するときには、複数の共有を作成して、グループ単位でアクセス可能な共

有を制限することが一般的なアクセス管理手法です。Sambaでは、さまざまなパラメータを用いて共有へのアクセ スを管理できます。また、共有内で作成されるファイルやディレクトリに関するルールもあわせて設定することで、柔 軟なアクセス管理を実現しています。

図10-6 homes共有機能によるファイル共有

10.5 ファイルサーバーの構築

(1)共有へのアクセス制限

smb.confファイルの各共有セクションごとに、アクセス管理のためのパラメータを設定できます。主要なパラメー

タについて説明します。

write list

このパラメータに設定されたユーザーとグループは共有上のファイルに対して、更新権と参照権が与えられま す。このパラメータに設定されたユーザーは、read onlyパラメータがyesに設定されている共有に対しても、更 新権を持ちます。グループ名で指定するときには、「@グループ名」の形式で指定します。

read list

このパラメータに指定されているユーザーは、read onlyパラメータの設定に関係なく参照権しか与えられませ ん。write listパラメータと同様にグループ名での指定も可能です。なお、write listパラメータとread listパラメー タの両方に指定されたユーザーは、write listパラメータの設定が優先されます。

invalid users

このパラメータに設定されたユーザーは、この共有にアクセスできなくなります。

valid users

既定値では、何も指定されていません。このパラメータが設定されていない状態であれば、どのユーザーでも 共有にアクセスできます。いったん、このパラメータに値が設定されると、このパラメータに設定されていないユー ザーは、共有にアクセスできなくなります。invalid usersパラメータとvalid usersパラメータの両方に同じユーザー が指定された場合、invalid usersの設定が優先されます。

admin users

このパラメータに設定したユーザーは、この共有内ではroot権限を持ってファイル操作を行うことが可能になり ます。つまりすべての操作が許可されることになるため、設定や使用には細心の注意が必要です。

次の例は、共有[project]に対して、projectグループのメンバーとmanagerグループのメンバーが参照・更新可 能で、testグループのメンバーは参照のみが可能になるように設定をしています。その他のユーザーはアクセスが 拒否されます。

[project]

path = /var/samba/project read only = no

browseable = yes

write list = @project, @manager read list = @test

valid users = @project, @manager, @test

(2)ファイル・ディレクトリ作成時の権限制限

ユーザーが共有上に新しくファイルを作成するとき、その他のユーザーとのアクセス権の兼ね合いで、ある属性 を強制したいことがあります。このような場合に備えて、共有単位でファイルやディレクトリの新規作成時の属性を 管理できます。

create mask

ファイルを作成する際のファイル属性のマスクを4桁の8進数で指定します。既定値は0744です。このマスク 値として設定されていないビットは、新規に作成するファイルの属性から削除されます。したがって、既定値の 0744のマスクであれば、所有者の参照権・更新権・実行権、グループの参照権、その他の参照権以外の属性 は必ず削除されます。

directory mask

ディレクトリを作成する際のディレクトリ属性のマスクを4桁の8進数で指定します。既定値は0755です。この マスク値として設定されていないビットは、新規に作成するディレクトリの属性から削除されます。したがって、

既定値の0755のマスクであれば、グループの更新権、その他の更新権は必ず削除されます。グループ内の メンバーが自由にディレクトリ内を操作するためには、既定値を0775に変更しておかなければならないでしょう。

force create mode

ファイルに対して強制的に付与したいビットを指定します。create maskパラメータの処理の後でビットが追加さ れるので、必ず指定したい属性がある場合に利用します。

force directory mode

ディレクトリに対して強制的に付与したいビットを指定します。directory maskパラメータの処理の後でビットが 追加されるので、必ず指定したい属性がある場合に利用します。

force user

この共有上でファイル操作を行う際のユーザー権限として、このパラメータに指定したユーザーが強制的に利 用されます。したがって、共有内のファイルの所有者が、パラメータに指定したユーザーのみとなります。ただ し、共有への接続時には、通常どおり接続を行ったユーザー権限で認証が行われます。

force group

force userと同様に、ファイル操作を行う際のグループ権限を強制的に設定できます。

(3)Guest接続

共有に接続する際、ユーザー認証に失敗した場合に、Guest(ゲスト)接続と呼ばれる形態で共有に接続するこ とが可能です。Guest接続を可能にするためには、まず[global]セクションのmap to guestパラメータを設定しな ければなりません。map to guestパラメータには次の値を設定できます。

10.5 ファイルサーバーの構築

Never

パスワードが不正な場合の接続を許可しません。したがって、Guest接続を行うことができません。この値が既 定値です。

Bad User

ユーザーが存在して、かつパスワードが間違っている場合には、接続を拒否します。一方、ユーザーが存在し ない場合には、Guest接続として接続します。

Bad Password

パスワードが一致しない場合には、Guest接続として接続します。このときに、ユーザー側にはパスワードを間 違えたことが伝えられないため、Guestとして接続していることを判断できません。その結果、通常と異なる権限 でファイル操作を行い、操作が拒否されることがあるので、利用の際には注意が必要です。

また、[global]セクションでは、Guest接続時に利用するユーザーアカウントをguest accountパラメータで指定 できます。既定値はnobodyとなっています。

map to guest = Bad User guest account = nobody

続いて、各共有ごとにGuest接続を許可するかどうか指定します。

guest ok

ゲスト接続を許可する場合にYesを指定します。map to guestパラメータが有効な場合のみ、有効となります。

guest only

Yesを指定した場合、接続要求をすべてGuest接続として処理します。map to guestパラメータが有効な場合 のみ、有効となります。