Storwize V7000 Unified Authentication HOWTO V1 1
Storwize V7000 Unified Authentication HOWTO V1 1
4
Authentication
November 2012
Document Source
The location of the official version of this controlled document is at:
http://www-01.ibm.com/support/docview.wss?uid=ssg1S1004060
Readers are requested to refer to the latest document from this location always.
Introduction
This paper explains the different authentication methods supported by the IBM® Storwize® V7000 Unified
system with detailed information on when to select a particular authentication method along with the
prerequisites, step-by-step setup procedure, and limitations of each authentication configuration. It also
describes the basics of user authentication, authorization, ID mapping and directory service.
• Local Authentication
This paper does not deal with upgrade and maintenance of IBM Storwize V7000 Unified.
Basic concepts
Identification and ID mapping
What is identification?
The objective of identification is to identify users and infrastructure components. Identification methods
includes unique user IDs (for example, different people use different Storwize V7000 Unified admin IDs),
keys or finger prints (for example, public SSH key) and digital certificates (for example, certificate of web
server).
UNIX system and UNIX-based appliances such as Storwize V7000 Unified systems use user names and
UIDs to represent users of the system. The user name is typically a human readable sequence of
alphanumeric characters and the UID is a positive integer value. When users log in to a UNIX system, the
operating systems looks up the UID and then uses this UID for further representation of the user.
User names, UIDs, and the mapping of user names to UIDs are stored locally in the /etc/passwd file or on
an external directory service such as AD, LDAP, or NIS.
UNIX systems use groups to maintain sets of users having the same permissions to access certain
system resources. Similar to user names and UIDs, a UNIX system also maintains group names and
GIDs. A UNIX user can be member of one or more groups, where one group is the primary or default
group. UNIX groups are not nested; they contain users only but not other groups.
Group names, GIDs, the mapping of group names to GIDs, and the membership of users to groups are
stored locally in the /etc/group file or on an external directory service such as AD, LDAP or NIS. The
primary group of an user is stored in /etc/passwd or in an external directory service.
Microsoft Windows® system refers all operating system entities as resources, including users, groups,
computers and other resources. Each resource is represented by an SID. Windows groups may be
nested, for example, one group might include one or more users, or groups, or both.
Resource names and SIDs are stored locally in the Windows registry or in an external directory service
such as Active Directory or LDAP.
The Storwize V7000 Unified system stores user file data on IBM General Parallel File System (IBM
GPFS™), which uses UIDs and GIDs for access control.
Network File System (NFS) clients send UID and GID of a user who requests access to a file. Storwize
V7000 Unified uses Linux® default access control mechanism by comparing the received UID and GID
with the UIDs and GIDs stored in GPFS.
The UIDs and GIDs used by the NFS clients must match the UIDs and GIDs stored inside GPFS.
For HTTP, HTTPS, SFTP and SCP access, Storwize V7000 Unified requires users to authenticate
through a valid user name. Storwize V7000 Unified needs to map the user name to one UID and one or
more GIDs for GPFS access control.
Authentication
What is authentication?
The objective of authentication is to verify the claimed identity of users and components. Authentication
methods include the use of passwords and the exchange of digital keys.
UNIX authentication is machine based. A user uses the user name and a credential (for example
password, private SSH key) to logon on a UNIX workstation. The workstation looks up the user's UID,
GID and credential in local files or an external directory service, such as LDAP, and then verifies the
received credential. The information for credential verification might be stored locally (for example,
hashes of passwords are stored in /etc/shadow, public SSH keys are stored in the ssh/authorized_key
file) or for external directory service (such as LDAP).
After successfully logging on a UNIX server, the user is trusted not only on this server but also by all other
servers which trust this server. For instance, for file sharing through the NFSv3 protocol, a Storwize
V7000 Unified administrator creates a Storwize V7000 Unified network-attached storage (NAS) export
and grants access to the user's workstation. For NAS access, the UNIX NFSv3 client running on the
user's workstation just sends the user's UID with each file access request and the NFSv3 server running
on the Storwize V7000 Unified system considers this UID as authenticated, assuming that the workstation
correctly authenticated the user's UID.
Windows authentication is session based. A user logs on to a Windows workstation using the user name.
The workstation then looks up the user's SID in the local Windows registry or on the Windows domain
controller and then verifies the received credential. The information for credential verification might be
stored locally (for example, in the Windows registry) or on the external Windows domain controller (for
example, Active Directory).
After successful logon to a Windows server, the user is trusted on this server, but the user still must
authenticate to other services in the network before the user can access them. For instance, for file
sharing through the Windows CIFS protocol, a Storwize V7000 Unified administrator creates a Storwize
V7000 Unified NAS export, and a Windows administrator customizes the GPFS NFSv4 access control list
(ACL) of this NAS export to grant the user access to this new NAS export. For NAS access, the CIFS
To provide heterogeneous file sharing for UNIX and Windows, Storwize V7000 Unified must support the
authentication methods for UNIX and Windows. Storwize V7000 Unified uses Windows authentication for
the incoming CIFS connections and UNIX authentication for incoming NFS, HTTP, SFTP, and SCP
connections.
What is Kerberos?
Kerberos is a network authentication protocol for client/server applications by using symmetric key
cryptography. User passwords are never sent over network . The Kerberos server grants a ticket to the
client for a short span of time. This ticket is used while communicating with the server to get access to the
service (for example, a file server).
Directory service
What is a directory service?
Storing user and group information in local files works well for small organizations which operate only a
very few servers. Whenever a user is added or deleted, the group membership is changed, or a password
is updated, this information must be updated on all servers. Storing this information in local files does not
scale for large organizations having tens, hundreds, or thousands of users which need selected access to
hundreds or thousands of servers and services.
Directory services store and maintain user and group information centrally on an external server. Other
servers such as workstations and Storwize V7000 Unified systems look up this information in the directory
server instead of storing this information in local files.
Active Directory (AD) is a technology created by Microsoft and introduced since Microsoft Windows 2000
which provides many services including following key network services:
• Directory Service
• Kerberos-based authentication
• Domain Name System (DNS)
SFU/SUA is a Microsoft Windows component that provides interoperability between Microsoft Windows
and UNIX environments. Storwize V7000 Unified uses SFU/SUA primarily for UID/GID to SID mapping.
In a typical environment for a Microsoft Windows 2003 Server , SFU 3.5 (available on Microsoft site on
download) is to be installed separately.
On Windows Server 2003 R2 and higher version, the rfc2307 compliant schema is installed by default.
Generally, to manage the unix attributes, Identity Management for Unix (available with the installation)
may be enabled.
The latest version of LDAP is version 3 and is specified in series of Internet Engineering Task Force
(IETF) standard track Request for Comments (RFCs) as mentioned in RFC 4510.
LDAP directory is usually structured hierarchically, as a tree of nodes. Each node represents an entry
within the LDAP database. A single LDAP entry might consists of multiple attribute-value pairs, and is
uniquely identified by a distinguished name.
Local Authentication is the authentication facility provided in Storewize V7000 Unified, to be used in cases
where there is no external authentication server available. The user and group data will be maintained
locally on Storewize V7000 Unified.
NIS is a directory service protocol for centrally storing configuration data of a computer network. NIS
protocols and commands were originally defined by Sun Microsystems; the service is now widely
implemented by other vendors. Originally called Yellow Pages (YP), some of the binary names still start
with yp.
The original NIS design was seen to have inherent limitations, specifically in the areas of scalability and
security. Therefore, modern and secure directory systems (primarily LDAP) are used as alternatives.
The NIS information is stored in NIS maps, typically providing the following primary information:
• Password-related data similar to data stored in /etc/passwd
• Group-related data similar to data stored in /etc/group
• Network configuration, such as netgroups
What is Microsoft Windows NT 4.0 Domain Controller (NT4) / Samba Primary Domain Controller
(PDC)?
PDCs are still used by customers. The Samba software can be configured as PDC and customers can
run Samba on Linux, acting as PDC. The Samba4 project has the goal to run Samba as AD server.
Authorization
What is authorization?
The objective of authorization is to grant or deny access to an already authenticated identity (for example
Storwize V7000 Unified NAS user, Storwize V7000 Unified administrative user, IBM service personnel) to
resources (for example, to read a file stored on Storwize V7000 Unified, run a privileged command, and
so on).
The objective of access control is to assure that only authenticated and authorized identities get access to
certain resources. Access control must prevent unauthorized access (for example, reject the running of a
Storwize V7000 Unified CLI command or reject read access of a Storwize V7000 Unified user to a file
stored on Storwize V7000 Unified which is owned by another user).
Generally, an ACL is a list of permissions which is attached to a resource. An ACL describes the identities
that are allowed to access (for example, read, write, and execute) the respective resource. ACLs are the
built-in access control mechanism of UNIX and Windows systems. Storwize V7000 Unified uses the Linux
built-in ACL mechanism for access control to files that are stored on GPFS.
There are a broad range of ACL formats which differ in syntax and semantics. The ACL format defined by
NFSv4 is called NFSv4 ACL. GPFS ACLs implement the NFSv4 style ACL format; they are also referred
to as GPFS NFSv4 ACL. Storwize V7000 Unified system stores all user files in GPFS. The GPFS NFSv4
ACLs are used for access control of files stored on Storwize V7000 Unified.
The implementation of NFSv4 ACLs in GFPS does not imply that GPFS or Storwize V7000 Unified
support the full NFSv4 protocol at the time of this publication.
The POSIX bits of a file are a different way the specify access permissions to files. UNIX file systems
allow you to specify the owner and the group of a file. The POSIX bits of a file allow you to configure
access control for the owner, the group, and for all other users to read, update, or run the file. POSIX bits
are less flexible than ACLs.
GPFS NFSv4 ACLs and CIFS ACLs are not compatible. For instance, CIFS supports unlimited nested
groups, which is not fully supported by GPFS NFSv4 ACLs. Storwize V7000 Unified can map only certain
CIFS ACLs to GPFS NFSv4 ACLs, which results in some limitations. It is a known limitation that in this
aspect current Storwize V7000 Unified is not fully compatible with CIFS ACLs.
Refer to the Storewize V7000 Unified Information Center for all the Authorization limitation details at:
http://pic.dhe.ibm.com/infocenter/storwize/unified_ic/topic/com.ibm.storwize.v7000.unified.140.do
c/mng_t_auth_configure_integ.html
Which are the different authentication and ID mapping configurations supported by Storwize
V7000 Unified?
The different authentication and ID mapping configurations supported by Storwize V7000 Unified are
listed in the following table. You can click a section name to navigate to the corresponding section for
more details.
NT4/ Samba PDC Auto •Customer uses Samba PDC to store user
information and user passwords. “NT4 / Samba PDC”
LDAP (Kerberos) LDAP (Kerberos) •NAS services are required to be Kerberos server
enabled (which increases security by not sending
plain text passwords via the wire to Storwize
V7000 Unified.)
•Customer plans to use Storwize V7000 Unified for
remote replication.
Note : It is recommended that you refer to the man page of every command to understand every option
and its usage .
Does Storwize V7000 Unified support support configuration of authentication using GUI?
Storwize V7000 Unified GUI does support authentication configurations. However, some advanced
functionalities are provided by CLI only. This paper illustrates Storwize V7000 Unified CLI as well as GUI
to be used for authentication configurations.
Can Storwize V7000 Unified admin users be authenticated through an external directory service,
similar to that in case of other NAS users?
No. Only Storwize V7000 Unified NAS users can be authenticated through an external directory service.
Accounts for Storwize V7000 Unified admin users must be created on the Storwize V7000 Unified system
using the mksuser CLI command or the Storwize V7000 Unified GUI.
Multiple directory services are not supported simultaneously. Only one authentication method (please see
the list of supported methods) is supported at one time for user authentication.
Can Storwize V7000 Unified be configured with multiple instances of the same directory services?
No, only one instance (for example one AD domain) can be configured.
AD – The trust relationships of multiple AD domains to the principle AD domain can be configured.
Storwize V7000 Unified should be configured with the principle AD domain. Once IBM Storwize V7000
Unified is configured with one AD domain, user information from all the other domains in a trust with this
primary domain can be accessed.
LDAP – Multiple LDAP servers can be configured and must be replicas of the same master LDAP server,
or they can be any LDAP host with the same schema, which contain data that is mirrored from the same
LDAP Data Interchange Format (LDIF) file.
The following ID mapping methods are available for Storwize V7000 Unified with AD.
• Microsoft AD with Storwize V7000 Unified internal automatic ID mapping
• Microsoft AD with SFU
• Microsoft AD with NIS
Microsoft AD
Storwize V7000 Unified with AD is the right choice for customers with the following conditions:
• When only Windows users and clients will be using Storwize V7000 Unified.
• Customer uses Microsoft Active Directory (AD) to store user information and user
passwords.
• Customer does not use SFU.
• Customer does not plan to use Storwize V7000 Unified remote replication.
What are the prerequisites for configuring Storwize V7000 Unified with AD?
The cfgad CLI command configures Storwize V7000 Unified with AD. The cfgad command requires an
AD administrator user ID and password to join the Storwize V7000 Unified system as a memeber into the
AD domain. The provided AD administrator ID must have the privilege to add a new computer account to
the AD domain. Storwize V7000 Unified does not store the provided AD administrator ID and password. A
temporary AD administrator ID is sufficient which can be removed from the AD server after the Storwize
V7000 Unified is configured with AD successfully.
Data access through different protocols such as CIFS and NFS can be done only if UIDs and GIDs are
identical on client and Storewise V7000 Unified. To configure heterogeneous data access using CIFS and
NFS, you need to use the chkauth CLI command to figure out UIDs and GIDs generated by Storwize
V7000 Unified and assign to UNIX users on NFS clients. Instead, to avoid such situation, it is
recommended to use central ID mapping such as SFU or NIS.
After the data is stored on Storwize V7000 Unified with AD, it is very difficult to add SFU later on, because
the UIDs and GIDs used internally by Storwize V7000 Unified must match the UIDs and GIDs stored in
SFU. This is impossible if conflicting UIDs and GIDs are already present in SFU. So, such customers
should configure Storwize V7000 Unified with AD and SFU right from the beginning.
Another limitation is the ability to configure Storwize V7000 Unified remote replication, because the
source and target Storwize V7000 Unified systems are very likely to generate different UIDs / GIDs for
same user or group. The ACLs copied from the source to the target include UIDs and GIDs of the source
which are inconsistent with the UIDs and GIDs of the target. Central ID mapping such as SFU should be
used for remote replication.
It is best practice to omit the --preferredDC option. Storwize V7000 Unified can find all additional
available domain controllers automatically.
Recommended usage of cfgad for configuring Storwize V7000 Unified with AD:
cfgad -s adServerName -p password -u userName
Warning: Storwize V7000 Unified must not be configured with any authentication method before using
cfgad.
[st001.virtual1.com]$ lsauth
EFSSG0571I Cluster st001.virtual1.com is not configured with any type of
authentication server.
[st001.virtual1.com]$ lsauth
AUTH_TYPE = ad
idMapConfig = 10000000-299999999,1000000
idMappingMethod = auto
domain = virtual1
clusterName = st001.virtual1.com
userName = administrator
adHost = ad1.virtual1.com
passwordServer = *
realm = virtual1.com
EFSSG1000I The command completed successfully.
To configure the Storwize V7000 Unified system with AD using the GUI:
1. Select Active Directory as the authentication method.
2. Specify the Active Directory server and administrator user credentials and click Finish.
range
Unix ID are allocated from this range.
Use syntax: <lowerID of the range> - <higherID of the range>
The lowerID of the range must be at least 1000. Default value for range is 10000000-299999999.
rangesize
The rangesize signifies the number of IDs per domain.It defines the available number of UIDs/GIDs per
domain. If the 'range' is defined as 10000-20000,and range size is 2000, then it means that 5 domains
each consisting of 2000 IDs can be mapped.
When a user or group is defined in Active Directory it is identified by an SID which includes a component
called RID(Relative Identifier). If RID of any user is greater than the rangesize , then that user cannot
access Storewize V7000 Unified exports.So, rangesize should be chosen to allow highest possible RID
of users and groups.Choose this value carefully, as this cannot be changed after the first ranges for
domains have been defined.The RID value depends on the number of users and groups. Ensure that the
rangesize takes into account the planned growth of users or groups.
Example:
Step1: Figure out the highest RID that has been assigned till now. To determine the highest RID find the
'rIDNextRID' attribute in Acitve Directory
One way to figure that out is to use 'dcdiag' command on the command prompt of the operating System
hosting Active Directory.
for example:
Command => "dcdiag /s:{IP of system hosting AD} /v /test:ridmanager"
Another way to find out rIDNextRID is to run an ldap query on the following DN Path:
CN=Rid Set,Cn=computername,ou=domain controllers,DC=domain,DC=COM
If there is more than 1 domain controller serving the AD domain , then highest RID among the domain
controllers should be used.
Step2: Figure out the expected number of users that will be added on top of current number of users.
Step3: Add the highest RID from step1 to number of users from step2. This forms your rangesize.
Storwize V7000 Unified requires a temporary AD administrator ID for secure joining of the AD domain.
This behavior is consistent with joining a native Windows server to an AD domain.
Storwize V7000 Unified with AD and SFU is the right choice for customers under the following conditions:
• Customer uses Microsoft AD to store user information and user passwords.
• Customer plans to use NFS along with CIFS for NAS access.
• Customer plans to use Storwize V7000 Unified remote replication.
What are the prerequisites for configuring Storwize V7000 Unified with AD and SFU?
• Storwize V7000 Unified is configured with AD authentication (for example, cfgad was
executed successfully).
• Microsoft Windows SFU is installed along with on the AD server.
• So far no files have been stored on Storwize V7000 Unified (refer to the limitations in the
following section).
• Warning: The SFU ID range must not overlap with –idMapConfig (default range
10000000-299999999). This range is used by Storwize V7000 Unified to automatically
generate UID or GIDs for domains that are not configured in SFU. The command will not
allow you to overlap the range
• The primary Windows group assigned to AD users must have a GID assigned. Otherwise
users will be denied access to the system.
• Each user in AD must have a valid UID and GID assigned in order to be able to mount and
access Storwize V7000 Unified NAS exports. The UID and GID number assigned must be
within the range used in the cfgsfu command.
What are the limitations of Storwize V7000 Unified with AD and SFU?
• Warning: The ID range specified with the cfgad parameter –idMapConfig (default range
10000000-299999999) is reserved for Storwize V7000 Unified and must not be used in SFU.
• SFU should not be configured, once data is stored on Storwize V7000 Unified. Refer to the
limitations of Storwize V7000 Unified with AD for further details.
• Enabling SFU for a trusted domain requires a two-way trust between the principal and the
trusted domain.
• The administrator is responsible for installing SFU on the desired Active Directory server and
assign UID/GID to user and group. The command does not return an error if SFU/SUA is
not installed or if UID/GID is not assigned.
• Once id mapping service from SFU is configured against the Storewize V7000 Unified
system , re-executing the cfgsfu command will overwrite the earlier configuration with the
new one.
• Group memberships defined under the 'Unix attributes' tab are not honored. Only the
windows groups memberships will be recognized.
Before using cfgsfu, Storwize V7000 Unified must be configured with AD authentication.
Use range to define the matching UID and GID ranges. This range should not intersect with –
idMapConfig (default range 10000000-299999999), which is reserved by Storwize V7000 Unified to
automatically generate UID and GID for users and groups that are not configured with SFU.
The command does not validate the schema mode against the Active Directory domain controller.
Ensure that the correct schemaMode has been specified else the functionality may not work.
To configure Storwize V7000 Unified with AD and SFU using the GUI:
1. Select Active Directory as the authentication method.
2. Specify the AD server and administrator credentials and enable SFU with domain, ID range, schema
mode and click Finish.
Storwize V7000 Unified with AD and NIS is the right choice for customers under the following conditions:
• Customer uses Microsoft AD to store user information and user passwords.
• Customer plans to use NFS for NAS access.
• User and group IDs are stored and managed in NIS.
What are the prerequisites for configuring Storwize V7000 Unified with AD and NIS?
• Storwize V7000 Unified is configured with AD authentication (for example, cfgad was
executed).
• NIS is used for all UID and GID mapping.
• So far no files have been stored on Storwize V7000 Unified (refer to limitations in the
following section).
• All NIS users and groups name should be in lower case with blank spaces replaced with
underscores.
What are the limitations of Storwize V7000 Unified with AD and NIS?
• NIS should not be configured once data is stored on Storwize V7000 Unified. Refer to the
limitations of Storwize V7000 Unified with AD for further details.
• Lower value of the idMapUserRange and idMapGroupRange option in the cfgnis
command cannot be less than 1024. (cfgnis command will not allow minimum range value
less than 1024.)
• UNIX style names do not allow spaces in the name. For mapping Active Directory users or
group to NIS users, consider the following conversion on NIS server
Warning:If the above mentioned naming convention is not used for users, then NIS mapping will not
happen, and idmapping for such users will follow user map rules defined in cfgnis --userMap option for
that AD domain.
What are the best practices for Storwize V7000 Unified with AD and NIS?
Administrator must ensure that the existing NIS IDs do not fall in idmapUserRange and
idmapGroupRange. For more information, refer to the Reference > CLI Reference > cfgnis > --userMap
section in Information Center.
The cfgnis command enables NIS user ID mapping for a Storwize V7000 Unified system which is already
configured with AD:
cfgnis [-c { clusterID | clusterName }] [--extend { extend }] [-m { modify }]
[-d { nisDomain }] [--domainMap { domainMap }] [--serverMap { serverMap }
[--userMap { userMapping }] [--disableVerifyServer
{ disableVerifyServer }]
[--useAsIdmap { useAsIDmap }] [--idmapUserRange { idmapUserRange }]
[--idmapGroupRange { idmapGroupRange }]
Storwize V7000 Unified must be configured with AD authentication, before using cfgnis for configuring
NIS user and group ID mappings.
How to configure Storwize V7000 Unified with AD and NIS using the GUI?
To configure Storwize V7000 Unified with AD and NIS using the GUI:
1. Select Active Directory as the authentication method and select the Extended NIS check box, and
click Next
3. Specify the NIS primary domain, NIS server-domain map, AD-NIS domain map, AD-NIS user map,
and user and group ID ranges and then click Finish.
How to configure Storwize V7000 Unified with NT4 / Samba PDC using CLI?
The cfgnt4 command configures Storwize V7000 Unified with NT4 / Samba PDC:
cfgnt4 -s <nt4Host> --nt4NetbiosName <nt4NetbiosName> -d <nt4Domain> -u
<nt4AdminUser> [-p <nt4AdminPw>] [-c < clusterID | clusterName >]
Recommended usage of cfgnt4 for configuring Storwize V7000 Unified with NT4 / Samba PDC:
cfgnt4 -s <nt4Host> -p <nt4AdminPw> -u <nt4AdminUser> - nt4NetbiosName
<nt4NetbiosName> -d <nt4Domain>
Warning: Storwize V7000 Unified must not be configured with any authentication method, before using
the cfgnt4 command.
2. Run cfgnt4 to configure Storwize V7000 Unified with NT4 / Samba PDC.
3. Run lsauth to verify that NT4 / Samba PDC authentication method is configured.
How to configure Storwize V7000 Unified with NT4 / Samba PDC using the GUI?
To configure Storwize V7000 Unified with NT4 / Samba PDC using the GUI:
1. Select Samba primary domain controller (PDC) as the authentication method and click OK.
2. Specify Samba PDC Server host name / IP address, NetBIOS name, domain name, and
administrator user credentials and click Finish.
When to choose Storwize V7000 Unified with NT4 / Samba PDC and NIS?
Storwize V7000 Unified with AD and NIS is the right choice for customers with the following conditions:
• Customer uses Samba PDC to store user information and user passwords. Samba can
serve as a NT4 server when configured as a PDC.
• Customer plans to use NFS for NAS access.
• User ID are stored and managed in NIS.
What are the prerequisites for configuring Storwize V7000 Unified with NT4 / Samba PDC and NIS?
• Storwize V7000 Unified is configured with Nt4 authentication (for example, cfgnt4 was
executed).
• NIS is used for all UID mapping.
What are the limitations of Storwize V7000 Unified with NT4 / Samba PDC and NIS?
• NIS should not be added, once data is stored on Storwize V7000 Unified. (Refer to the
limitations of Storwize V7000 Unified with AD for further details)
• Lower value of idMapUserRange and idMapGroupRange option in cfgnis command cannot
be less than 1024
• UNIX style names do not allow spaces in the name. For mapping AD users or group to NIS
users, apply the following convention on NIS server
For example, an AD user or group name 'CAPITAL Name' should have a corresponding name on NIS as
'capital_name'.
Warning:If above mentioned naming convention is not used for users, then NIS mapping will not happen,
and idmapping for such users will follow user map rules defined in cfgnis --userMap option for that
NT4/PDC domain.
What are the best practices for Storwize V7000 Unified with NT4 / Samba PDC and NIS?
Administrator must ensure that the existing NIS IDs do not fall in idmapUserRange and
idmapGroupRange. For more information, refer to the Reference > CLI Reference > cfgnis > userMap
section in Information Center.
How to configure Storwize V7000 Unified with NT4 / Samba PDC and NIS using CLI?
The cfgnis command enables NIS user mapping for a Storwize V7000 Unified system which is already
configured with Samba PDC / NT4:
cfgnis [-c { clusterID | clusterName }] [--extend { extend }] [-m { modify }]
[-d { nisDomain }] [--domainMap { domainMap }] [--serverMap { serverMap }
[--userMap { userMapping }] [--disableVerifyServer
{ disableVerifyServer }]
[--useAsIdmap { useAsIDmap }] [--idmapUserRange { idmapUserRange }]
[--idmapGroupRange { idmapGroupRange }]
3. Run lsauth to verify that the NT4 / Samba PDC authentication method is configured with NIS.
To configure Storwize V7000 Unified with NT4 / Samba PDC and NIS using the GUI:
1. Select Samba primary domain controller (PDC) as the authentication method and check the
Extended NIS check box, and then click Next.
Figure 13: Specifying the authentication method for Samba PDC and NIS
2. Specify Samba PDC detail as mentioned in step 2 of Samba PDC configuration using the GUI.
3. Specify NIS primary domain, NIS server- map, Samba PDC-NIS domain map, Samba PDC-NIS user
map, user and group ID range and click Finish.
Figure 14: Specifying Samba PDC and NIS parameters
4. Wait for successful completion of configuration and then click Close.
Note: It is a best practice to use SSL / TLS and Kerberos-based LDAP to have maximum security.
What are the prerequisites for configuring Storwize V7000 Unified with LDAP?
To support the CIFS protocol, one needs to extend the schema, which requires more attributes for POSIX
user objects (mainly to store SID, Windows password hash and domain information, and so on). The
details of this are explained in the following InfoCenter sections:
Administering > Administering the file system> Managing > Managing authentication and ID
mapping > Setting up LDAPserver prerequisites
and
Administering > Administering the file system> Managing > Managing authentication and ID
mapping > Setting up LDAPserver prerequisites > Updating LDAP user information with unique
Samba attributes
All command line options are categories in the following main functionality.
-b ldapBase
-D ldapBindDn
[-p ldapBindPw]
-s ldapServers
[--ldapUserSuffix ldapUserSuffix]
[--krbRealm krbRealm]
Recommended usage of cfgldap for configuring Storwize V7000 Unified with LDAP is:
cfgldap -s ldapserver -p secret -b dc=ldapserver,dc=com -D
cn=manager,dc=ldapserver,dc=com -sslMode off
Note: For multiple LDAP servers, you need to combine the server certificates of all LDAP servers into a
single certificate file, which will then be applied to all the LDAP servers. Certificates are created with
specific LDAP server name; this server name must match with the LDAP host names (as otherwise
configuration might fail).
Warning: Storwize V7000 Unified must not be configured with any authentication method before using
the cfgldap command.
krbMode = off
EFSSG1000I The command completed successfully.
How to configure Storwize V7000 Unified with LDAP using the GUI?
2. Specify LDAP Server host name or IP address along with port number, search base for users and
groups, and bind distinguished name, password, and the workgroup that this system should be part
of. Security method needs to be set to off.
Figure 17: Specifying LDAP parameters
3. Wait for successful completion of configuration and click Close.
Secure LDAP
What are the prerequisites for configuring Storwize V7000 Unified with secure LDAP?
• For CIFS protocol-based data access, extend schema. (The CIFS protocol requires more
attributes than POSIX user objects (mainly to store SID, Windows password hash and domain
information, and so on)).
• To support secure communication between Storwize V7000 Unified and LDAP server using SSL
/ TLS, you need to have LDAP server certificate.
How to configure Storwize V7000 Unified with secure LDAP using CLI?
Warning: Storwize V7000 Unified must not be configured with any authentication method, before
using cfgldap.
2. Run cfgldap to configure Storwize V7000 Unified with secure LDAP with SSL.
3. Run lsauth to verify that LDAP authentication method is configured with SSL. (This step is optional)
To configure Storwize V7000 Unified with secure LDAP using the GUI:
1. Select LDAP as the authentication method and click Next.
2. Specify LDAP Server host name or IP address along with port number, search base for users and
groups, bind distinguished name and password, and workgroup that this system should be part of.
Security method needs to be set to ssl or tls. Specify the LDAP server certificate and click Upload.
Figure 20: Specifying LDAP parameters
When to choose Storwize V7000 Unified with secure LDAP and MIT Kerberos
• Existing environment is based on an LDAP directory service
• Secure communication with LDAP server using SSL or TLS protocol is required.
• NAS services are required to be Kerberos server enabled (which increases security by not
sending passwords in clear text over the wire to Storwize V7000 Unified.)
• Customer wants to use remote replication.
What are the prerequisites for configuring Storwize V7000 Unified with secure LDAP and MIT
Kerberos?
• Existing Kerberos infrastructure is configured and accessible from Storwize V7000 Unified.
• LDAP server certificate is available (to support secure communication between Storwize V7000
Unified and LDAP server using SSL / TLS).
• KeyTab file to authenticate to the Kerberos Key Distribution Center (KDC) is available (to
support secure communication between Storwize V7000 Unified and systems accessing file
services using Kerberos.)
What are the limitations of Storwize V7000 Unified with LDAP and MIT Kerberos?
• Storwize V7000 Unified does not support kerberized data access using the following protocols:
− FTP
− HTTPS
− SCP
• Only NFSv3 and CIFS protocol support kerberized data access.
• The user's SID is comprised of the user’s RID and SID of the domain account created in the
LDAP server after Storwize V7000 Unified LDAP based authentication configuration.
For example, a Storwize V7000 Unified machine with the NetBIOS name, st001 will have an
entry in the following format:
dn: sambaDomainName=ST001,dc=sonasldap,dc=com
sambaDomainName: ST001
sambaSID: S-1-5-21-3315143710-1287377127-4281028267
So the users should have SID of the format <domain account SID>- <RID>
For example, for st001, it should be S-1-5-21-3315143710-1287377127-4281028267-<RID>.
Refer to the Information Center to find more information on the following topic:
Administering > Administering the file system> Managing > Managing authentication and ID mapping >
Setting up LDAPserver prerequisites > Updating LDAP user information with unique Samba attributes
How to configure Storwize V7000 Unified with secure LDAP and MIT Kerberos using CLI?
The cfgldap command configures Storwize V7000 Unified with secure LDAP and Kerberos.
Example of configuring Storwize V7000 Unified with secure LDAP and Kerberos
To configure Storwize V7000 Unified with secure LDAP and Kerberos:
1. Run lsauth to verify that no authentication method is configured.
2. Run cfgldap to configure Storwize V7000 Unified with secure LDAP and Kerberos KDC. With secure
communication between Storwize V7000 Unified and LDAP server based on SSL protocol.
How to configure Storwize V7000 Unified with secure LDAP and MIT Kerberos using the GUI?
This is not supported in current release. Use the CLI method to complete this configuration.
How to configure Storwize V7000 Unified with LDAP and MIT Kerberos using the GUI?
To configure Storwize V7000 Unified with LDAP and MIT Kerberos using the GUI:
What are the limitations of Storwize V7000 Unified with Local Authentication?
1. Currently there is no support for importing / exporting user and group data from another
authentication server to local authentication server.
2. Local ( NAS ) User names and local ( NAS ) Group names are case insensitive.
3. Secured (kerberized ) CIFS / NFS based access is not supported.
4. Local authentication server cannot be used as an external authentication server in customer
infrastructure.
5. Async replication is not supported.
How to configure Storewize V7000 Unified with Local Authentication using CLI?
The cfglocalauth command configures Storwize V7000 Unified with Local authentication,
cfglocalauth [-c < clusterID | clusterName >]
Warning: Storwize V7000 Unified must not be configured with any authentication method, before using
cfglocalauth.
[st001.mgmt001st001 ~]$lsauth
EFSSG0571I Cluster st001.virtual1.com is not configured with any type of
authentication server
2. Run command cfglocalauth to configure Storewize V7000 Unified with Local Authentication
To start using the system for NAS based access it is must to add users and groups when local
authentication is configured. Set of CLI commands have been provided to help create the users and
groups.
5. Run command chnasuser to modify user properties. In this example we modify password.
To enable the NAS user to change their own password an HTML portal can be accessed hosted on the
public IP’s served by the nodes of the cluster. The URL to access the webpage is:
How to configure Storewize V7000 Unified with Local Authentication using GUI?
To configure Storewize V7000 Unified with Local Authentication using GUI:
1. Select Local Authentication as authentication method and click Finish.
3. To add a group, select Groups tab on the left pane and click on New Group button on the top.
Specify Group Name and Group ID (if required) and click OK.
Figure 28: Adding group
5. To add user, select Users tab on the left and click on New User button on the top. Specify User
Name and other details and click OK.
Figure 29: Adding User
6. To modify user properties, select Users tab on the left pane, click on the user, and select operation
from Action list on the top.
7. To remove a group, select Groups tab on the left pane, click on the group, and select operation from
Action list on the top.
8. For a user to change his/her password, use the link https://<Public IP or Cluster
Name>/changepassword.html.
Storwize V7000 Unified storage system supports netgroups for the only purpose of grouping hosts to
restrict access to NFS file systems exported by Storwize V7000 Unified
Netgroup
Authentication ID mapping CLI command to configure
database
and netgroups from NIS, then follow the steps listed below -
Example-
1. Run lsauth to verify that no authentication method is configured.
[st001.mgmt001st001 ~]$lsauth
EFSSG0571I Cluster st001.virtual1.com is not configured with any type of
authentication server.
2. Run cfgnis
[st001.mgmt001st001 ~]#lsauth
AUTH_TYPE = nis
NIS_ServerMap = 192.168.1.3:Nis
idMappingMethod = none
clusterName = st001.virtual1.com
NIS_Domain = Nis
EFSSG1000I The command completed successfully.
Note: In above configuration, only NFS protocol is supported.
Example -
3. Run lsauth
Example-
1. Run lsauth to verify that the authentication method configured is AD.
2. Run cfgnis
3. Run lsauth to verify that AD authentication method is configured with NIS ID Mapping
1. Run lsauth to verify that system is configured with AD authentication along with SFU for ID mapping
2. Run cfgnis to configure Storwize V7000 Unified to lookup netgroups from NIS.
3. Run lsauth to verify that AD authentication method is configured with SFU ID mapping and NIS:
[st001.mgmt001st001 ~]#lsauth
AUTH_TYPE = ad
SFU_virtual1 = ad,12000-99999,sfu
NIS_ServerMap = 192.168.1.3:Nis
idMapConfig = 10000000-299999999,1000000
domain = virtual1
idMappingMethod = sfu
clusterName = st001.virtual1.com
userName = administrator
adHost = ad1.virtual1.com
NIS_Domain = Nis
passwordServer = *
realm = virtual1.com
EFSSG1000I The command completed successfully.
How to configure Storwize V7000 Unified storage NFS export with a netgroup?
Storwize V7000 Unified command mkexport is used to configure NFS export with netgroup.
mkexport testnetgrp /ibm/gpfs0/netgroup --nfs "@myntgrp(rw,
no_root_squash)" --owner testuser1
Warning: It is very important to prepend @ to the netgroup name. If one does not use '@' , then
Storewize V7000 Unified server will treat that name as a client host. In case you neglect to prepend the
‘@’ remove the export and create it again with '@'
Can netgroups be used to control access for other NAS protocols than NFS?
No.
How to check how Storwize V7000 Unified resolves a netgroup?
There is currently no Storwize V7000 Unified CLI command to verify how Storwize V7000 Unified
resolves netgroups. As of this release, you would need to use a direct Linux command; see next.
The following Linux command can be used to check netgroup information. Root access is required on
Storwize V7000 Unified to execte following command.
getent netgroup <Netgroup Name>
It is not recommended to use IP addresses in netgroup definitions because NFS inherently works with
host names for netgroups.
Note: The hostname used in the netgroup definition must have both forward and reserve DNS lookup
configured. Thus, Storwize V7000 Unified must be able to resolve both the hostname and the host IP with
which mount service is requested on Storwize V7000 Unified. Otherwise, mount might fail with an “access
denied” error.
Local Authentication (please section on Local Authentication for details) can be used if the customer does
not need more than 1000 users and more than 100 groups. Otherwise, configuring OpenLDAP is one of
the possible solution approaches. Perform the following steps to configure OpenLDAP.
1. Select any of the suitable Linux distribution that supports OpenLDAP. Install Linux operating system
on the server on which you intend to install LDAP server.
Note: Refer to the documentation of selected Linux for complete prerequisite and installation
procedure.
2. Install and configure OpenLDAP Server on Linux machine prepared in the previous step.
Note: Refer to the OpenLDAP documentation for pre-requisite, installtion, and configuration of
OpenLDAP server.
4. For CIFS protocol-based data access, extend schema. (The CIFS protocol requires more attributes
than POSIX user objects (mainly to store SID, Windows password hash and domain information, and
so on)).
You can find more details in the following InfoCenter section:
Administering > Administering the file system > Managing > Managing authentication and ID
mapping > Setting up LDAP server prerequisites
and
Administering > Administering the file system > Managing > Managing authentication and ID
mapping > Setting up LDAP server prerequisites > Updating LDAP user information with unique
Samba attributes
Refer to the “Storwize V7000 Unified with LDAP” section for configuring Storwize V7000 Unified
authentication against LDAP.
Limitations
Consider the following authentication limitations when configuring and managing the Storwize V7000
Unified system:
4. An external authentication source is required to configure IBM Storwize V7000 Unified, unless local
authentication option is used. Storwize V7000 Unified can be configured with only one external
authentication source. We do support multiple Active Directories in trust with the Active Directory which is
configured with IBM Storwize V7000 Unified, however multiple independent Active Directories cannot be
configured with IBM Storwize V7000 Unified.
5. Authentication choice has to be made carefully since the Authentication method cannot be changed
once configured.
6. When Storwize V7000 Unified system is configured with LDAP + Kerberos authentication, kerberized
access for CIFS and NFS protocols is supported ; FTP, SCP and HTTPS are not kerberized.
7. For Active Directory (AD) with the Services for Unix (SFU) UID/GID/SID mappings extension:
a. Enabling SFU for a trusted domain requires a two-way trust between the principal and the
trusted domain.
b. To access the Storwize V7000 Unified system, users and groups must have a valid UID/GID
assigned to them in Active Directory. Allowed range is between 1 and 4294967295, both inclusive.
It is advisable to keep the lower range greater that 1024 to avoid conflict with the CLI users.
Invoking the command with lower range less than 1024 will generate a warning message and ask
for confirmation. Use --force option to override it.
c. For user access, the primary group on the Storwize V7000 Unified system is the Microsoft
Windows Primary group, not the Unix primary group that is listed in the Unix attribute tab in the
user's properties. Therefore, the user's primary Microsoft Windows group must be assigned a
valid GID.
8. For Active Directory (AD) with the Network Information Service (NIS) mappings extension:
a. Since Unix style names do not allow spaces in the name, the following conventions for
mapping Active Directory users and groups to NIS are implemented:
i.Convert all upper case characters to lower case characters.
ii. Replace every space character with the underscore character. For example, an Active
Directory user named CAPITAL Name has the corresponding name capital_name on NIS.
Note that the side effect of this is that if a user in AD had an underscore character, it cannot
be supported because we would lookup a name after replacing underscore with a blank but
such a user will not exist in AD
b. We do not have a provision of user name mapping for AD user names to NIS user names (to
handle the case of names with special characters in AD compared to NIS).
c. For CIFS access, we resolve group membership as defined in AD (ie do not lookup
membership of a user for group defined in NIS; therefore authorization will be based on groups
defined in AD (using groups defined in NIS but not in AD will result in inconsistent and unexpected
results).
d. In this AD with NIS mappings extension configuration, some restrictions apply when using
the lsquota and setquota Storwize V7000 Unified CLI commands. See the man pages for lsquota
and setquota for details.
9. A user cannot belong to more than 1000 groups.
10. When IBM Storwize V7000 Unified is configured with Active Directory, we do not support sidHistory
attriibute of the user. Therefore if we try to migrate files from a storage which supports sidHistory, it will
result in data access issues with resources that rely on the use of sidHistory on the source system.
11. IBM Storwize V7000 Unified configured with Active Directory cannot use LDAP as an ID mapping
source.
12. If Active Directory is already configured on the Storwize V7000 Unified system, you can only use the
--idMapConfig option of the cfgad Storwize V7000 Unified CLI command to change the high value of the
range, and the high value of the range can only be changed to a higher value. You cannot change the
high value of the range to a lower value. You cannot change the low value of the range, and you cannot
change the range size. For example, if you used the cfgad Storwize V7000 Unified CLI command with the
--idMapConfig option to configure Active Directory specifying a value for the --idMapConfig option as
3000-10000:2000, you can only use the cfgad Storwize V7000 Unified CLI command with the
--idMapConfig option to increase the value 10000 for the high value of the range. You cannot decrease
the value of 10000 for the high value of the range. You cannot change the value 3000 for the low value of
the range, and you cannot change the value 2000 for the range size.
13. Although, change of authentication and ID Mapping is not adviced, if there is pressing need to
change from NIS ID mappings to Active Directory ID mappings, or to change the ID mapping parameters
of an already existing Active Directory configuration by using the --idMapConfig option of the cfgad
Storwize V7000 Unified CLI command, either to change the low value of the range, decrease the high
value of the range, or change the range size, you must perform the following steps in the following
sequence:
a. Submit the cleanupauth Storwize V7000 Unified CLI command and do not specify the
--idmapDelete option.
b. Submit the cleanupauth Storwize V7000 Unified CLI command and do specify the
--idmapDelete option.
c. Submit the cfgad Storwize V7000 Unified CLI command with the options and values that you
want for the new Active Directory configuration.
Important: If you do not perform the above three steps in sequence, results are unpredictable and can
include complete loss of data access. Additionally, when you execute cleanupauth command, exiting
data/exports cannot be accessed. Be very sure if you really want to change authentication or id mapping
methods.
14. UIDs and GIDs less than 1024 are denied access for the FTP, SCP and HTTPS protocols for all of
the supported authentication schemes other than Active Directory with SFU.
15. When using Microsoft Active Directory (AD) as an authentication mechanism, Storwize V7000 Unified
supports only pre-Windows 2000 logon name (also known as the Netbios logon name) for authentication
and not the User Principle Name (UPN). Note that AD replaces some of the special characters used in
the UPN with the underscore character (hexadecimal value 0x5F) for the related pre-Windows 2000 logon
name. For the complete list of the special characters that are replaced in the pre-Windows 2000 logon
name, see Microsoft Active Directory documentation.
Follow these steps to locate the pre-Windows 2000 logon name for an AD domain user:
a. From the Windows Start menu, select Administrative Tools > Active Directory Users and
Computers.
b. Right-click the AD Domain user for which you require the pre-Windows 2000 logon name.
c. Select Properties > Account Tab and check the value of the User logon name (pre-Windows
2000): field.
16. Users with the same username from different organizational units of the LDAP server are denied
access to CIFS shares without regard to the LDAP User Suffix and LDAP Group suffix values configured
on the system.
17. Authentication configuration commands stop and restart the NAS services CIFS, NFS, FTP, SCP and
HTTPS. This action is disruptive for clients that are connected. Connected clients lose their connection,
and file operations are interrupted. File services resume a few seconds after an authentication
configuration command completes.
Summary
This white paper introduced the basics of user authentication, authorization, ID mapping, directory service
and netgroup. It explained the different authentication mechanisms, and ID mapping and netgroup
configurations supported by the IBM Storwize V7000 Unified system with detailed information on when to
select a particular authentication method along with the prerequisites, step-by-step setup procedure, and
limitations of each configuration.
• IBM Redbooks
ibm.com/redbooks
Pankaj Ahire was an authentication lead for IBM Storwize V7000 Unified development.
Varun Mittal, Kaustubh Katruwar, and Saurabh Gawande are the members of the IBM Storwize V7000
Unified Authentication development team.
Trademarks and special notices
© Copyright IBM Corporation 2012.
References in this document to IBM products or services do not imply that IBM intends to make them
available in every country.
IBM, the IBM logo, and ibm.com are trademarks or registered trademarks of International Business
Machines Corporation in the United States, other countries, or both. If these and other IBM trademarked
terms are marked on their first occurrence in this information with a trademark symbol (® or ™), these
symbols indicate U.S. registered or common law trademarks owned by IBM at the time this information
was published. Such trademarks may also be registered or common law trademarks in other countries. A
current list of IBM trademarks is available on the Web at "Copyright and trademark information" at
www.ibm.com/legal/copytrade.shtml.
Java and all Java-based trademarks and logos are trademarks or registered trademarks of Oracle and/or
its affiliates.
Microsoft, Windows, Windows NT, and the Windows logo are trademarks of Microsoft Corporation in the
United States, other countries, or both.
Intel, Intel Inside (logos), MMX, and Pentium are trademarks of Intel Corporation in the United States,
other countries, or both.
UNIX is a registered trademark of The Open Group in the United States and other countries.
Linux is a trademark of Linus Torvalds in the United States, other countries, or both.
SET and the SET Logo are trademarks owned by SET Secure Electronic Transaction LLC.
Other company, product, or service names may be trademarks or service marks of others.
All customer examples described are presented as illustrations of how those customers have used IBM
products and the results they may have achieved. Actual environmental costs and performance
characteristics may vary by customer.
Information concerning non-IBM products was obtained from a supplier of these products, published
announcement material, or other publicly available sources and does not constitute an endorsement of
such products by IBM. Sources for non-IBM list prices and performance numbers are taken from publicly
available information, including vendor announcements and vendor worldwide homepages. IBM has not
tested these products and cannot confirm the accuracy of performance, capability, or any other claims
related to non-IBM products. Questions on the capability of non-IBM products should be addressed to the
supplier of those products.
All statements regarding IBM future direction and intent are subject to change or withdrawal without
notice, and represent goals and objectives only. Contact your local IBM office or IBM authorized reseller
for the full text of the specific Statement of Direction.
Some information addresses anticipated future capabilities. Such information is not intended as a
definitive statement of a commitment to specific levels of performance, function or delivery schedules with
respect to any future products. Such commitments are only made in IBM product announcements. The
information is presented here to communicate IBM's current investment and development activities as a
good faith effort to help with our customers' future planning.
Performance is based on measurements and projections using standard IBM benchmarks in a controlled
environment. The actual throughput or performance that any user will experience will vary depending
upon considerations such as the amount of multiprogramming in the user's job stream, the I/O
configuration, the storage configuration, and the workload processed. Therefore, no assurance can be
given that an individual user will achieve throughput or performance improvements equivalent to the ratios
stated here.
Photographs shown are of engineering prototypes. Changes may be incorporated in production models.
Any references in this information to non-IBM websites are provided for convenience only and do not in
any manner serve as an endorsement of those websites. The materials at those websites are not part of
the materials for this IBM product and use of those websites is at your own risk.