「ユーザーホームフォルダ」の版間の差分
215行目: | 215行目: | ||
設定は、次回そのユーザーがログインする際に適用されます。 | 設定は、次回そのユーザーがログインする際に適用されます。 | ||
== | == NT4ドメインで == | ||
NT4ドメインで、ホームフォルダーのパスとして<code>\\server\users\%U</code>をセットし、ドライブレターが<code>H:</code>のドライブにマップするには: | |||
* | * 以下のパラメータを<conf>smb.conf</conf>ファイルの<code>[global]</code>セクションに追加します: | ||
logon drive = H: | logon drive = H: | ||
logon home = \\server\users\%U | logon home = \\server\users\%U | ||
: | : ドメインメンバーがログインする際に、Sambaは変数<code>%U</code>をセッションユーザ名で自動的に置き換えます。詳細については、<code>smb.conf(5)</code>のマニュアルページの<code>Variable Substitutions</code>セクションを参照してください。 | ||
* | * Sambaをリロード: | ||
# smbcontrol all reload-config | # smbcontrol all reload-config | ||
== In a Non-domain Environment == | == In a Non-domain Environment == |
2019年3月3日 (日) 00:34時点における版
はじめに
ホームフォルダには、個々のアカウントのファイルが含まれています。Sambaを使用すると、ネットワークユーザーが自分のファイルを、ファイルサーバー上の自分のホームフォルダーに保存できるように、ディレクトリを共有できます。
このドキュメントでは、\\server\user_name\
パスを使用して、ユーザーのホームディレクトリを動的に共有する、Sambaのビルトインの[homes]
セクションを使用しません。これは特定のシナリオでは役に立ちますが、いくつかの欠点があります。
- Windowsはこの機能をサポートしていません。また、Active Directory(AD)でのフォルダリダイレクトなどの特定の設定では代わりに回避策が必要になり、公式のソリューションを使用できません。
- 新しい各ユーザーのホームディレクトリを手動で作成する必要があります。
[homes]
はActive Directory (AD) ドメインコントローラ(DC)上での実行はサポートされていません。
以下では、ホームフォルダを含んでいるディレクトリは、共有名users
を使用して共有されます。各ユーザーのホームディレクトリは、\\server\users\user_name
のような感じで、\\server\users\
共有のサブディレクトリとして作成されます。これはMicrosoft Windowsの環境で使われているのと同じフォーマットであり、追加の設定を要しません。
Sambaファイルサーバーで共有を設定する
WindowsのACLを使う
ホームディレクトリをホストする共有に、拡張アクセスコントロールリスト(ACL)を設定することは、手動でユーザーのホームフォルダを作成、アクセス許可を設定することなしに、Active Directory ユーザーとコンピュータ
に新しいユーザーを作成することを可能にします。
Sambaファイルサーバー上でユーザーのホームフォルダーをホストするための共有を作成するには、たとえばusers
を使用します:
- 新しい共有を作成してください。 詳細については、Windows ACLs を利用して共有を設定するを参照してください。 以下の権限を設定します:
- 共有の権限:
Principal Access Domain Users Change Domain Admins Full Control
users
共有のルートのファイルシステムのアクセス許可:
Principal Access Applies to Domain Users* Read & execute This folder only CREATOR OWNER Full control Subfolders and files only Domain Admins Full control This folder, subfolders and files
- * グループのメンバーがユーザーのプロファイルをその共有に格納することを可能にするために、別のグループを設定することもできます。異なるグループを使用する場合は、前の例の
Domain Users
に表示されているように権限を適用してください。
- * グループのメンバーがユーザーのプロファイルをその共有に格納することを可能にするために、別のグループを設定することもできます。異なるグループを使用する場合は、前の例の
- 共有のルートで権限の継承が無効になっていることを確認します。[
セキュリティの詳細設定
]ウィンドウの許可エントリに継承元
列にパスが表示されている場合は、[継承を無効にする
]ボタンをクリックします。 Windows 7では、このオブジェクトの親からの継承可能なアクセス許可を含める
チェックボックスをオフにして、同じ設定を設定します。
- 共有のルートで権限の継承が無効になっていることを確認します。[
- Samba共有では、ファイルシステムACLの
SYSTEM
アカウントを省略できます。詳細は、The SYSTEM Accountを参照してください。
- Samba共有では、ファイルシステムACLの
これらの設定により、Domain Admins
グループのメンバーは、Active Directoryユーザーとコンピュータ
アプリケーションでユーザーのホームフォルダを設定できます。これにより、ホームフォルダが自動的に作成され、正しいアクセス許可が設定されます。
POSIX ACLを使用する
Windowsのアクセス制御リスト(ACL)を使用する代わりに、SambaサーバーでPOSIX ACLを使用して共有を設定できます。 ただし、POSIX ACLを使用して権限を設定する場合は、新しいユーザーごとにホームディレクトリを手動で作成し、権限を設定する必要があります。
{{#invoke:Message box|imbox}}
たとえば、users
共有を作成するには:
smb.conf
ファイルに次の共有設定セクションを追加します:
[users] path = /srv/samba/users/ read only = no force create mode = 0600 force directory mode = 0700
- 使用されるパラメータの詳細については、smb.conf(5) のマニュアルページの説明を参照してください。
- 共有の名前として
homes
を使用しないでください。 詳細については、 はじめにを参照してください。
- ディレクトリを作成し、正しい権限を設定してください:
# mkdir -p /srv/samba/users/ # chgrp -R "Domain Users" /srv/samba/users/ # chmod 2750 /srv/samba/users/
- ドメインでは、
Domain Users
グループはグループで、すべてのドメインユーザーアカウントがそのメンバーです。 あるいは、ドメイン以外の環境を実行している場合は、ローカルに存在する任意のグループに設定できます。 ただし、共有にアクセスするには、ユーザーアカウントがこのグループのメンバーである必要があります。
- Sambaをリロード:
# smbcontrol all reload-config
新しいユーザのホームフォルダを作成する
Windows ACLを使用する
Active Directoryユーザーとコンピュータ
アプリケーションを使用している場合は、ユーザーのホームディレクトリが自動的に作成され、アプリケーションでユーザーフォルダへのパスを設定すると正しいアクセス許可が適用されます。 Active Directoryユーザーとコンピュータ
を使用していない場合は、フォルダを手動で作成して正しい権限を設定する必要があります。 例えば;
\\server\users\
共有に新しいフォルダを作成する権限を持つアカウントを使用してWindowsマシンにログインします。
\\server\users\
共有に移動します。
- ユーザーの新しいホームフォルダを作成します。
- フォルダのアクセス制御リスト(ACL)にユーザを追加し、そのユーザに
フルコントロール
を付与します。 詳細については、フォルダへのACLの設定を参照してください。
POSIX ACLを使用する
POSIXアクセスコントロールリスト(ACL)を使用してusers
共有を設定するときは、新しいユーザーごとにホームフォルダを手動で作成する必要があります。 demo
ユーザーのホームフォルダを作成するには:
- ディレクトリを作成:
# mkdir /srv/samba/users/demo/
- 次の権限を設定して、
demo
ユーザーのみがディレクトリにアクセスできるようにします:
# chown user_name /srv/samba/users/demo/ # chmod 700 /srv/samba/users/demo/
ホームフォルダをユーザに割り当てる
Active Directoryの場合
Active Directoryユーザーとコンピュータ
(ADUC)を使用する
Active Directoryでは、Active Directoryユーザーとコンピュータ
Windowsアプリケーションを使用して、ユーザーのホームフォルダへのパスと割り当てられたドライブ文字を設定できます。 リモートサーバー管理ツール(RSAT)がインストールされていない場合は、 RSATのインストールを参照してください。
\\server\users\demo\
パスをホームフォルダとしてdemo
アカウントに割り当てるには:
- ユーザーアカウントを編集できるアカウントを使用してコンピューターにログインします。
Active Directoryユーザーとコンピュータ
アプリケーションを開きます。
demo
アカウントを含むディレクトリコンテナに移動します。
demo
ユーザーアカウントを右クリックして、プロパティ
を選択します。
- [
プロフィール
]タブをクリックします。
- [
Connect
]を選択します。Windowsがマップされたホームフォルダを割り当て、To
フィールドにホームフォルダへのパスを入力します。
OK
をクリック
ホームフォルダが作成されていないという設定を保存するときに警告が表示された場合:
- Windowsのアクセス制御リスト(ACL)を使用して共有を設定すると、
users
共有のアクセス許可が正しく設定されませんでした。 この問題を解決するには、 Windows ACLの使用で説明されている権限を設定します。 - あなたはPOSIX ACLを使って共有を設定した。 問題を解決するには、ディレクトリを手動で作成してください。 新規ユーザーのホームフォルダーの作成 - POSIX ACLの使用を参照してください。
グループポリシー設定を使用する
グループポリシー設定を使用して、設定を組織単位(OU)またはドメインに割り当てることができます。これにより、たとえば、OUまたはドメイン内のすべてのユーザーにホームフォルダパスを自動的に割り当てることができます。アカウントを別のOUまたはドメインに移動すると、設定は削除または更新されます。 この方法を使用すると、各ユーザーアカウントに手動で設定を割り当てる必要はありません。
各ユーザーのホームフォルダーとして\\server\users\user_name
パスを自動的に割り当てるドメインのグループポリシーオブジェクト(GPO)を作成するには、次の手順を実行します。
- ADドメインの
Administrator
アカウントなど、グループポリシーを編集できるアカウントを使用してコンピュータにログインします。
グループポリシー管理コンソール
を開きます。 このコンピュータにリモートサーバー管理ツール(RSAT)がインストールされていない場合は、 RSATのインストールを参照してください。
- 自分のADドメインを右クリックして[
このドメインにGPOを作成し、ここにリンク
]を選択します。
Home Folders on server
のようにGPOの名前を入力します。 新しいGPOがドメインエントリの下に表示されます。
- 新しく作成したGPOを右クリックして[
編集
]を選択し、グループポリシー管理エディタ
を開きます。
ユーザー設定
→に移動します。設定
→Windowsの設定
→ドライブマップ
エントリ
- [
ドライブマップ
]エントリを右クリックして[新規
]を選択し、→割り当てられたドライブ
- 以下を設定してください。
General
タブで:
- アクション:
作成
- 場所:
\\server\users\%LogonUser%
- ユーザーがログインすると、Windowsは
%LogonUser%
変数を自動的に置き換えます
再接続
を選択- ラベル:文字列を入力してください。 たとえば、
Home
- 使用:ホームフォルダが割り当てられているドライブ文字を選択します。
- アクション:
Common
タブで:
ログオンしたユーザーのセキュリティコンテキストで実行する(ユーザーポリシーオプション)
を選択します。
OK
をクリック
グループポリシー管理エディタ
を閉じます。GPOは自動的にドメインコントローラ(DC)のSysvol
共有に保存されます。
グループポリシー管理コンソール
を閉じます。
ポリシーはOUあるいはドメインのユーザーに適用され、ポリシーは次回のログオン時に割り当てられます。
ドメインコントローラでldbedit
を使用する
ドメインコントローラ(DC)上で、例えば、demo
アカウントに対してホームフォルダーとして\\server\users\demo
パスを割り当て、かつ割り当てたドライブレターにH:
をセットするには:
demo
アカウントを編集:
# ldbedit -H /usr/local/samba/private/sam.ldb 'sAMAccountName=demo'
- アカウントの属性がエディタで表示されます。以下の属性と値を一覧の最後に追加してください:
homeDrive: H: homeDirectory: \\server\users\demo\
- 変更を保存します。
設定は、次回そのユーザーがログインする際に適用されます。
NT4ドメインで
NT4ドメインで、ホームフォルダーのパスとして\\server\users\%U
をセットし、ドライブレターがH:
のドライブにマップするには:
- 以下のパラメータを<conf>smb.conf</conf>ファイルの
[global]
セクションに追加します:
logon drive = H: logon home = \\server\users\%U
- ドメインメンバーがログインする際に、Sambaは変数
%U
をセッションユーザ名で自動的に置き換えます。詳細については、smb.conf(5)
のマニュアルページのVariable Substitutions
セクションを参照してください。
- Sambaをリロード:
# smbcontrol all reload-config
In a Non-domain Environment
Using a Windows Professional or Higher Edition
If your Samba server and clients are not part of a domain, set the user home folder mapping in the local user account's properties:
- Log on to the Windows machine using an account that is member of the local
Administrators
group.
- Open the
lusrmgr.msc
(Local User and Groups) application.
- The
lusrmgr.msc
application is not available in Windows Home editions.
- Click
Users
in the navigation on the left side.
- Right-click the account you want to assign a home folder to, and select
Properties
- Navigate to the
Profile
tab.
- Select
Connect
, the drive letter Windows assigns the mapped home folder to, and enter the path to the home folder into theTo
field.
- Click
OK
.
You must set the mapping for each user on every Windows client manually.
Using Windows Home Edition
Windows Home editions do not provide the necessary application to set the user home folder mapping in the local account properties. Instead each user must map the drive manually:
- Log on to the Windows machine as the user that should get the home folder mapped
- Open a command prompt.
- For example, to map the
\\server\users\demo\
folder to theH:
drive letter, enter:
> net use H: \\server\users\demo\ /persistent:yes
The user home folder is automatically connected when the user logs in. To stop the automatic mapping, disconnect the drive. For example:
> net use H: /delete