Sections:
|
The security descriptor describes the owner and group SIDs for the object along with its ACLs
Key topics
Questions
Sun should most likely pursue an IETF Internet Standard for SID representation and the current set of valid SID generation and encoding formats, independent of use in any particular operating system, data format, or network protocol. This can be done in parallel with but not gating our use of SIDs in Solaris. Similarly, Sun could pursue standardizing its new APIs through IEEE or POSIX.
did this get done? if so, what is the range? (d) The ability for kernel code such as FUID-aware filesystems to upcall the what does this mean? FUID-aware FS? upcall mapping? (i) The project proposes to store its mappings in a persistent database. why do the emphemeral id mappings not need to be persistent across reboots? sharemgr add lewis
sharemgr add-share -s /export/cifs -r cifs lewis Using CIFS
Enable SMB sharing for the ZFS file system.
Note – The resource name for the share is automatically constructed by the zfs command when the share is created. The resource name is based on the dataset name, unless you specify a resource name. Any characters that are illegal for resource names are replaced by an underscore character (_). To specify a resource name for the share, specify a name for the sharesmb property, sharesmb=name=resource-name. zfs set sharesmb=on FSNAME we want to support CIFS as a first-class citizen in Solaris
the Sun Software organization is working to integrate support for CIFS,
based on the stack acquired from Procom, into Solaris. The Procom CIFS stack
previously ran on Procom's operating system, code-named Montana, currently
the basis of the Sun StorageTek 5310 and 5320 NAS products
Solaris CIFS supports advisory (default) and mandatory locking
docs.sun.com/app/docs/doc/820-2429/smbservertasks?... The CIFS protocol assumes mandatory locking, but UNIX traditionally uses advisory locking. The Solaris OS can be configured to use mandatory locking on a per mount basis by using the non-blocking mandatory locking (nbmand) mount option.
"zfs create -o nbmand=on fsname" to create a ZFS with mandatory locking If you disable SMB sharing for sandbox/fs2, that file system and its children are affected.
Solaris CIFS supports files & directories only
docs.sun.com/app/docs/doc/820-2429/smboverview?a=v... The Solaris CIFS client does not include the ability to print by means of CIFS or the ability to access CIFS resources other than files and directories. The Solaris CIFS client enables an unprivileged user to mount and unmount shares on directories he owns.
CIFS in kernel land; non-file I/O requests passed to userland smbd
docs.sun.com/app/docs/doc/820-2429/smboverview?a=v... Similar to the NFS kernel service, the SMB kernel module provides SMB file I/O services directly between the network interface and the virtual file system (VFS) within the kernel. Whenever a non-file I/O request is received, such as a user authentication or an MS-RPC named pipe request, it is passed to smbd for processing in user space
The Solaris CIFS service is designed to reside in a multiprotocol environment and provide an integrated model for sharing data between Windows and Solaris systems. Although files can be accessed simultaneously from both Windows and Solaris systems, no industry-standard mechanism is used to define a user in both Windows and Solaris environments. Objects can be created in either environment, but traditionally the access control semantics for each environment are vastly different. The Solaris OS is adopting the Windows model of access control lists (ACLs) by introducing ACLs in NFSv4 and the ZFS file system, and by providing the idmapd identity mapping service.
Workgroup mode
Enable the Solaris CIFS service.
This command enables the Solaris CIFS service and any service on which it depends, such as the idmap service. (Optional) Change the Solaris CIFS service to operate in a different workgroup. By default, the Solaris CIFS service operates in a workgroup called WORKGROUP.
Edit the /etc/pam.conf file to support creation of an encrypted version of the user's password for CIFS. Add the following line to the end of the file:
See the pam_smb_passwd(5) man page. Specify the password for existing local users. The Solaris CIFS service cannot use the Solaris encrypted version of the local user's password for authentication. Therefore, you must generate an encrypted version of the local user's password for the Solaris CIFS service to use. When the SMB PAM module is installed, the passwd command generates such an encrypted version of the password.
Domain mode
Solaris CIFS supports workgroup & domain (= AD auth)
docs.sun.com/app/docs/doc/820-2429/smboverview?a=v... The Solaris CIFS service can operate in either workgroup mode or in domain mode. In workgroup mode, the Solaris CIFS service is responsible for authenticating users locally when access is requested to shared resources. This authentication process is referred to as local login. In domain mode, the Solaris CIFS service uses pass-through authentication, in which user authentication is delegated to a domain controller.
Example 3–1 Configuring the Solaris CIFS Service in Domain ModeThis example shows the steps taken to configure the Solaris CIFS service in domain mode. User dana has Domain Administrator privileges. The name of the domain being joined is westsales.example.com.
svcadm enable -r enables all services which smb/server depends upon Configuring the Solaris CIFS Service Operation Mode (Task Map)The following table points to the tasks that you can use to configure the operation mode of the Solaris CIFS server.
Getting Started With the Solaris CIFS Service - Genunix
www.genunix2.org/wiki/index.php/Getting_Started_Wi... Solaris CIFS services can operate in two modes: domain and workgroup. These modes are mutually exclusive. Choose one or the other based on your environment and authentication needs.
Implementation details
The solution proposed for Solaris is fundamentally to do the following: No need to change existing backup software for ZFS; 'extensible attributes'
opensolaris.org/os/community/arc/caselog/2007/064/... 17. Backup Formats
Since ephemeral IDs only exist on the system when CIFS is deployed without POSIX name mapping equivalence, and such IDs cannot be stored in existing filesystems anyway, there is no incompatibility with existing backup software. The only backup issues arise when trying to backup ZFS with SIDs. ZFS already provides its own archival format by virtue of zfs(1M) send/recv; this format would be extended to support the ZFS FUID representation as part of this work. SIDs
A Windows SID typically looks something like this: SID is equivalent of user@FQDN Windows grants or denies access and privileges to resources based on access control lists (ACLs), which use SIDs to uniquely identify users and their group memberships. When a user logs into a computer, an access token is generated that contains user and group SIDs and user privilege level. When a user requests access to a resource, the access token is checked by the ACL to permit or deny particular action on a particular object. SIDs are useful for troubleshooting issues with security audits, Windows server and domain migrations. SID has format as follows: S-1-5-21-7623811015-3361044348-030300820-1013
Possible identifier authority values are:
idmap
On Windows and Solaris systems, files have an owner attribute and a group attribute. A Solaris file owner attribute must be a UID, and the group attribute must be a GID. Unlike the Solaris OS, Windows has no such restrictions. Windows permits either a user SID or a group SID to be a file owner or a file group. In fact, Windows uses the Administrator Group as a file owner in many instances, and any Windows application can set the file owner and group attributes to any SID. The Solaris system cannot interchange UIDs and GIDs like Windows can. Therefore, the Solaris system must be able to perform the following types of mappings:
These are called diagonal mappings, which use naming rules to set up the mappings. 18. Zones Integration
Solaris Zones provide a lightweight virtualization environment that includes virtualization of the Solaris name service switch configuration. That is, a local zone may have its own nsswitch.conf(4) settings indicating an entirely different name server, name service, or name service prioritization. As such it is already the case that POSIX identifiers do not necessarily hold the same meaning across disparate Zones in that one zone might assign a given uid_t value one identity in its own passwd(4) file and another zone might see a different identity for that uid_t based upon a NIS or LDAP directory. As such Solaris will need to evaluate identity mapping rules for non-POSIX identities differently in each zone, and therefore the mapping of an SID to a POSIX uid_t or ephemeral uid_t will vary across zones. Finally, a Zone can use the BrandX technology to provide an entirely different identity service for another OS personality. Therefore, each Solaris Zone should have its own instance of the id mapping service, and maintain its own notion of ephemeral uid_t and gid_t's. As specified, Winchester resembles the Samba ID mapping component, in that chown(2) and similar calls using ephemeral IDs, the system call will
determine by use of the ID mapper or a cache if the ID is claimed; if so, the
call will succeed, otherwise it will fail and return EINVAL as it does today
Labels:
chown, idmap, winchester With uid_t and gid_t now extended to 32-bit unsigned types, we now propose to Labels:
idmap, winchester wildcard idmap rule matches only otherwise-unmatched rules
docs.sun.com/app/docs/doc/820-2429/idmappingtasks?... If username uses the wildcard (*), it matches all user names that are not matched by other mappings. Similarly, if username is the wildcard Windows name (*@*), it matches all user names in all domains that are not matched by other mappings.
(b) Algorithmic Mapping idmap rules can be wildcard based (per-server)
docs.sun.com/app/docs/doc/820-2429/idmappingtasks?... Rule-based mappings. Are easy to configure and can be configured with a single wildcard rule. However, the mapping rules are only stored on a particular computer rather than being global. This method is more suitable if only one CIFS server is being used in your environment.
Ephemeral mappings
Unlike NFSv3, NFSv4 does not send UIDs and GIDs over the wire for attributes. Instead, nfsmapid(1M) is used to map the values to utf8 strings containing the user and group name suffixed by the NFSv4 mapping domain (either the DNS domain or a domain name manually configured using the NFSMAPID_DOMAIN property).
If an ephemeral ID for an SID has no mapping, then the POSIX name service lookup should fail and return *ID_NOBODY to the kernel, which NFSv4 already has defined as a clear semantic, and it sends "nobody" back over the wire. Ephemeral IDs get mapped to 'nobody' on legacy FSes
opensolaris.org/os/community/arc/caselog/2007/064/... Other than NFSv3, historic Solaris filesystems such as UFS will not be changed to use FUIDs. Instead, the VOP layer should be modified to transparently convert ephemeral IDs to *ID_NOBODY as they are passed to historic filesystems.
The consequence of this approach is that any credential that is associated with an ephemeral ID cannot be stored in a historic filesystem unless POSIX name mapping equivalence is established SIDs stored in ZFS ACLs allow ownership for non-local users to persist across reboots
blogs.sun.com/nico/entry/dealing_with_windows_sids... First and foremost: ephemeral IDs must not be persistently stored anywhere, including in filesystem objects. Because that is far too restrictive the Solaris VFS and one filesystem, ZFS, have been modified to support storing SIDs instead of ephemeral IDs (the other filesystems simply reject any attempt to store an ephemeral ID). You read that right: ZFS can now use SIDs in ACL entries! Most applications will already do the Right Thing -- either reject or pass through ephemeral IDs -- and those core Solaris apps that needed modification have been modified
SIDs are stored in ZFS ACLs so if ephemeral mappings are lost (reboot) the ACL's SID is used to allow access 13. NFSv3 Implementation Troubleshooting
Modify Default Security Policies on Windows Server 2008-Based Domain Controllers
technet.microsoft.com/en-us/library/cc731654.aspx
To disable SMB packet signing enforcement on Windows Server 2008–based domain controllers
Labels:
packetsigning failed to join domain FOO.COM (INVALID_PARAMETER) (smbadm join)
dlc.sun.com/osol/docs/content/SSMBAG/smbservertrou... Missing DNS domain. Ensure that the fully qualified AD domain name has been added to the search list or as the local domain in /etc/resolv.conf. If your configuration is incorrect, you might see the failed to join domain domain-name (INVALID_PARAMETER) error when attempting to join the domain. Labels:
INVALID_PARAMETER Joining a Windows 2008 DomainTo join a Windows 2008 domain, your Solaris system must be running at least SXCE Build 94. NTLMv2 authentication is mandatory only when Depending on whether NTLMv2 authentication is mandatory on your Windows 2008 domain controller, do one of the following:
|