Transmission settings - complete folder permissions

Joshua Parker Ruehlig

Hall of Famer
Joined
Dec 5, 2011
Messages
5,949
Ah got it ( well i thing), folder permissions for completed location was 775, changed it to 777 and its moved, so i guess it needs the write part of "other" to be granted. i assume as its a linked storage the UID used to write to the file is something other than "root" user or a member of "Media" group. i understand UID 921 is used inside the jail, but what UID is user when transmission writes to the linked location? meaning the file is then outside the jail and on the host? - just for curiosity????
UIDs are the same on storage whether viewed inside or outside the jail. But the user/group mapping can be different in each jail and the freenas host. I explain this in the thread I linked earlier.

if you show the output of 'ls -l /path/to/folder' in the jail we can see the what the issue is.
 

fizzgig656

Contributor
Joined
Nov 6, 2012
Messages
192
ok, setting for transmission (and i assumer other downloaders) need to have permissions to write or copy the files over. Mine go to a location that is also shared via SMB. As far as i can work out, setting a folder to be shared via SMB means it need to add additional permissions that windows use. This means it have OWNER, GROUP and OTHER. Seems i need to give OTHER write permission, now i couldnt chmod 777 to these folders as i got
"Operation not permitted" so after doing some digging and loads of googling, and hitting brick walls trying to change the setting from putty etc, i found i needed to go via windows and via the windows explorer to the mapped folder where transmission placed the completed files, Right click on the folder and changed permissions so that "everyone"

before
ls -all , when transmission wouldnt work

drwxrwxr-x+ 5 root Media 7 Mar 13 12:00 New_TBC

after , changing permissions in windows -transmission now works

drwxrwxrwx+ 6 root Media 8 Mar 13 21:33 New_TBC

I know this may not be "technically" written right so hope someone may simplify it, BUT mostly hope this can help someone else out, and it was a quick 2 sec change.

Thanks very much to this chap for helping me out.
glad you got it working.

I believe tranmission will write files with the user it's running as, group of the inherited directory, and permission level specified in the settings (minus the execute bit for files), available in the left panel of the FreeNAS WebUI.
 

fizzgig656

Contributor
Joined
Nov 6, 2012
Messages
192
I ACTUALLY FIXED IT !!!!!!!!!!!
 

JaimieV

Guru
Joined
Oct 12, 2012
Messages
742
I got fed up with not being able to solve it with 777 and sticky bits on the directories, and did it the brute force way:
Shut down the Transmission jail.
In a shell, cd to your jail /mnt/(pool)/iocage/jails/transmission/root/etc/ and edit the group and passwd files to set the groupID and userID of transmission to the same as the user who owns the share that you're making them appear in. "media" for you?

Edit: Out of date in the iocage jails, which maintain a more complex user config as I discovered last night while doing this for Resilio!

Open a shell in the jail (Jails page, ... menu for the jail, shell) and use command 'pw' to modify the group and user IDs of the 'transmission' user.

First take a note of the Transmission user's UID from its line in /etc/passwd, you'll need it later. Let's assume that's 973 (I can't recall the default).
You'll also need the numeric UID and GID of the host FreeNAS user you want Transmission to run as, let's assume it's "media" at 8675309 and group "media" at 8675309 - if you're using another user you can look those ID numbers up in the GUI, Accounts, Groups and Users pages.

pw groupmod transmission -g 8675309
pw usermod transmission -u 8675309

Then change the ownerships of all the files that are owned by Transmission UID 973, to the new UID:GID 1001:1001

cd / ; find . -uid 973 -exec chown 8675309:8675309 {} \;

Restart the Transmission jail. It should now create all its files with the ownerships set up to match the host user usefully.

Same applies for other things - as I mentioned, I did Resilio last night and the user there is rslsync.
 
Last edited:
Top