Skip to content
Snippets Groups Projects
nfs4-file-acl.md 2.03 KiB
Newer Older
  • Learn to ignore specific revisions
  • Jan Siwiec's avatar
    Jan Siwiec committed
    # NFSv4 ACL
    
    
    Jan Siwiec's avatar
    Jan Siwiec committed
    An NFSv4 ACL consists of one or more NFSv4 ACEs (Access Control Entry), each delimited by a comma or whitespace.
    
    Jan Siwiec's avatar
    Jan Siwiec committed
    
    
    Ondrej Dvorak's avatar
    Ondrej Dvorak committed
    An NFSv4 ACE is written as a colon-delimited, 4-field string in the following format:
    
    
    Jan Siwiec's avatar
    Jan Siwiec committed
    ``` code
    <type>:<flags>:<principal>:<permissions>
    ```
    
    Jan Siwiec's avatar
    Jan Siwiec committed
    ## ACE Elements
    
    
    Jan Siwiec's avatar
    Jan Siwiec committed
    * `<type>` - one of:
    
    Jan Siwiec's avatar
    Jan Siwiec committed
    
    | Flag | Name  |
    | ---- | ----- |
    | A    | allow |
    | D    | deny  |
    | U    | audit |
    | L    | alarm |
    
    
    Jan Siwiec's avatar
    Jan Siwiec committed
    * `<flags>` - zero or more (depending on <type>) of:
    
    Jan Siwiec's avatar
    Jan Siwiec committed
    
    | Flag | Name                                        |
    | ---- | ------------------------------------------- |
    | f    | file-inherit                                |
    | d    | directory-inherit                           |
    | p    | no-propagate-inherit                        |
    | i    | inherit-only                                |
    | S    | successful-access                           |
    | F    | failed-access                               |
    | g    | group (denotes that <principal> is a group) |
    
    
    Jan Siwiec's avatar
    Jan Siwiec committed
    * `<principal>` - named user or group, or one of: "OWNER@", "GROUP@", "EVERYONE@"
    
    Jan Siwiec's avatar
    Jan Siwiec committed
    * `<permissions>` - one or more of:
    
    Jan Siwiec's avatar
    Jan Siwiec committed
    
    | Flag | Name                              |
    | ---- | --------------------------------- |
    | r    | read-data / list-directory        |
    | w    | write-data / create-file          |
    | a    | append-data / create-subdirectory |
    | x    | execute                           |
    | d    | delete                            |
    | D    | delete-child (directories only)   |
    | t    | read-attrs                        |
    | T    | write-attrs                       |
    | n    | read-named-attrs                  |
    | N    | write-named-attrs                 |
    | c    | read-ACL                          |
    | C    | write-ACL                         |
    | o    | write-owner                       |
    | y    | synchronize                       |
    
    ## Example
    
    Jan Siwiec's avatar
    Jan Siwiec committed
    
    ``` code
    
    Ondrej Dvorak's avatar
    Ondrej Dvorak committed
    [root@login2.salomon proj1]# nfs4_getfacl open-20-11
    
    # file: open-20-11
    A::OWNER@:rwaDxtTcCy
    A::GROUP@:rxtcy
    A:g:open-20-11@it4i.cz:rwaDxtcy
    A::EVERYONE@:tcy
    A:fdi:OWNER@:rwaDxtTcCy
    A:fdi:GROUP@:rxtcy
    A:fdig:open-20-11@it4i.cz:rwaDxtcy
    A:fdi:EVERYONE@:tcy
    
    Jan Siwiec's avatar
    Jan Siwiec committed
    ```