「Windows ACLs を利用して共有を設定する」の版間の差分
(同じ利用者による、間の6版が非表示) | |||
22行目: | 22行目: | ||
* [[Setting_up_Samba_as_an_NT4_PDC_(Quick_Start)|Setting up Samba as an NT4 PDC (Quick Start)]] | * [[Setting_up_Samba_as_an_NT4_PDC_(Quick_Start)|Setting up Samba as an NT4 PDC (Quick Start)]] | ||
* [[Setting_up_Samba_as_an_NT4_BDC|Setting up Samba as an NT4 BDC]] | * [[Setting_up_Samba_as_an_NT4_BDC|Setting up Samba as an NT4 BDC]] | ||
* [[Setting_up_Samba_as_a_Standalone_Server| | * [[Setting_up_Samba_as_a_Standalone_Server|Samba をスタンドアローンサーバーとして構成する]] | ||
47行目: | 47行目: | ||
* Sambaの<code> configure </code>スクリプトは、ACLサポートに必要なライブラリを見つけることができませんでした。 詳細は[[Sambaをビルドするのに必要なパッケージ依存関係]]を参照してください。 | * Sambaの<code> configure </code>スクリプトは、ACLサポートに必要なライブラリを見つけることができませんでした。 詳細は[[Sambaをビルドするのに必要なパッケージ依存関係]]を参照してください。 | ||
== <code> smb.conf </code>ファイルで拡張ACLサポートを有効にする</code> | == <code>smb.conf</code>ファイルで拡張ACLサポートを有効にする</code> == | ||
拡張アクセス制御リスト(ACL)を使って共有を設定するには、<code> smb.conf </code>ファイルでサポートを有効にする必要があります。 拡張ACLサポートをグローバルに有効にするには、<code> smb.conf </code>ファイルの<code> [global] </code>セクションに次の設定を追加します。 | 拡張アクセス制御リスト(ACL)を使って共有を設定するには、<code> smb.conf </code>ファイルでサポートを有効にする必要があります。 拡張ACLサポートをグローバルに有効にするには、<code> smb.conf </code>ファイルの<code> [global] </code>セクションに次の設定を追加します。 | ||
185行目: | 185行目: | ||
:Samba共有で<code> SYSTEM </code>アカウントを使うことについての詳細は[[SYSTEMアカウント]]を見てください。 | :Samba共有で<code> SYSTEM </code>アカウントを使うことについての詳細は[[SYSTEMアカウント]]を見てください。 | ||
:ACLが格納される場所の詳細については、[[# | :ACLが格納される場所の詳細については、[[#バックエンドのファイルシステムACL |バックエンドのファイルシステムACL]]を参照してください。 | ||
* [<code> OK </code>をクリックして<code>フォルダのアクセス許可</code>ウィンドウを閉じます。 | * [<code> OK </code>]をクリックして[<code>フォルダのアクセス許可</code>]ウィンドウを閉じます。 | ||
*更新した設定を保存するには、[<code> OK </code>]をクリックします。 | *更新した設定を保存するには、[<code> OK </code>]をクリックします。 | ||
193行目: | 193行目: | ||
ACLの設定について詳しくは、Windowsの資料を参照してください。 | ACLの設定について詳しくは、Windowsの資料を参照してください。 | ||
= | = バックエンドのファイルシステムACL = | ||
Sambaはファイルシステムのアクセス権を拡張ファイルシステムのアクセス制御リスト(ACL)と拡張属性に格納します。 例えば: | |||
* | * <code>/srv/samba/Demo/</code>ディレクトリの拡張ACLを一覧表示するには、次のように入力します。: | ||
# getfacl /srv/samba/Demo/ | # getfacl /srv/samba/Demo/ | ||
220行目: | 220行目: | ||
default:other::--- | default:other::--- | ||
* | * ディレクトリ、<code>/srv/samba/Demo/</code>の<code>security.NTACL</code>の拡張属性の一覧を表示するには、次のように入力: | ||
# getfattr -n security.NTACL -d /srv/samba/Demo/ | # getfattr -n security.NTACL -d /srv/samba/Demo/ | ||
226行目: | 226行目: | ||
security.NTACL=0sBAAEAAAAAgAEAAIAAQC4zK0lHchKFvwXwbPR/h8P8sXMj5dNIT5QQuWsYwO3RAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcG9zaXhfYWNsAEbGxuGu39MBuiZRk2pYxeL5ZWc4au0ikqRAk53MkjVd2b4quyk2WwcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEABJy0AAAA0AAAAAAAAADsAAAAAQUAAAAAAAUVAAAASSVmaZneO8cxOHk/9AEAAAEFAAAAAAAFFQAAAEklZmmZ3jvHMTh5P0oIAAACAMQABwAAAAALFACpABIAAQEAAAAAAAEAAAAAAAAUAAAAEAABAQAAAAAAAQAAAAAACxQA/wEfAAEBAAAAAAADAAAAAAALFACpABIAAQEAAAAAAAMBAAAAAAMkAP8BHwABBQAAAAAABRUAAABJJWZpmd47xzE4eT9KCAAAAAAkAP8BHwABBQAAAAAABRUAAABJJWZpmd47xzE4eT/0AQAAAAMkAL8BEwABBQAAAAAABRUAAABJJWZpmd47xzE4eT8BAgAA | security.NTACL=0sBAAEAAAAAgAEAAIAAQC4zK0lHchKFvwXwbPR/h8P8sXMj5dNIT5QQuWsYwO3RAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcG9zaXhfYWNsAEbGxuGu39MBuiZRk2pYxeL5ZWc4au0ikqRAk53MkjVd2b4quyk2WwcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEABJy0AAAA0AAAAAAAAADsAAAAAQUAAAAAAAUVAAAASSVmaZneO8cxOHk/9AEAAAEFAAAAAAAFFQAAAEklZmmZ3jvHMTh5P0oIAAACAMQABwAAAAALFACpABIAAQEAAAAAAAEAAAAAAAAUAAAAEAABAQAAAAAAAQAAAAAACxQA/wEfAAEBAAAAAAADAAAAAAALFACpABIAAQEAAAAAAAMBAAAAAAMkAP8BHwABBQAAAAAABRUAAABJJWZpmd47xzE4eT9KCAAAAAAkAP8BHwABBQAAAAAABRUAAABJJWZpmd47xzE4eT/0AQAAAAMkAL8BEwABBQAAAAAABRUAAABJJWZpmd47xzE4eT8BAgAA | ||
ファイルシステムACLと拡張属性の前の例は、次のWindows ACLにマップされています: | |||
{| class="wikitable" | {| class="wikitable" | ||
242行目: | 242行目: | ||
|} | |} | ||
* | * もっと読みやすい形式でACLを取得するには、次のように入力します。: | ||
# samba-tool ntacl get /usr/local/samba/var/locks/sysvol --as-sddl | # samba-tool ntacl get /usr/local/samba/var/locks/sysvol --as-sddl | ||
# O:BAG:SYD:PAI(A;OICIIO;WOWDGRGWGX;;;CO)(A;OICIIO;GRGX;;;AU)(A;;0x001200a9;;;AU)(A;OICIIO;GA;;;SY)(A;;0x001f01ff;;;SY)(A;OICIIO;WOWDGRGWGX;;;BA)(A;;0x001e01bf;;;BA)(A;OICIIO;GRGX;;;SO)(A;;0x001200a9;;;SO) | # O:BAG:SYD:PAI(A;OICIIO;WOWDGRGWGX;;;CO)(A;OICIIO;GRGX;;;AU)(A;;0x001200a9;;;AU)(A;OICIIO;GA;;;SY)(A;;0x001f01ff;;;SY)(A;OICIIO;WOWDGRGWGX;;;BA)(A;;0x001e01bf;;;BA)(A;OICIIO;GRGX;;;SO)(A;;0x001200a9;;;SO) | ||
= トラブルシューティング = | |||
トラブルシューティングは、次の項目を参照してください: | |||
* [[Sambaドメインメンバーのトラブルシューティング | Sambaドメインメンバーのトラブルシューティング]] | |||
* [[Samba AD DCトラブルシューティング| Samba AD DCトラブルシューティング]] | |||
* [[ | |||
* [[ | |||
2020年2月20日 (木) 11:50時点における最新版
はじめに
Extended access control lists (ACL) enable you to set permissions on shares, files, and directories using Windows ACLs and applications. Samba supports shares using extended ACLs on: 拡張アクセス制御リスト(ACL)を使用すると、WindowsのACLおよびアプリケーションを使用して、共有、ファイル、およびディレクトリに対するアクセス許可を設定できます。Sambaは、以下で拡張ACLを使用して共有をサポートします。
- ドメインメンバ
- Active Directory (AD) ドメインコントローラ (DC)
- NT4 プライマリドメインコントローラ (PDC)
- NT4 バックアップドメインコントローラ (BDC)
- スタンドアローンホスト
拡張ACLの代わりに、POSIX ACLを使用して共有を設定できます。 詳細については、 POSIX ACLs を利用して共有を設定するを見てください。. {{#invoke:Message box|imbox}}
ホストの準備
共有を作成する前にSambaを設定する必要があります。 どのタイプのSambaサーバーが必要かに応じて、以下を参照してください:
- SambaをActive Directoryドメインメンバとして構成する
- SambaをActive Directoryドメインコントローラとして設定する
- Setting up Samba as an NT4 PDC (Quick Start)
- Setting up Samba as an NT4 BDC
- Samba をスタンドアローンサーバーとして構成する
ファイルシステムのサポート
共有が作成されるファイルシステムは、次のものをサポートしている必要があります。:
- ユーザーとシステムの
xattr
名前空間。 - 拡張されてアクセスコントロールリスト (ACL).
For further details, see File system support.
拡張ACL(Access Control List)をサポートする共有を作成するには、 smbd
サービスがACLサポートを有効にして構築されている必要があります。 Active Directory(AD)ドメインコントローラ(DC)として機能するSambaホストは、拡張ACLサポートにより常に有効になっています。
SambaがACLサポート付きでビルドされたかどうかを確認するには、次のように入力:
# smbd -b | grep HAVE_LIBACL HAVE_LIBACL
出力が表示されない場合
- Sambaは
--with-acl-support = no
パラメータを使って構築されました。 - Sambaの
configure
スクリプトは、ACLサポートに必要なライブラリを見つけることができませんでした。 詳細はSambaをビルドするのに必要なパッケージ依存関係を参照してください。
smb.conf
ファイルで拡張ACLサポートを有効にする
拡張アクセス制御リスト(ACL)を使って共有を設定するには、 smb.conf
ファイルでサポートを有効にする必要があります。 拡張ACLサポートをグローバルに有効にするには、 smb.conf
ファイルの [global]
セクションに次の設定を追加します。
vfs objects = acl_xattr map acl inherit = yes store dos attributes = yes
{{#invoke:Message box|imbox}}
あるいは、特定の共有に対してのみ拡張ACLサポートを有効にするには、共有のセクションにパラメータを追加します。
パレメータの詳細については smb.conf(5)
のマニュアルページを見てください。
SeDiskOperatorPrivilege
権限の付与
SeDiskOperatorPrivilege
権限を付与されたユーザーとグループのみが共有権限を設定できます。
Domain Admins
グループに権限を付与するには、次のように入力します。
# net rpc rights grant "SAMDOM\Domain Admins" SeDiskOperatorPrivilege -U "SAMDOM\administrator" Enter SAMDOM\administrator's password: Successfully granted rights.
{{#invoke:Message box|imbox}}
SeDiskOperatorPrivilege
特権が付与されているすべてのユーザーとグループを一覧表示するには、次のように入力します。
# net rpc rights list privileges SeDiskOperatorPrivilege -U "SAMDOM\administrator" Enter administrator's password: SeDiskOperatorPrivilege: BUILTIN\Administrators SAMDOM\Domain Admins
{{#invoke:Message box|imbox}}
共有を追加
Demo
共有名を使用して/srv/samba/Demo/
ディレクトリを共有するには、次の手順を実行します。
root
ユーザーとして、ディレクトリを作成します。
# mkdir -p /srv/samba/Demo/
- ドメイン管理者以外のアカウントがWindowsで権限を設定できるようにするには、
SeDiskOperatorPrivilege
特権を付与したユーザーまたはグループにフルコントロール
(rwx
)を付与します。 例えば:
# chown root:"Domain Admins" /srv/samba/Demo/ # chmod 0770 /srv/samba/Demo/
[Demo]
共有定義をsmb.conf
ファイルに追加します。
[Demo] path = /srv/samba/Demo/ read only = no
- 共有固有の詳細設定とファイルシステムのアクセス許可は、Windowsのユーティリティを使用して設定します。
- {{#invoke:Message box|imbox}}
- Sambaの設定を再読み込みする:
# smbcontrol all reload-config
共有許可とACLの設定
拡張アクセス制御リスト(ACL)をサポートする共有を設定するときは、 smb.conf
ファイルの共有セクションにパラメータを追加するのではなく、Windowsユーティリティを使用して共有アクセス権を設定します。
Demo
共有にアクセス許可とACLを設定するには:
SeDiskOperatorPrivilege
権限が付与されているアカウントを使用してWindowsホストにログオンします。 例えばSAMDOM \ Administrator
またはSAMDOM \ john
john
はDomain Admins
のメンバーです。- [
開始
]をクリックし、コンピュータの管理
と入力してアプリケーションを起動します。 - [
操作
/別のコンピュータに接続
]を選択します。 - Sambaホストの名前を入力し、
OK
をクリックしてコンソールをホストに接続します。 システムツール
/共有フォルダ
/共有
メニューを開きます。
- 共有を右クリックして、
プロパティ
を選択します。 - [
共有アクセス権
]タブを選択し、共有アクセス権を確認します。Everyone
が表示される必要があります。 例えば:
- [
セキュリティ
]タブをクリックします。 編集
ボタンをクリックして、共有のルートディレクトリにファイルシステムのACLを設定します。 例えば:
- Samba共有で
SYSTEM
アカウントを使うことについての詳細はSYSTEMアカウントを見てください。 - ACLが格納される場所の詳細については、バックエンドのファイルシステムACLを参照してください。
追加
ボタンをクリックしてください。
詳細
ボタンをクリック
- [
今すぐ検索
]をクリックします
- リストからユーザーまたはグループを選択します(例:
Domain Users
)。
- [
OK
]をクリックします
- [
OK
]をクリックします
- 付与する権限を選択します。たとえば、
フルコントロール
です。
- 続行するかどうかを尋ねるウィンドウズのセキュリティボックスが開きます。
Yes
をクリックしてください。
グループ名またはユーザー名
のリストを確認すると、Domain Users
がリストされているはずです。
- [
OK
]をクリックして[デモのアクセス許可
]ウィンドウを閉じます。
- 更新した設定を保存するには、[
OK
]をクリックします。
共有権限とACLの設定について詳しくは、Windowsの資料を参照してください。
フォルダにACLを設定する
拡張アクセス制御リスト(ACL)を使用する共有上にあるフォルダーにファイルシステムのアクセス許可を設定するには
- ファイルシステムのACLを変更するフォルダに
フルコントロール
を持つアカウントを使用してWindowsホストにログオンします。
- フォルダに移動します。
- フォルダを右クリックして、
プロパティ
を選択します。
- [
セキュリティ
]タブを選択し、[編集
]ボタンをクリックします。
- 許可を設定してください。 例えば:
:Samba共有で SYSTEM
アカウントを使うことについての詳細はSYSTEMアカウントを見てください。
:ACLが格納される場所の詳細については、バックエンドのファイルシステムACLを参照してください。
- [
OK
]をクリックして[フォルダのアクセス許可
]ウィンドウを閉じます。
- 更新した設定を保存するには、[
OK
]をクリックします。
ACLの設定について詳しくは、Windowsの資料を参照してください。
バックエンドのファイルシステムACL
Sambaはファイルシステムのアクセス権を拡張ファイルシステムのアクセス制御リスト(ACL)と拡張属性に格納します。 例えば:
/srv/samba/Demo/
ディレクトリの拡張ACLを一覧表示するには、次のように入力します。:
# getfacl /srv/samba/Demo/ # file: srv/samba/Demo/ # owner: root # group: root user::rwx user:root:rwx group::--- group:root:--- group:domain\040users:rwx group:domain\040admins:rwx mask::rwx other::--- default:user::rwx default:user:root:rwx default:group::--- default:group:root:--- default:group:domain\040users:rwx default:group:domain\040admins:rwx default:mask::rwx default:other::---
- ディレクトリ、
/srv/samba/Demo/
のsecurity.NTACL
の拡張属性の一覧を表示するには、次のように入力:
# getfattr -n security.NTACL -d /srv/samba/Demo/ # file: srv/samba/Demo/ security.NTACL=0sBAAEAAAAAgAEAAIAAQC4zK0lHchKFvwXwbPR/h8P8sXMj5dNIT5QQuWsYwO3RAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcG9zaXhfYWNsAEbGxuGu39MBuiZRk2pYxeL5ZWc4au0ikqRAk53MkjVd2b4quyk2WwcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEABJy0AAAA0AAAAAAAAADsAAAAAQUAAAAAAAUVAAAASSVmaZneO8cxOHk/9AEAAAEFAAAAAAAFFQAAAEklZmmZ3jvHMTh5P0oIAAACAMQABwAAAAALFACpABIAAQEAAAAAAAEAAAAAAAAUAAAAEAABAQAAAAAAAQAAAAAACxQA/wEfAAEBAAAAAAADAAAAAAALFACpABIAAQEAAAAAAAMBAAAAAAMkAP8BHwABBQAAAAAABRUAAABJJWZpmd47xzE4eT9KCAAAAAAkAP8BHwABBQAAAAAABRUAAABJJWZpmd47xzE4eT/0AQAAAAMkAL8BEwABBQAAAAAABRUAAABJJWZpmd47xzE4eT8BAgAA
ファイルシステムACLと拡張属性の前の例は、次のWindows ACLにマップされています:
Principal | Permissions | Applies to |
---|---|---|
Domain Users (SAMDOM\Domain Users) | Modify, Read & execute, List folder contents, Read, Write | (This folder, subfolders and files) |
Domain Admins (SAMDOM\Domain Admins) | Full control | (This folder, subfolders and files) |
- もっと読みやすい形式でACLを取得するには、次のように入力します。:
# samba-tool ntacl get /usr/local/samba/var/locks/sysvol --as-sddl # O:BAG:SYD:PAI(A;OICIIO;WOWDGRGWGX;;;CO)(A;OICIIO;GRGX;;;AU)(A;;0x001200a9;;;AU)(A;OICIIO;GA;;;SY)(A;;0x001f01ff;;;SY)(A;OICIIO;WOWDGRGWGX;;;BA)(A;;0x001e01bf;;;BA)(A;OICIIO;GRGX;;;SO)(A;;0x001200a9;;;SO)
トラブルシューティング
トラブルシューティングは、次の項目を参照してください: