In Hadoop 2, it is impossible to use copyToLocal to copy a file from HDFS to a destination on an SMB share. This is because in Hadoop 2, the copyToLocal maps to 2 underlying RawLocalFileSystem operations: create and setPermission. On an SMB share, the user may be authorized for the create but denied for the setPermission. Windows denies the WRITE_DAC right required by setPermission unless the user has Full Control permissions. Granting Full Control isn't feasible for most deployments, because it's insecure. This is a regression from Hadoop 1, where copyToLocal only did a create and didn't do a separate setPermission.