exFAT: nelze měnit oprávnění a vlastníka

exFAT: nelze měnit oprávnění a vlastníka
« kdy: 17. 03. 2022, 21:25:21 »
Mám problém u kernel driveru pro exfat (prasečinu exfat-fuse, která dává 5MB/s za 40% CPU jsem vyhodil) . Stručně nemohu souborům nastavit vlastníka a nebo změnit oprávnění. Což potřebuji.
Četl jsem nějaké thready rantující že vfat,exfat neumí file permissions.

Nejsem uplný odborník na mount options,takže jsem zkoušel spousty pokusů fstab lajnou
/dev/sdc4 /home/yr/Desktop/vápno exfat   rw,async,nosuid,nodev,noatime,noexec,(uid=1000(,gid=1000(,fmask=xYZQ(,dmask=XYZQ)))))

Příkaz sudo  chown přirozeně hodí chybu Operation not supported
chmod sice projde, ale reálně nic nezmění.

myslel jsem že na to budou právě mount optiony nějaké jako (no)user,(no)suid,users ,fmask,dmask,mask,umask,čumask,ownmask... (a pak taky nějaký komplement mask, který přímo určí hodnotu oprávnění jako u, i když analogie s iptables je hodně vzdálená, nechci si tím koledovat o posměch)

Kód: [Vybrat]
mark
       This module matches the netfilter mark field associated with a packet (which can be set using the MARK target below).

       [!] --mark value[/mask]
              Matches packets with the given unsigned mark value (if a mask is specified, this is logically ANDed with the mask
              before the comparison).
« Poslední změna: 17. 03. 2022, 21:50:09 od Petr Krčmář »


Re:exFAT: nelze měnit oprávnění a vlastníka
« Odpověď #1 kdy: 17. 03. 2022, 22:28:21 »
no a výsledný stav má být jaký? chmod a chown fungovat nebude, jde to nastavit jen pomocí parametrů mount pro všechny soubory a adresáře dohromady.

man mount:

Kód: [Vybrat]
       uid=value and gid=value
              Set the owner and group of all files.  (Default: the UID and GID of the current process.)

       umask=value
              Set the umask (the bitmask of the permissions that are not present).  The default is the umask of the current process.  The value is given in octal.

       dmask=value
              Set the umask applied to directories only.  The default is the umask of the current process.  The value is given in octal.

       fmask=value
              Set the umask applied to regular files only.  The default is the umask of the current process.  The value is given in octal.

RDa

  • *****
  • 2 467
    • Zobrazit profil
    • E-mail
Re:exFAT: nelze měnit oprávnění a vlastníka
« Odpověď #2 kdy: 18. 03. 2022, 02:05:37 »
Cela vfat/exfat partition muze mit JEDINEHO usera a grupu, nastavenou v dobe mountovani. Ten FS neumi per soubor / per adresar prava, takze co si navolis jako mount options, tak to budes mit.

Do toho krasne sedi i nefunkcni chmod/chown. Nevim cemu se jako divis.

Re:exFAT: nelze měnit oprávnění a vlastníka
« Odpověď #3 kdy: 18. 03. 2022, 08:29:33 »
To je pravda, mohl jsem napsat, čeho vlastně chci dosáhnout.
Chci práva 777 pro všechny položky v mountpointu.(Možná jsem to zkoušel blbě, ale s tím dmask,fmask se mi to nepodařilo dosáhnout s rúznými čísly.)

Re:exFAT: nelze měnit oprávnění a vlastníka
« Odpověď #4 kdy: 18. 03. 2022, 14:14:09 »
No na vfat mi to funguje:


dd if=/dev/zero bs=1M count=50 of=bigfile
mkfs.vfat bigfile
sudo mount -o loop bigfile /mnt/tmp
sudo mkdir /mnt/tmp/dir
sudo umount /mnt/tmp
sudo mount -o loop,dmask=000 bigfile /mnt/tmp
ls -l /mnt/tmp


a dir má práva 777

Pokud to chcete i na soubory, tak buď přidat fmask, nebo pro všechny prostě umask.


Re:exFAT: mount - remount nezmění options
« Odpověď #5 kdy: 21. 03. 2022, 11:20:49 »
Ksakru už vím kde je chyba. Mount options nezměnily!!!  Ani ve fstab a ni v  parametru mount-o-remount

Demonstrace postupu: Nyní připojeno  s volbou umask 0070.
Do fstab zapíšu k řádku umask=0007.


Pokusím se připojit mount -o remount,umask=0000

Výsledek: Zůstane původní 0070.

Proč tomu tak je?

Zkoušel jsem i volbu --options-mode (apend,prepend,replace ignore), přestože výchozí  prepend (CLI opts are eval'd after fstab), by měla být tu kterou chci.

Dělám něco špatně, nebo to takhle nefunguje schválně?

Ale díky, každopádně mi to už funguje.  Když už nic nezabralo, zkusil jsem "malý restart" - unmount, upravit fstab  připojit mount.
« Poslední změna: 21. 03. 2022, 11:22:26 od mikesznovu »

RDa

  • *****
  • 2 467
    • Zobrazit profil
    • E-mail
Re:exFAT: nelze měnit oprávnění a vlastníka
« Odpověď #6 kdy: 21. 03. 2022, 11:35:41 »
Tak se rozhodni jak to chces mountovat - bud samo od sebe a vse napises do fstabu, nebo bez nej pak rucne a vse zadas na cmdline.

Mixovat oba pristupy dokopy je bleh.

Remount je hlavne pro rw/ro, ale taky jsem ho pouzil na exec pro /dev/shm, kde je to noexec by default a ja tam potreboval neco spustit
(a ne, no/exec nesaha na x flag na souborech, vyhodnocuje se jinde).

Re:exFAT: nelze měnit oprávnění a vlastníka
« Odpověď #7 kdy: 21. 03. 2022, 11:45:59 »
Mountuji to přes /etc/fstab, to je jasné  - jakou součást bootovacího procesu.
Mount přes "příkazový řádek" ::) jsem dělal když jsem se to snažil rozchodit, nechtělo se mi neustále upravovat fstab. Ale jen z pohodlnost nebo že jsem doufal, že když mount příkaz operuje, tak bere hodnoty z fstab i z options , tak prostě ladění parametrů ppřímo v příkazů je přímočarejší (i s ohledem správné volbe --options-mode)