Program can't write to directory

Leros

Lifer
Jul 11, 2004
21,867
7
81
I'm trying to get deluge to write to my secondary harddrive which is mounted under /mnt/data. I have a directory /mnt/data/torrents I want it to use. I've been unable to get deluge to write to this directory even after making it as wide open as I possibly can and restarting the daemon (and the entire server).

As far as I can tell, everybody has all permissions on /mnt/data/torrents

Code:
$ ls -l /mnt/data
total 32
drwxrwxr-x  2 leros leros  4096 Feb 20 23:54 backup
drwxrwxr-x+ 2 leros media  16384 Jan  4 21:10 lost+found
drwxrwxr-x+ 3 leros media   4096 Jan 20 22:11 media
drwxrwxrwx+ 2 leros media   4096 Feb 20 23:51 torrents

$ getfacl /mnt/data/torrents/
getfacl: Removing leading '/' from absolute path names
# file: mnt/data/torrents/
# owner: leros
# group: media
user::rwx
user:deluge:rwx
group::rwx
mask::rwx
other::rwx

Deluge can write to the parent directory, /mnt/data, which has less permissions:
Code:
$ ls -l /mnt
total 8
drwxrwxr-x+ 6 leros media 4096 Jan 18 22:34 data

$ getfacl /mnt/data/
getfacl: Removing leading '/' from absolute path names
# file: mnt/data/
# owner: leros
# group: media
user::rwx
user:plex:rwx
group::rw-
mask::rwx
other::r-x

The deluge user is in the media group:
Code:
$ groups deluge 
deluge : media

I have restarted the daemon and the entire server after relaxing the permissions to their current state.

Any idea what I am missing?
 

Scarpozzi

Lifer
Jun 13, 2000
26,392
1,780
126
Restarting the server or daemon won't change anything unless the program you're running doesn't retry after a failure. Rights are handled from the filesystem and changes are instantaneous (that'll save you time).

What file system is on the secondary hard drive? Externals are usually FAT/FAT32/NTFS by default because they're formatted for Windows and work well with USB drivers. If you try to mount this on linux, it may default to read only instead of read write.

Try using su to switch to the deluge user and see what error you get from the shell when you try to write. Check /var/log/messages for errors.