Change owner of internal hard drive partition from root to user

Solution 1:

Did you try

sudo chown user:user

For example sudo chown cyrex:cyrex (User:Group)

if the partition is called party, your user is called cyrex and it is in /media just do for example:

sudo chown cyrex:cyrex /media/cyrex/party -R (The R is for recursive so it affects all directory/files and subdirectory.

As noted, the partition is NTFS so if is automatically mounted you need to make sure that the user that has permission is you. To do this follow this steps:

  1. Go to console (gnome-terminal)

  2. Type id -u. This should give you the user id you have which you will insert into fstab.

  3. Open fstab sudo /etc/fstab and search for the line that is mounting the ntfs partition.

  4. Assuming is something like this:

     UUID=1234532123 /media/amntfs  ntfs  defaults 0       0
    

Add to it the umask, uid and gid masks like this

UUID=1234532123 /media/amntfs  ntfs   defaults,umask=007,uid=1000,gid=1000  0       0

Save the file and just reboot or remount the unit.

Here:

  • The uid is your User ID. The one you got from id -u.
  • The gid is you Group ID. Normally the same as id -u but you can check it with id -g.
  • The umask is like chown but reversed.

See How do I use 'chmod' on an NTFS (or FAT32) partition? on more about using chmod/chown on NTFS filesystems.

NTFS and POSIX Compatibility

It is correct to think that NTFS is not 100% POSIX compatible. But it is also true that NTFS is POSIX conformant, meaning it is similar but not exact to the POSIX that is used in Linux. As you read my answer you find 2 things here:

  • I target changing permissions on the NTFS files
  • I target changing permission at the mounting level or while mounting in the fstab.

For the mounting level it is pretty straightforward there. It is in the file permission as described above that, if analyzed, it really does not make sense and should not be working. But the thing is a bit more complicated. So here is the rundown as a technician on Windows in the 90s and a Linux user since 2001.

When you mount an NTFS filesystem (at least on Ubuntu), NTFS-3G takes care of the proper mounting for it and even offers mapping capabilities to make sure that the instructions in regards to permissions are mapped from Linux to the NTFS filesystem correctly. Meaning, if I do chmod or chown, they would work.

This is only half of the answer. The other is that NTFS is conformant with POSIX or you could say "compatible" to a certain degree, but as far as I can recall, it is for version 1 of POSIX, I think called POSIX.1 from the 1990s and only for a certain subset of the windows subsystem.

So, between NTFS-3G and the "compatibility" of NTFS with POSIX, you are in fact able to use chmod on the NTFS files and folders.

I can not say anything about newer versions of NTFS on Windows 8.1, 10, 11 or future versions about how they are POSIX compatible, but I can talk about the current one and experience I have about the background for NTFS, POSIX and how they relate in a very weird way when talking about Windows.

Minor Update: starting on Kernel 5.15 (Oct 31, 2021), there is a new NTFS implementation as read HERE where it shows enhancements on how we deal with NTFS.

Solution 2:

All my NTFS partitions are owned by root, yet I can access them fine as user. It's a matter of mount options rather than ownership and file permissions (remember, it's a NTFS partition - you can't change any permissions there).

In my /etc/fstab the partitions are included as follows:

UUID=AB84274F84211B98   /media/WIN7     ntfs   defaults  0   0
UUID=CDBAF39E13A2AC2D   /media/DATA     ntfs   defaults  0   0
UUID=EFA980B33BA33DF5   /media/MEDIA    ntfs   defaults  0   0

where defaults are default mount options that already should do what you want to do.

To find the UUIDs, run sudo blkid.

See also: How do I use 'chmod' on an NTFS (or FAT32) partition?

Solution 3:

I was having a hard time solving the problem and this solution worked for me

  1. install physical storage device manger:sudo apt-get install pysdm
  2. open storage device manger:sudo pysdm
  3. choose your required drives
  4. press assisst:
  5. uncheck open as read only
  6. check owner user of file systemand write your username:remon
  7. press ok
  8. press apply
  9. umount Drive
  10. mount it

Note: if you can't change files to binary executables, go to special files and check permit execution of files as binaries, and go to step 7