Ubuntu – How to get permissions to execute programs from NTFS hard drive


I have this problem: I'm used to compile and run .c files with CodeBlocks. If I do that from my Desktop (ext4 partition) it works without problems, but doing this from my secondary hard drive (NTFS partition) makes CodeBlocks to say permission denied while running a .c file.

I have read it's because of the partition type is it correct? But I don't know how to solve it.
I tried to edit fstab (sudo gedit /etc/fstab) adding this line:

/dev/sda /media/Dati ntfs user,exec 0 1

but after rebooting Ubuntu I had a warning on boot about a problem mounting a drive, that's because I set KDE to auto mount my Dati drive on boot.

So I should auto mount my NTFS drive with execute permission? How can I do that?

Best Answer

Follow these steps to make a NTFS partition executable:

  1. Open a terminal and type sudo blkid -c /dev/null
    This command allow you to identify your NTFS drive and your UUID number. Example:

    /dev/sdb1: LABEL="my_label" UUID="xxx" TYPE="ntfs"
  2. Open the /etc/fstab file from terminal typing sudo -H gedit /etc/fstab

  3. Don’t edit the existing lines, but add new one at the end like this example:

    UUID=xxx /media/my_label ntfs-3g defaults,auto,uid=1000,gid=1000,umask=002 0 0

    NOTE: Replace the UUID number and the mounting point /media/my_label according to your situation!

  4. Save the file and close the text editor.

  5. Enter the next command in the terminal: sudo mount -a

  6. And restart Ubuntu. Done

Now, every time you mount your NTFS partition, you will be able to run executable files.