TrueNAS
Products
Support & Resources
Solutions
Company
Sign In
TrueNASTrueNAS Development Documentation
This content follows experimental development changes in TrueNAS 28, a future version of TrueNAS.
Use the Product and Version selectors above to view content specific to a stable software release.

ACL Screens

TrueNAS offers two Access Control List (ACL) types: POSIX (the TrueNAS default) and NFSv4. For a more in-depth explanation of ACLs and configurations in TrueNAS, see our ACL Primer.

The Dataset Preset option on the Add Dataset screen sets the ACL type applied for SMB shares, apps, multi-protocol shares, and general-use datasets.

The ACL Type setting in the Advanced Options on both the Add Dataset and Edit Dataset screens determines the ACL presets available on the ACL Select a preset ACL window. It also determines which permissions editor screens you see after you click the edit edit icon on the Dataset Permissions card.

Set ACL Type to NSFv4 to activate and select the ACL Mode the dataset uses.

While creating an ACL, users can choose to skip an execution check. We only recommend skipping execution checks for users who need to join their Microsoft Active Directory to a TrueNAS system.

Unix Permissions Editor Screen

The Unix Permissions Editor opens when editing a dataset with a POSIX ACL. It shows the ACL Owner and Owner Group settings, and allows changing the defaults for each of these settings. The Permissions card shows an at-a-glance view of the POSIX ACL settings associated with the dataset.

Unix Permissions Editor
Figure 1: Unix Permissions Editor

Set ACS opens the Select a preset ACL dialog.

Apply Permissions Recursively applies the current ACL or permissions settings to all child datasets and directories. Shows a confirmation dialog before changes are applied, and then shows the Apply permissions to child datasets option.

A common misconfiguration is removing the Execute permission from a dataset that is a parent to other child datasets. Removing this permission results in lost access to the path.
POSIX ACL Owner Settings

The Owner section controls which TrueNAS user and group has full control of this dataset.

SettingDescription
UserEnter or select a user to control the dataset. Users created manually or imported from a directory service appear in the menu.
Apply UserSelect to confirm user changes. To prevent errors, TrueNAS only submits changes after you select this option.
GroupEnter or select the group to control the dataset. Groups created manually or imported from a directory service appear in the menu.
Apply GroupSelect to confirm group changes. To prevent errors, TrueNAS only submits changes after you select this option.

POSIX ACL Access Settings

The Access section shows check boxes for the basic Read, Write, and Execute permissions and the User, Group, and Other accounts that might access this dataset.

Select a Preset ACL

There are two Select a preset ACL windows. The first shows options to use a preset ACL or customise the ACL. The other, opened by clicking Use Preset on the Edit ACL screen, only shows the Preset dropdown list.

POSIX Select a Preset ACL
Figure 2: POSIX Select a Preset ACL
Select a Preset ACL from Use Preset
Figure 3: Select a Preset ACL from Use Preset

A selected preset replaces the ACL shown on the Edit ACL screen and deletes any unsaved changes.

The POSIX Select a preset ACL window opened with the Set ACL shows two radio button options:

  • Select a preset ACL
  • Create a custom ACL

Create a custom ACL hides the Preset dropdown list and shows the Continue button that opens the Edit ACL screen for a POSIX ACL.

Use Preset ACL on the Edit ACL screen opens the Select a Preset ACL window showing the Presets dropdown list and a general statement about ACL presets.

The Preset dropdown list shows the preconfigured set of permissions that match general situations.

POSIX preset ACL options are POSIX_OPEN, POSIX_RESTRICTED, POSIX_HOME, and POSIX_ADMIN. NFSv4 present ACL options are NFS4_OPEN, NFS4_RESTRICTED, NFS4_HOME, NFS4_DOMAIN_HOME, and NFS4_ADMIN.

TrueNAS built-in presets automatically include entries for the builtin_users and builtin_administrators groups. Systems joined to Active Directory also include domain users and domain admins entries. User-created presets are not affected.

The Edit ACL screen shows options based on ACL type (POSIX or NFSv4).

The section below describes the differences between screens for each ACL type.

Edit ACL Screen

The Edit ACL shows access control list settings for a POSIX or NFSv4 ACL.

The screen is divided into sections:

  • ACL Editor with the Owner and Owner Group settings.
  • Access Control List showing all the entries currently in the ACL.
  • Access Control Entry showing settings to configure new or change a selected existing ACL entry.

Path shows the mount path to the selected dataset.

ACL Editor Owner Settings
Figure 4: ACL Editor Owner Settings

Access Control List

The Access Control List section lists items and a permissions summary for each ACL entry (owner, group, etc). The list of items changes based on a selected pre-configured set of permissions.

Add Item adds a new entry, defaulting to User -? until you configure it in the Access Control Entry section of the screen.

Access Control Entry

Shows settings to configure a new ACL entry. It is partitioned into configuration areas:

  • Who
  • ACL Type
  • Permissions
  • Flags
NFS4 Edit ACL Screen
Figure 5: NFS4 Edit ACL Screen

Additional options and buttons are shown under the Access Control List section.

Apply permissions recursively applies all settings or changes on the Edit ACL screen to all child datasets in the path in Dataset.

Save Access Control List saves settings or changes made on the Edit ACL screen.

