ユーザーホームフォルダ
はじめに
ホームフォルダには、個々のアカウントのファイルが含まれています。Sambaを使用すると、ネットワークユーザーが自分のファイルを、ファイルサーバー上の自分のホームフォルダーに保存できるように、ディレクトリを共有できます。
このドキュメントでは、\\server\user_name\パスを使用して、ユーザーのホームディレクトリを動的に共有する、Sambaのビルトインの[homes]セクションを使用しません。これは特定のシナリオでは役に立ちますが、いくつかの欠点があります。
- Windowsはこの機能をサポートしていません。また、Active Directory(AD)でのフォルダリダイレクトなどの特定の設定では代わりに回避策が必要になり、公式のソリューションを使用できません。
- 新しい各ユーザーのホームディレクトリを手動で作成する必要があります。
[homes]はActive Directory (AD) ドメインコントローラ(DC)上での実行はサポートされていません。
In the following, the directory containing the home folders are shared using the users share name. Each user's home directory is created as a subdirectory on the \\server\users\ share, such as, \\server\users\user_name. This is the same format used in a Microsoft Windows environment and requires no additional work to set up.
Using Windows ACLs
Setting extended access control lists (ACL) on the share that hosts home directories enables you to create new users in the Active Directory Users and Computers application without manually creating the user's home folder and setting permissions.
To create a share, for example, users for hosting the user home folders on a Samba file server:
- Create a new share. For details, see Setting up a Share Using Windows ACLs. Set the following permissions:
- Share permissions:
Principal Access Domain Users Change Domain Admins Full Control
- File system permissions on the root of the
usersshare:
- File system permissions on the root of the
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
- * You can alternatively set other groups, to enable the group members to store their user profile on the share. When using different groups, apply the permissions as displayed for
Domain Usersin the previous example.
- * You can alternatively set other groups, to enable the group members to store their user profile on the share. When using different groups, apply the permissions as displayed for
- Verify that permission inheritance is disabled on the root of the share. If any permission entry in the
Advanced Security Settingswindow displays a path in theInherited fromcolumn, click theDisable inheritancebutton. On Windows 7, unselect theInclude inheritable permissions from this object's parentcheck box to set the same setting.
- Verify that permission inheritance is disabled on the root of the share. If any permission entry in the
- On a Samba share, you can omit the
SYSTEMaccount in the file system ACLs. For details, see The SYSTEM Account.
- On a Samba share, you can omit the
These settings enable members of the Domain Admins group to set the user home folder in the Active Directory Users and Computers application, that automatically creates the home folder and sets the correct permissions.
Using POSIX ACLs
Instead of using Windows access control lists (ACL), you can set up a share using POSIX ACLs on your Samba server. However, when using POSIX ACL to set permissions, you must create the home directory for each new user manually and set permissions.
{{#invoke:Message box|imbox}}
For example, to create the users share:
- Add the following share configuration section to your
smb.conffile:
[users]
path = /srv/samba/users/
read only = no
force create mode = 0600
force directory mode = 0700
- For details about the parameters used, see the descriptions in the smb.conf(5) man page.
- Do not use
homesas name of the share. For further details, see Introduction.
- Create the directory and set the correct permissions:
# mkdir -p /srv/samba/users/ # chgrp -R "Domain Users" /srv/samba/users/ # chmod 2750 /srv/samba/users/
- In a domain, the
Domain Usersgroup is a group, all domain user accounts are member of. Alternatively, or if you are running a non-domain environment, you can set it to any group that exists locally. However, user accounts must be member of this group to access the share.
- Reload Samba:
# smbcontrol all reload-config
Creating the Home Folder for a New User
Using Windows ACLs
If you are using the Active Directory Users and Computers application, the user's home directory is automatically created and the correct permissions applied when you set the path to the user folder in the application. If you are not using Active Directory Users and Computers, you must create the folder manually and set the correct permissions. For example:
- Log in to a Windows machine using an account that has permissions to create new folders on the
\\server\users\share.
- Navigate to the
\\server\users\share.
- Create a new home folder for the user.
- Add the user to the access control list (ACL) of the folder and grant
Full controlto the user. For details, see Setting ACLs on a Folder.
Using POSIX ACLs
When you set up the users share using POSIX access control lists (ACL), you must create the home folder for each new user manually. To create the home folder for the demo user:
- Create the directory:
# mkdir /srv/samba/users/demo/
- Set the following permissions to only enable the
demouser to access the directory:
# chown user_name /srv/samba/users/demo/ # chmod 700 /srv/samba/users/demo/
Assigning a Home Folder to a User
In an Active Directory
Using Active Directory Users and Computers
In an Active Directory, you can use the Active Directory Users and Computers Windows application to set the path to the user home folder and the assigned drive letter. If you do not have the Remote Server Administration Tools (RSAT) installed, see Installing RSAT.
To assign the \\server\users\demo\ path as home folder to the demo account:
- Log in to a computer using an account that is able to edit user accounts.
- Open the
Active Directory Users and Computersapplication.
- Navigate to the directory container that contains the
demoaccount.
- Right-click to the
demouser account and selectProperties.
- Select the
Profiletab.
- Select
Connect, the drive letter Windows assigns the mapped home folder to, and enter the path to the home folder into theTofield.
- Click
OK.
If a warning is displayed when saving the settings that the home folder was not created:
- the permissions on the
usersshare were incorrectly set when you set up the share using Windows access control lists (ACL). To fix the problem, set the permissions described in Using Windows ACLs. - you set up the share using POSIX ACL. To fix the problem, create the directory manually. See Creating the Home Folder for a New User - Using POSIX ACLs.
Using a Group Policy Preference
Using group policy preferences, you can assign settings to organizational units (OU) or to a domain. This enables you, for example, to automatically assign home folder paths to all users in the OU or domain. If you move the account to a different OU or domain, the setting is removed or updated. Using this way, you do not have to assign manually the setting to each user account.
To create a group policy object (GPO) for the domain that automatically assigns the \\server\users\user_name path as home folder to each user:
- Log in to a computer using an account that is allowed you to edit group policies, such as the AD domain
Administratoraccount.
- Open the
Group Policy Management Console. If you are not having the Remote Server Administration Tools (RSAT) installed on this computer, see Installing RSAT.
- Right-click to your AD domain and select
Create a GPO in this domain, and Link it here.
- Enter a name for the GPO, such as
Home folders on server. The new GPO is shown below the domain entry.
- Right-click to the newly-created GPO and select
Editto open theGroup Policy Management Editor.
- Navigate to the
User Configuration→Preferences→Windows Settings→Drive Mapsentry.
- Right-click to the
Drive Mapsentry and selectNew→Mapped Drive.
- Set the following:
- On the
Generaltab:
- Action:
Create - Location:
\\server\users\%LogonUser%
- Windows automatically replaces the
%LogonUser%variable when a user logs in
- Select
Reconnect - Label: Enter a string. For example:
Home - Use: Select a drive letter the home folder is mapped to.
- Action:
- On the
Commontab:
- Select
Run in logged-on user's security context (user policy option)
- Select
- On the
- Click
OK.
- Click
- Close the
Group Policy Management Editor. The GPOs are automatically saved on theSysvolshare on the domain controller (DC).
- Close the
Group Policy Management Console.
The policy is applied to users in the OU or domain, the policy is assigned to, during the next log in.
Using ldbedit on a Domain Controller
On a domain controller (DC), for example, to assign the \\server\users\demo path as home folder to the demo account and set the assigned drive letter to H:
- Edit the
demouser account:
# ldbedit -H /usr/local/samba/private/sam.ldb 'sAMAccountName=demo'
- The accounts attributes are displayed in an editor. Append the following attributes and values to the end of the list:
homeDrive: H: homeDirectory: \\server\users\demo\
- Save the changes.
The setting is applied the next time the user logs in.
In an NT4 Domain
In an Samba NT4 domain, to set \\server\users\%U as path to the home folder and to map the drive to the H: drive letter:
- Add the following parameters to the
[global]section in yoursmb.conffile:
logon drive = H: logon home = \\server\users\%U
- During logging in to the domain member, Samba automatically replaces the
%Uvariable with the session user name. For further details, see theVariable Substitutionssection in thesmb.conf(5)man page.
- Reload 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
Administratorsgroup.
- Open the
lusrmgr.msc(Local User and Groups) application.
- The
lusrmgr.mscapplication is not available in Windows Home editions.
- Click
Usersin the navigation on the left side.
- Right-click the account you want to assign a home folder to, and select
Properties
- Navigate to the
Profiletab.
- Select
Connect, the drive letter Windows assigns the mapped home folder to, and enter the path to the home folder into theTofield.
- 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



