Skip Navigation

chown on a sdcard directory impossible...

Hi,

I would like to change the owner of a directory on the sdcard /sdcard/aDirectory

I have a terminal installed on my Android 10 (LineageOS 17) com.android.terminal

sudo is not present so I use su and it works.

su
#Terminal was granted Superuser rights

cd /sdcard
chown 10:10 aDirectory
#I don't get any error message.

stat aDirectory
#Uid (0/root)

So the owner stay root no matter what I'm doing, any ideas ?

12

You're viewing a single thread.

12 comments
  • What filesystem do you have on that SD-card? Likely FAT32, which does not support ownership.

    • But is it an SD card.

      I mean, the directory name says so, but...

      ~ $ realpath /sdcard
      /storage/emulated/0
      ~ $
      

      ...it may also not be.

      • It doesn't matter. FAT filesystems - which are usually the default on SD cards, simply do not support ownership or file permissions. Linux emulates these attributes at mount time, but they apply to the entire SD card. You can mount an SD card and tell Linux to act as if root owns everything on the card; you that you own everything on the card; and it will be so until you unmount it and remount it with a different ownership.

        These are filesystem level attributes, not device attributes. If you have a modern internal nvme drive and you format it with vfat, you will not be able to set permissions or ownership at the file level, but only at mount time, for the entire drive.

        • I am talking about some devices using /sdcard to mount internal storage.

          • True, but presumably op probably has an sd card if they say they do.

            Edit: I see both ways of reading their statements on re-reading them.

          • You mean, they're mounting something that isn't an SD card to the /sdcard directory? Like something truly evil, such as mount -t btrfs -o subvol=@home / /sdcard? Or do you think there's not anything mounted there; it's just a directory in the root partition? None of that would make any sense.

            If they're letting whatever automount tool (eg udevil) do its thing, this is practically impossible. And if they know enough to do it by hand, I think they'd have answered the direct question of "which filesystem" with a filesystem rather than a mount point. Don't you think? We still don't know what filesystem they're working with, since they haven't answered the question.

            • something that isn’t an SD card to the /sdcard directory?

              Could be.

              On my phone (Poco X3 Pro - stock Android 11, MIUI 12) the /sdcard is a symlink pointing to /storage/self/primary which itself is a symlink pointing to /storage/emulated/0, which is /data/media, the user-accessible portion of internal storage.
              Though from what I can find it anyway is just emulated FAT filesystem which is actually ext4 under that.

              Something about backwards compatibility as the directory used to actually be used for SD cards in the past.

You've viewed 12 comments.