I had manually modified the Isilon token to include UID/GID from NIS. Working with Isilon support and setting up inherited permissions, we had the Synthetic permissions set. We spent a lot of time getting the Synthetic ACL’s in place.
What the finding was, when the file was modified and saved by either Windows or Linux client, it would deny the access of the opposite client type. So we have to manually go back in and reset Synthetic permissions. Synthetic ACL’s are extremely difficult to manage.
Can any one help on this Synthetic ACL issue while migration from Netapp to EMC Isilon OneFS version is 7.2.0.3. We have a couple clusters that are higher versions but still 7.2 family, we are at the testing stage of the actual migration. Appreicate your help.
Synthetic ACLs come into play ONLY when just the UNIX bits a la rwx are stored in the file system for a given file. Is that the case with your setup, or do you have actual ACLs set? (in which case no UNIX bits are stored and UNIX clients show "approximate" bits on the fly).
AD and NIS usernames are similar only but not exact word to word match. When the file was modified and saved by either Windows or Linux client, it would deny the access of the opposite client type. So we have to manually go back in and reset Synthetic permissions.
How about we forget about NIS and consider a single authentication source for both clients (Linux and Windows), so the client is seen by Isilon as single user, preferably AD, and a single set of ACL’s from that authentication source.
EMC Tech support have to say this as below, but we are running now OneFS 7.2
NIS is supported as an external authentication provider in OneFS 8.x. You can add NIS provider to an access zone as an authentication method for clients. An access zone can include at most one NIS provider.
It sounds like you're trying to do multiprotocol access (Windows and Unix/Linux access to the same files).
It also sounds like your authentication sources aren't correctly configured/aligned (more on this below).
A "synthetic ACL" doesn't exist on the filesystem. It is "synthesized" (created in memory on the fly) when a client that only understands ACLs (e.g. a Windows client) queries the permissions on a file and that file only has POSIX permissions (as Peter said).
If what you're seeing is that files created on one side are inaccessible to the other, then your AD and NIS are not correctly configured into the zone on the cluster, or the names don't match.
When this is all working, the normal functionality is as follows:
Unix/Linux clients accessing the cluster via NFSv3 will send and receive numeric uids and gids over the wire and that's what will be written to files and what is used for authorization. There is no authentication in NFSv3 unless you are using Kerberos.
Meanwhile, Windows clients accessing the cluster *do* authenticate (it's part of the protocol). As part of the authentication, when a name (e.g. DOMAIN\user) is looked up in AD, the ads provider on the cluster automatically looks up "user" in the Unix providers (local, file, NIS, LDAP), and if that user is found, then the Unix credentials are added to the token. In doing so, this gives the Window user access to files that were created from the NFS side, and also ensures that the identities that it writes to disk are the Unix identities (because the default on-disk setting of "native" preferentially writes Unix identities if the token contains real as opposed to cluster-generated uids/gids).
You can verify what was actually written on the cluster by running # ls -led file and # ls -lend file
these will show the permissions with names, and then the same permissions with the underlying identities.
What I am expecting to see in your case is that we wrote SIDs from Windows and uids/gids from Linux which means the needed mapping is not happening.
Peter_Sero
6 Operator
•
1169 Posts
5198
1
Posted February 1st, 2017 00:00
Synthetic ACLs come into play ONLY when just the UNIX bits a la rwx are stored in the file system for a given file. Is that the case with your setup, or do you have actual ACLs set? (in which case no UNIX bits are stored and UNIX clients show "approximate" bits on the fly).
Useful docs:
Whitepaper: ACE/POSIX Interaction in OneFS https://support.emc.com/kb/428259
https://support.emc.com/docu53353_White-Paper:-OneFS-Multiprotocol-Security-Untangled.pdf?language=en_US
hth
-- Peter