Strip ACL removes all ACLs from the current dataset and any directories or files contained within this dataset. Stripping the ACL resets dataset permissions and can make data inaccessible until you create new permissions. Only shows for NFSv4 ACLs.

Presets has two buttons: Use Preset and Save as Preset. Use Preset opens the Select a preset ACL window. Presets shown are based on the type of ACL (POSIX or NFSv4). Save as Preset saves changes made to the current access control list as a custom preset and adds it to the Access Control List. Permissions Editor opens the Unix Permissions Editor screen for POSIX ACL types. Only shows for POSIX ACLs.

Access Control Entry Settings

The POSIX Access Control Entry settings include Who, Permissions, and Flags options.

POSIX Access Control Entry Settings
Figure 6: POSIX Access Control Entry Settings
POSIX ACE Setting
SettingDescription
WhoSelect the user or group from the dropdown list the permissions apply to. User denotes access rights for users identified by the entry qualifier. Group denotes access rights for the filegroup. Other denotes access rights for processes that do not match any other entry in the ACL. Group Obj denotes access rights for the filegroup. User Obj denotes access rights for the file owner.
Mask denotes the maximum access rights user, troup object, or group type entries can grant.
PermissionsSelect the checkbox for each permission type (Read, Write and Execute) to apply to the user or group in Who.
FlagsSelect the Default option to include a flag setting for the user or group in Who.

The NFSv4 ACL Type radio buttons change the Permissions and Flags setting options. Allow grants the specified permissions. Deny restricts the permissions for the user or group in Who.

NSFv4 Access Control Entry Settings
Figure 7: NSFv4 Access Control Entry Settings
NFSv4 ACE Settings
SettingDescription
WhoAccess Control Entry (ACE) user or group. Sets a specific user or group for the entry, and shows the User or Group dropdown lists showing avaialbe users or group names. See nfs4_setfacl(1) NFSv4 ACL ENTRIES. owner@ applies this entry to the user that owns the dataset. group@ applies this entry to the group that owns the dataset. everyone@ applies this entry to all users and groups.
UserDenotes access rights for users identified by the qualifier. Shows when Who is set to User.
GroupDenotes access rights for groups identified by the qualifier. Shows when Who is set to Group.

Permissions and Flags

TrueNAS divides permissions and inheritance flags into basic and advanced options. The basic permission options are commonly used groups of advanced options. Basic inheritance flags only enable or disable ACE inheritance. Advanced flags offer finer control for applying an ACE to new files or directories.

NFSv4 ACLs have more permission and flag options than POSIX ACLS.

Basic Permissions Settings

The Basic radio button shows the Permissions dropdown list of options that apply to the user or group in Who.

NSFv4 Basic Permissions Options
Figure 8: NSFv4 Basic Permissions Options
NFSv4 Basic Permissions Settings
PermissionCLI CommandDescription
Readr-x---a-R-c---View file or directory contents, attributes, named attributes, and ACL.
ModifyrwxpDdaARWc--sAdjust file or directory contents, attributes, and named attributes. Create new files or subdirectories. Includes the Traverse permission.
Traverse--x---a-R-c---Execute a file or move through a directory.
Full ControlrwxpDdaARWcCosApply all permissions.

Advanced Permissions Settings

The Advanced radio button shows the Permissions options for the user or group in Who.

NSFv4 Advanced Permissions Options
Figure 9: NSFv4 Advanced Permissions Options
NFSv4 Advanced Permisions Settings
PermissionCLI CommandDescription
Read DatarView file contents or list directory contents.
Write DatawCreate new files or modify any part of a file.
Append DatapAdd new data to the end of a file.
Read Named AttributesRView the named attributes directory.
Write Named AttributesWCreate a named attribute directory. Must be paired with the Read Named Attributes permission.
ExecutexExecute a file, move through, or search a directory.
Delete ChildrenDDelete files or subdirectories from inside a directory.
Read AttributesaView file or directory non-ACL attributes.
Write AttributesAChange file or directory non-ACL attributes.
DeletedRemove the file or directory.
Read ACLcView the ACL.
Write ACLCChange the ACL and the ACL mode.
Write OwneroChange the user and group owners of the file or directory.
SynchronizesSynchronous file read/write with the server. This permission does not apply to FreeBSD clients.

NFSv4 Basic Flags

The Basic radio button shows the flag settings that enable or disable ACE inheritance.

NSFv4 Basic Flags Options
Figure 10: NSFv4 Basic Flags Options
NFSv4 Basic Flag Settings
FlagCLI CommandDescription
Inheritfd-----Enable ACE inheritance.
No Inherit-------Disable ACE inheritance.

NFSv4 Advanced Flags

The Advanced radio button shows the flag settings that enable or disable ACE inheritance and offer finer control for applying an ACE to new files or directories.

NFSv4 Advanced Flags Options
Figure 11: NFSv4 Advanced Flags Options
NFSv4 Advanced Flag Settings
FlagCLI CommandDescription
File InheritfThe ACE is inherited with subdirectories and files. It applies to new files.
Directory InheritdNew subdirectories inherit the full ACE.
No Propagate InheritnThe ACE can only be inherited once.
Inherit OnlyiRemove the ACE from permission checks but allow new files or subdirectories to inherit it. Inherit Only is removed from these new objects.
InheritedISet when this dataset inherits the ACE from another dataset.