2025-03-15, 03:36 PM
Hello Jellyfin forum,
First time poster here.
This guide is for Linux (Ubuntu) users who are trying to use an exFAT-formatted external drive with Jellyfin and/or are encountering permissions/access issues with Jellyfin reaching your content.
The exFAT file system is supported across OS's (Windows, Linux, mac, etc.). NTFS is native to Windows, and ext4 is native to Linux. exFAT is light-weight and... fine for media servers (take precautions with data corruption, since exFAT doesn't have logging in case of unexpected shutdowns/ejects). My drive was formatted for exFAT, so I kept it this way.
HOWEVER --- exFAT does NOT support changes to permissions (i.e., group and users). It isn't capable of it. Instead, file permissions must be set at the mounting point of the drive.
~~~~~~~~~~~~~~~~~~~~~~~~Mounting Points~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The mounting point is an important concept to understand for Linux and Jellyfin. Jellyfin accesses/reads whatever file folders you tell it to, as long as it has permissions to do so. The jellyfin service creates a jellyfin user on your PC, in order to access files/content. You must grant this user permission to view the content you want to have jellyfin stream. Understanding the permissions of your drives and the mounting point they have is key to troubleshooting if you are encountering errors.
Essentially, a mounting point is where the external drive connects logically to your computer/OS. Think of it like a medieval kingdom: your external drive is an army (of data), standing across the moat outside the castle (your PC). What good is the army standing there outside, unable to come in and be useful to your kingdom? You lower the drawbridge (i.e., create a mounting point) to establish connection between your army of data and your computer castle, allowing the soldiers (your data) to come in.
~~~~~~~~~~~~~~~~~~~~~Setting File Permissions with a custom Mounting Point (the /etc/fstab file)~~~~~~~~~~~~~~~~~~~~~~~~~
Filesystem mounting points are stored in the /etc/fstab file.
***Warning: please ensure all steps are correct before modifying/saving the ftsab file. If you incorrectly mount drives, you can risk seriously messing up your computer when restarting/during the boot. Not to scare users away, I did this when very new to Linux and got 'emergency' errors a few times. Highly recommend looking into the documentation for /etc/fstab to get a full understanding of how it works and you understand why you need to make certain changes. If you don't...... well here's what I did.***
To me, the easiest/most-user-friendly way to edit the /etc/fstab file for automatic mounting of an exFAT external drive was:
1. Navigate to your drive in Files.
2. Right-click the external drive you want to edit, then click Properties.
3. Click 'Open in Disks' (and yes, you could have just opened Disks and navigated to the drive from there).
4. Confirm the drive you are wanting to edit (especially do this if you have multiple drives running from your PC):
-----Confirm model, serial #, size of the drive to edit.
5. Click the partition of the drive you desire to edit
-----Ex. if you have an 8TB drive with 2 partitions, one ~8TB (with all your data) and one ~200MB, you want to make sure you've clicked on the 8TB area so it is selected/highlighted.
6. Click the settings wheel/cog, then click 'Edit Mount Options...'
7. Turn off 'User Session Defaults' (to be able to edit the options below).
8. Click 'Mount at system startup' (if you want the drive to automatically mount each time the computer is booted).
9. Ensure 'Show in user interface' is checked (to be able to see the drive in Files).
10. Ensure 'Require additional authorization to mount' is unchecked.
From here, we will set the necessary user/group file system permissions, so the jellyfin user may access this drive.
~~~~~~~~~~~~~~~If you do NOT know the GID or UID you want~~~~~~~~~~~~~~~~~
For UID: you likely want yourself, the user, to remain the user for this data.
To get your UID, input id -u into the terminal to see your UID.
For GID: whatever group that both you and the jellyfin user are part of will work fine. Personally, I made a separate group for exclusively my PC users and the 'jellyfin' services user to be in together. To find a specific group ID, input getent group group_name into the terminal (replacing group_name with the desired group name). The output will display the group name, GID #, and members of the group.
~~~~~~~~~~~~~~~If you already know the GID/UID~~~~~~~~~~~~~~~~~~~~~~~~~~~
Input the UID and GID into the line directly below the 'Symbolic Icon Name' line. It is likely already populated with text such as 'nosuid' or 'nodev' or 'nofail' or others. You probably don't need to touch these. Simply add a comma and enter 'gid=xxxx' (replacing x's with your GID #'s), and a comma and 'uid=xxxx'
You can also edit the mount point if you so desire, to a custom place.
Once you hit okay, the /etc/fstab file will be modified. You must restart your computer to have these changes take effect.
If you have any issues/abnormalities upon boot, revert to the original settings and evaluate what you changed. This should work seamlessly, as long as you understand what you are changing.
Thanks.
First time poster here.
This guide is for Linux (Ubuntu) users who are trying to use an exFAT-formatted external drive with Jellyfin and/or are encountering permissions/access issues with Jellyfin reaching your content.
The exFAT file system is supported across OS's (Windows, Linux, mac, etc.). NTFS is native to Windows, and ext4 is native to Linux. exFAT is light-weight and... fine for media servers (take precautions with data corruption, since exFAT doesn't have logging in case of unexpected shutdowns/ejects). My drive was formatted for exFAT, so I kept it this way.
HOWEVER --- exFAT does NOT support changes to permissions (i.e., group and users). It isn't capable of it. Instead, file permissions must be set at the mounting point of the drive.
~~~~~~~~~~~~~~~~~~~~~~~~Mounting Points~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The mounting point is an important concept to understand for Linux and Jellyfin. Jellyfin accesses/reads whatever file folders you tell it to, as long as it has permissions to do so. The jellyfin service creates a jellyfin user on your PC, in order to access files/content. You must grant this user permission to view the content you want to have jellyfin stream. Understanding the permissions of your drives and the mounting point they have is key to troubleshooting if you are encountering errors.
Essentially, a mounting point is where the external drive connects logically to your computer/OS. Think of it like a medieval kingdom: your external drive is an army (of data), standing across the moat outside the castle (your PC). What good is the army standing there outside, unable to come in and be useful to your kingdom? You lower the drawbridge (i.e., create a mounting point) to establish connection between your army of data and your computer castle, allowing the soldiers (your data) to come in.
~~~~~~~~~~~~~~~~~~~~~Setting File Permissions with a custom Mounting Point (the /etc/fstab file)~~~~~~~~~~~~~~~~~~~~~~~~~
Filesystem mounting points are stored in the /etc/fstab file.
***Warning: please ensure all steps are correct before modifying/saving the ftsab file. If you incorrectly mount drives, you can risk seriously messing up your computer when restarting/during the boot. Not to scare users away, I did this when very new to Linux and got 'emergency' errors a few times. Highly recommend looking into the documentation for /etc/fstab to get a full understanding of how it works and you understand why you need to make certain changes. If you don't...... well here's what I did.***
To me, the easiest/most-user-friendly way to edit the /etc/fstab file for automatic mounting of an exFAT external drive was:
1. Navigate to your drive in Files.
2. Right-click the external drive you want to edit, then click Properties.
3. Click 'Open in Disks' (and yes, you could have just opened Disks and navigated to the drive from there).
4. Confirm the drive you are wanting to edit (especially do this if you have multiple drives running from your PC):
-----Confirm model, serial #, size of the drive to edit.
5. Click the partition of the drive you desire to edit
-----Ex. if you have an 8TB drive with 2 partitions, one ~8TB (with all your data) and one ~200MB, you want to make sure you've clicked on the 8TB area so it is selected/highlighted.
6. Click the settings wheel/cog, then click 'Edit Mount Options...'
7. Turn off 'User Session Defaults' (to be able to edit the options below).
8. Click 'Mount at system startup' (if you want the drive to automatically mount each time the computer is booted).
9. Ensure 'Show in user interface' is checked (to be able to see the drive in Files).
10. Ensure 'Require additional authorization to mount' is unchecked.
From here, we will set the necessary user/group file system permissions, so the jellyfin user may access this drive.
~~~~~~~~~~~~~~~If you do NOT know the GID or UID you want~~~~~~~~~~~~~~~~~
For UID: you likely want yourself, the user, to remain the user for this data.
To get your UID, input id -u into the terminal to see your UID.
For GID: whatever group that both you and the jellyfin user are part of will work fine. Personally, I made a separate group for exclusively my PC users and the 'jellyfin' services user to be in together. To find a specific group ID, input getent group group_name into the terminal (replacing group_name with the desired group name). The output will display the group name, GID #, and members of the group.
~~~~~~~~~~~~~~~If you already know the GID/UID~~~~~~~~~~~~~~~~~~~~~~~~~~~
Input the UID and GID into the line directly below the 'Symbolic Icon Name' line. It is likely already populated with text such as 'nosuid' or 'nodev' or 'nofail' or others. You probably don't need to touch these. Simply add a comma and enter 'gid=xxxx' (replacing x's with your GID #'s), and a comma and 'uid=xxxx'
You can also edit the mount point if you so desire, to a custom place.
Once you hit okay, the /etc/fstab file will be modified. You must restart your computer to have these changes take effect.
If you have any issues/abnormalities upon boot, revert to the original settings and evaluate what you changed. This should work seamlessly, as long as you understand what you are changing.
Thanks.