As explained here in Mount Options table, you can mount ntfs-3g in several ways.
If you are mounting it like below, the permissions are determined by the mount options, not by the file metadata (ACL). So chmod won't be able to change permissions, and it fails with an error.
MODE: Same ownership (uid, gid) and permissions for all files and directories (restricted by fmask, dmask and umask)
WHEN: uid or gid or fmask or dmask or umask defined,
and no user mapping file found
So, to make sure chmod won't fail, just don't specify any of these (uid
, gid
, fmask
, dmask
or umask
) in the mount options. You have some alternatives depending on if you want to deal with permissions like Windows does or just ignore permissions completely from Linux.
Mount it like below if you want to just ignore all access control (chmod, chown and permission checks won't do anything or return any errors). This is the simplest way:
MODE: No permission checks
WHEN: No uid, gid, fmask, dmask, umask, permissions or acl option, and no user mapping file found
If you want to enable access control with some compatibility with Windows, you could just use permissions
mount option (and none of those others mentioned before).
However, this restricts access to private folders like C:\Users\<You>
, so you would probably have to specify a user mapping file (C:\.NTFS-3G\UserMapping
) anyways, to map your Windows user SID to your Linux user UID. This is more complex, so I recommend to just ignore permissions if you can do that.
MODE: Standard permission checks, according to ownership and mode, but POSIX ACLs not used (uid, gid, fmask, dmask and umask ignored)
WHEN: No uid, gid, fmask, dmask, or umask, or acl defined, but permissions defined, and no user mapping file found
OR WHEN: [...] user mapping file found
Example fstab entry (the relevant implied silent
option is effective since I don't specify the others):
UUID=0123456789ABCDEF /windows ntfs noatime,users,windows_names