Software Development Kit (SDK) and API Discussions

NMSDK file permissions


i have a  UNIX Qtree and i have some files under the Qtree. How do i change permission of the files using NMSDK ? , i don't see any API to change file permission on the filer.






I have a very similar problem while setting UNIX-style permissions via NMSDK on a regular directory/file.

Recently I contacted NetApp support about the issue and they referred me to the community.

So here I am 😉




This is an excerpt from my original support request:


In order to automatically manage home directory creation, access rights setting and cleanup of obsolete homes, we use our IdM system to remotely control the filer via the NMSDK.

For a volume with UNIX file permissions it is not possible to set set owner/group for a given file/directory on the filer using the NMSDK (Java bindings).

Also it is not possible to update the UNIX permission bits after file/directory creation.

At the moment it is only possible to set UNIX permission bits on directory creation using the com.netapp.nmsdk.ontap.api.file.FileCreateDirectoryRequest.withPerm() method.


This - however - is not enough because the possibility to also set and/or update user and group is missing.

Using com.netapp.nmsdk.ontap.api.filedirectorysecurity.FileDirectorySecuritySetRequest it is only possible to set a NTFS style SecurityDescriptor which is not possible on a UNIX-style volume.


Because UNIX-style permissions are rather simple compared with Windows ACLs I would propose to implement the methods "withPerm()" , "withUidNumber()" and "withGidNumber()" directly within the FileDirectorySecuritySetRequest Class in order to allow simple UNIX-style security updates.