I never had any issues either - but there is a clear difference betwen
kernel exFAT programs
userspace exFAT programs
Plasma’s kio and the generic gvfs handles access to devices flawless on systems with kernel exFAT programs.
The issue appears when you use the mount command to mount in a specified folder.
Because you can only use mount as superuser the mount is inheriting root permissions - which makes the device read-write for root only.
Manjaro default to use kernel exFAT programs so a mounting a exFAT device in a specific folder makes root the owner and denies write to all other users even when mounting in a user’s home.
Replacing the kernel exFAT programs with the userspace exFAT programs makes the mount writeable for world - just as one would expect.
I have seen several comments lately where members have trouble understanding why they cannot access their NFTS and exFAT devices the same way they are used to.
I have been slightly confused myself over these topics - but from the investigation I conducted for this topic - I am fairly certain it is related to improvements in security for filesystems not native to Linux.
E.g. to avoid malicious change to the systems efi partition
FAT32
mounted at /boot/efi
This is achieved by applying mount options umask=0077 in /etc/fstab making it inaccessible to everyone but root.
How do you get the fmask and dmask value ? i can’t seems to find way to calculate the value that i want.
i want
file permission: owner (rwx), group (r-x), other (—)
folder permission: owner (rwx), group (r-x), other (—)
How to calc ?
Thanks.
Btw, your cmd with fmask and dmask did the trick.
I now realized the issue with write denied is due to exfat does not have permission metadata… hence when i mount it as normal fs, it will causes the exfat fs being mounted under root owner… hence it made it to be owner of the exfat to be root… hence when i am in manjaro user acc, i can’t write to the fs.
hmm… u made a mistake somewhere… fmask is opposite of chmod
i tried ur fmask=0750… the outcome is 0750 u(---),g(-w-),o(rwx)
i tried on errors until i got this: 0117 u(rw-),g(rw-),o(---)
001 001 111
1 1 7
can u go through that again and teach me how to calculate… i used to learn binary … but i have since return everything to my teacher…
sort of understand… but don’tknow how to calculate… especially when this is “mask” (sort of opposite)
This mount along took me days to get it understood… and it is base on fat only. my brain is rusty.
still got manjaro to fix… hopefully won’t take 1 month to learn how to fix… sigh.!
$udisksctl mount -b /dev/sdb1
This will be a short and sweet cmd to mount to it own /run/media folder with no permission issue. just can’t define where to mount…
For each permission, ower/group/other. It is just a 3-bit binary value. So from most to least significant bits (or flags in this context):
Read access
Write access
Executable (or directory listing access for directories)
So in binary, each digit is worth 4, 2, and 1 respectfully. You just add them up to get every combination of rwx or not. This is a number between 0 and 7.
When you put three in a row, you get the user/group/other permissions, as a 3 digit number (that are 0-7).
You can not use this octal format at all, if you want. It is just a quicker way if you’re used to it.
Is it valid if i enter mask with 3 digits only?
fmask=007 for files (rwx, r–, —)
mask=022 for folders (rwx, r-x, r-x)
is it valid if enter chmod permission in 4 digits ?
chmod 0740 for files (rwx, r–, —)
chmod 0755 for folders (rwx, r-x, r-x)
This will clear my doubts in my mind regarding fmask and chmod.
If mask can be enter 3 digits (instead of what i see all 4 digits), why do i bother to confuse myself with 4 digits when convert from chmod permission ?