Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

I'm currently mounting an NTFS partition at startup using the following line in /etc/fstab:

/dev/sda3        /media/data           ntfs      nls=iso8859-1,umask=000

To my Ubuntu 11.10 installation, it looks as if all files and folders are owned by root - and since NTFS doesn't really support the same rights management system anyway, there's no way I can change it after the mount is complete. No matter what I do, ls -l anywhere on the NTFS partition will list every file and folder as owned by root:root.

However, this causes some problems for me. Most notably, some applicaitons running under my account (called tomas) complain about access rights. Also, whenever I try to copy (cp) or move (mv) files from one of my ext3 partitions to the NTFS partition, I get error messages saying

mv: preserving times for [path to new file]: Operation not permitted

or, similarly

mv: preserving permissions for ...

Would mounting the partition in my name instead of root help? If so, how do I accomplish that in fstab?


Update:

I have now changed the options according to the suggestions, and arrived at this:

nls=iso8859-1,permissions,users,umask=000,uid=tomas,gid=tomas

ls -l now shows all files owned by me instead of by root, and it seems some of the problems I had before are solved. However, not all of them.

When I start Eclipse, I get an error that a file related to the android-sdk cannot be run: Permission denied. ls -l tells me the following about the file:

-rwxrwxrwx 1 tomas tomas 159620 2011-11-29 14:50 adb*

This looks the way I want it to. But if I try to run it (./adb in a terminal) I also get permission denied errors. But if I run it with sudo, it works (I believe - at least it doesn't give me an error message, but it doesn't give me any output at all, which I think it shouldn't...)

Why is the above file, with execute permissions for anyone, still not executable by anyone else than root? How do I change the way I mount the file system so it is?


Update 2:

OK, I've now come a little bit further. By mounting with these options

nls=iso8859-1,permissions,users,auto

I got all the permissions set the way I expect them to, and chown and chmod actually change settings on the files (at least according to ls -l) =D

BUT my system still behaves in a weird way. The permissions for the adb script file come up as above, but neither I nor Eclipse can run it without "Permission denied" errors. But as far as I can see the file has all the required flags set (o=rwx should be enough, right?). Why doesn't it work?


Update 3

OK, I got everything working on the Ubuntu side, with the following options:

nls=iso8859-1,permissions,users,auto,exec

However, when I try to access files on the partition from Windows, the security settings are all messed up. On all the files (of those few I've examined) a new account called Account Unknown(long GUID) has been added to the list of users, and has full rights. Rigths for most other users are decreased so that I don't have rights to do stuff I expect. Notably "Everyone" does no longer seem to have right to "Traverse folder / execute".

This might be solvable by just selecting the partition and allow Everyone to do anything on the root folder, and then tell it to do it recursively, but I'd rather not as I'm afraid it will take days to complete...

share|improve this question
1  
From mount(8) : users Allow every user to mount and unmount the filesystem. This option implies the options noexec, ... unless overridden by subsequent options, as in the option line users,exec,dev,suid). So add exec to your options and I believe the permission denied issue for execution should be resolved. –  benwh Jan 5 '12 at 7:46
add comment

4 Answers 4

up vote 9 down vote accepted

In the options column add "permissions" and auto (and probably user or users)

nls=iso8859-1,permissions,users,auto

Then

sudo chown -R thomas:thomas /media/data 

My line in /etc/fstab

/dev/sda5 /media/ntfs ntfs-3g users,permissions,auto 0 0

Mount and list permissions

sudo mount /media/ntfs
Using default user mapping

bodhi@ufbt:~$ ls -l /media

drwxr-xr-x 1 root root 4096 2012-01-04 17:08 ntfs

Change ownership and list new permissions

bodhi@ufbt:~$ sudo chown bodhi:bodhi /media/ntfs

bodhi@ufbt:~$ ls -l /media

drwxr-xr-x 1 bodhi bodhi 4096 2012-01-04 17:10 ntfs

By default, ntfs-3g mounts the partition noexec, nosuid, and nodev To override this, use exec

/dev/sda5 /media/ntfs ntfs-3g exec,permissions,auto 0 0

Now we get

bodhi@ufbt:~$ ls -l /media/ntfs

-rwx------ 1 bodhi bodhi 28 2012-01-04 17:16 file

bodhi@ufbt:~$ /media/ntfs/file
It works
share|improve this answer
    
Hm... after adding that to fstab (making hte options column the following: nls=iso8859-1,permissions,users,umask=000) and rebooting I can now move and copy files without error messages. All files still show up as owned by root:root though, even after sudo chown -R tomas:tomas /media/data. It doesn't seem to be a problem for now, but out of curiosity: why is that? –  Tomas Lycken Jan 4 '12 at 22:07
    
I think because of your umask=000 –  bodhi.zazen Jan 4 '12 at 22:41
    
No, umask=000 is equivalent to chmod 777 - umask defines all the flags you don't want to set on the files. I agree it's counterintuitive, but it's all here: ubuntuforums.org/showpost.php?p=9092899&postcount=4 –  Tomas Lycken Jan 4 '12 at 23:15
    
I've updated my question with further info about what I've tried and the results. –  Tomas Lycken Jan 4 '12 at 23:25
    
Ha! When I added exec as well, everything worked! Thanks a lot! –  Tomas Lycken Jan 5 '12 at 2:53
show 5 more comments

Mine works now perfectly when i change the fstab's line to

UUID=761C84B31C846FC3 /media/d        ntfs    defaults,umask=022,uid=1000 0       0
share|improve this answer
add comment

Use the uid and gid options (or use the user mapping feature) of mount.ntfs (8)

share|improve this answer
    
In other words, add uid=whoever to the fstab line –  psusi Jan 4 '12 at 23:12
    
uid and gid work, but permissions are now supported in ntfs-3g, and those options over ride the permissions option. See: b.andre.pagesperso-orange.fr/permissions.html –  bodhi.zazen Jan 4 '12 at 23:20
    
I've updated my question with further info of what I've tried and the results I got. Please take a look =) –  Tomas Lycken Jan 4 '12 at 23:25
    
Can you update your fstab entry and remove your uid,gid, and umask , just nls=iso8859-1,permissions,users , unmount and re-mount the partition. –  bodhi.zazen Jan 4 '12 at 23:28
    
@bodhi.zazen: Then we're back to square one. Files show up as owned by root:root and Eclipse complains about permissions. –  Tomas Lycken Jan 4 '12 at 23:51
show 2 more comments

What about using udisks? It can easily mount NTFS partitions with your user as owner.

Example (type it into command line):

/usr/bin/udisks --mount /dev/sda3

You can also add that command to startup applications and it will auto-mount when you log-in.

Reference: AutomaticallyMountPartitions

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.