How to explain this difference in Linux and FreeBSD ACL behaviour?












0














I am trying to understand the difference in behaviour between FreeBSD ACLs and Linux ACLs. In particular, the inheritance mechanism for the default ACLs.



I tried the following sequence of commands on Debian 9.6:



$ mkdir storage
$ chgrp stor storage
$ chmod g+ws storage
$ setfacl -d -m u::rwx,g::rwx,o::-,m::rwx storage
$ ls -l
drwxrwsr-x+ 2 aaa stor 4096 Dec 27 23:10 storage

$ touch outside
$ ls -l
-rw-r--r-- 1 aaa aaa 0 Dec 27 23:11 outside
drwxrwsr-x+ 2 aaa stor 4096 Dec 27 23:10 storage

$ cd storage
$ touch inside
$ ls -l
-rw-rw---- 1 aaa stor 0 Dec 27 23:11 inside

$ getfacl inside
# file: inside
# owner: aaa
# group: stor
user::rw-
group::rwx #effective:rw-
mask::rw-
other::---

$ umask
0022


Notice that the outside and inside files have different permissions. In particular, the outside file has -rw-r--r--, which is the default for this user and the inside file has -rw-rw----, respecting the default ACLs I assigned the storage directory.



If I try the exact same set of commands on FreeBSD 12:



$ mkdir storage
$ chgrp stor storage
$ chmod g+ws storage
$ setfacl -d -m u::rwx,g::rwx,o::-,m::rwx storage
$ ls -l
drwxrwsr-x 2 aaa stor 512 Dec 27 15:19 storage

$ touch outside
$ ls -l
-rw-r--r-- 1 aaa aaa 0 Dec 27 15:24 outside
drwxrwsr-x 2 aaa stor 512 Dec 27 15:24 storage

$ cd storage
$ touch inside
$ ls -l
-rw-r-----+ 1 aaa stor 0 Dec 27 15:25 inside

$ getfacl inside
# file: inside
# owner: aaa
# group: stor
user::rw-
group::rwx # effective: r--
mask::r--
other::---

$ umask
0022


Here, the outside and inside files also have different permissions, but the inside file does not have the group write permission that the Debian version does. Interestingly and possibly related, the mask in Debian retained the w while the mask in FreeBSD lost the w.



Why is this?










share|improve this question





























    0














    I am trying to understand the difference in behaviour between FreeBSD ACLs and Linux ACLs. In particular, the inheritance mechanism for the default ACLs.



    I tried the following sequence of commands on Debian 9.6:



    $ mkdir storage
    $ chgrp stor storage
    $ chmod g+ws storage
    $ setfacl -d -m u::rwx,g::rwx,o::-,m::rwx storage
    $ ls -l
    drwxrwsr-x+ 2 aaa stor 4096 Dec 27 23:10 storage

    $ touch outside
    $ ls -l
    -rw-r--r-- 1 aaa aaa 0 Dec 27 23:11 outside
    drwxrwsr-x+ 2 aaa stor 4096 Dec 27 23:10 storage

    $ cd storage
    $ touch inside
    $ ls -l
    -rw-rw---- 1 aaa stor 0 Dec 27 23:11 inside

    $ getfacl inside
    # file: inside
    # owner: aaa
    # group: stor
    user::rw-
    group::rwx #effective:rw-
    mask::rw-
    other::---

    $ umask
    0022


    Notice that the outside and inside files have different permissions. In particular, the outside file has -rw-r--r--, which is the default for this user and the inside file has -rw-rw----, respecting the default ACLs I assigned the storage directory.



    If I try the exact same set of commands on FreeBSD 12:



    $ mkdir storage
    $ chgrp stor storage
    $ chmod g+ws storage
    $ setfacl -d -m u::rwx,g::rwx,o::-,m::rwx storage
    $ ls -l
    drwxrwsr-x 2 aaa stor 512 Dec 27 15:19 storage

    $ touch outside
    $ ls -l
    -rw-r--r-- 1 aaa aaa 0 Dec 27 15:24 outside
    drwxrwsr-x 2 aaa stor 512 Dec 27 15:24 storage

    $ cd storage
    $ touch inside
    $ ls -l
    -rw-r-----+ 1 aaa stor 0 Dec 27 15:25 inside

    $ getfacl inside
    # file: inside
    # owner: aaa
    # group: stor
    user::rw-
    group::rwx # effective: r--
    mask::r--
    other::---

    $ umask
    0022


    Here, the outside and inside files also have different permissions, but the inside file does not have the group write permission that the Debian version does. Interestingly and possibly related, the mask in Debian retained the w while the mask in FreeBSD lost the w.



    Why is this?










    share|improve this question



























      0












      0








      0







      I am trying to understand the difference in behaviour between FreeBSD ACLs and Linux ACLs. In particular, the inheritance mechanism for the default ACLs.



      I tried the following sequence of commands on Debian 9.6:



      $ mkdir storage
      $ chgrp stor storage
      $ chmod g+ws storage
      $ setfacl -d -m u::rwx,g::rwx,o::-,m::rwx storage
      $ ls -l
      drwxrwsr-x+ 2 aaa stor 4096 Dec 27 23:10 storage

      $ touch outside
      $ ls -l
      -rw-r--r-- 1 aaa aaa 0 Dec 27 23:11 outside
      drwxrwsr-x+ 2 aaa stor 4096 Dec 27 23:10 storage

      $ cd storage
      $ touch inside
      $ ls -l
      -rw-rw---- 1 aaa stor 0 Dec 27 23:11 inside

      $ getfacl inside
      # file: inside
      # owner: aaa
      # group: stor
      user::rw-
      group::rwx #effective:rw-
      mask::rw-
      other::---

      $ umask
      0022


      Notice that the outside and inside files have different permissions. In particular, the outside file has -rw-r--r--, which is the default for this user and the inside file has -rw-rw----, respecting the default ACLs I assigned the storage directory.



      If I try the exact same set of commands on FreeBSD 12:



      $ mkdir storage
      $ chgrp stor storage
      $ chmod g+ws storage
      $ setfacl -d -m u::rwx,g::rwx,o::-,m::rwx storage
      $ ls -l
      drwxrwsr-x 2 aaa stor 512 Dec 27 15:19 storage

      $ touch outside
      $ ls -l
      -rw-r--r-- 1 aaa aaa 0 Dec 27 15:24 outside
      drwxrwsr-x 2 aaa stor 512 Dec 27 15:24 storage

      $ cd storage
      $ touch inside
      $ ls -l
      -rw-r-----+ 1 aaa stor 0 Dec 27 15:25 inside

      $ getfacl inside
      # file: inside
      # owner: aaa
      # group: stor
      user::rw-
      group::rwx # effective: r--
      mask::r--
      other::---

      $ umask
      0022


      Here, the outside and inside files also have different permissions, but the inside file does not have the group write permission that the Debian version does. Interestingly and possibly related, the mask in Debian retained the w while the mask in FreeBSD lost the w.



      Why is this?










      share|improve this question















      I am trying to understand the difference in behaviour between FreeBSD ACLs and Linux ACLs. In particular, the inheritance mechanism for the default ACLs.



      I tried the following sequence of commands on Debian 9.6:



      $ mkdir storage
      $ chgrp stor storage
      $ chmod g+ws storage
      $ setfacl -d -m u::rwx,g::rwx,o::-,m::rwx storage
      $ ls -l
      drwxrwsr-x+ 2 aaa stor 4096 Dec 27 23:10 storage

      $ touch outside
      $ ls -l
      -rw-r--r-- 1 aaa aaa 0 Dec 27 23:11 outside
      drwxrwsr-x+ 2 aaa stor 4096 Dec 27 23:10 storage

      $ cd storage
      $ touch inside
      $ ls -l
      -rw-rw---- 1 aaa stor 0 Dec 27 23:11 inside

      $ getfacl inside
      # file: inside
      # owner: aaa
      # group: stor
      user::rw-
      group::rwx #effective:rw-
      mask::rw-
      other::---

      $ umask
      0022


      Notice that the outside and inside files have different permissions. In particular, the outside file has -rw-r--r--, which is the default for this user and the inside file has -rw-rw----, respecting the default ACLs I assigned the storage directory.



      If I try the exact same set of commands on FreeBSD 12:



      $ mkdir storage
      $ chgrp stor storage
      $ chmod g+ws storage
      $ setfacl -d -m u::rwx,g::rwx,o::-,m::rwx storage
      $ ls -l
      drwxrwsr-x 2 aaa stor 512 Dec 27 15:19 storage

      $ touch outside
      $ ls -l
      -rw-r--r-- 1 aaa aaa 0 Dec 27 15:24 outside
      drwxrwsr-x 2 aaa stor 512 Dec 27 15:24 storage

      $ cd storage
      $ touch inside
      $ ls -l
      -rw-r-----+ 1 aaa stor 0 Dec 27 15:25 inside

      $ getfacl inside
      # file: inside
      # owner: aaa
      # group: stor
      user::rw-
      group::rwx # effective: r--
      mask::r--
      other::---

      $ umask
      0022


      Here, the outside and inside files also have different permissions, but the inside file does not have the group write permission that the Debian version does. Interestingly and possibly related, the mask in Debian retained the w while the mask in FreeBSD lost the w.



      Why is this?







      linux permissions freebsd acl






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited 11 mins ago

























      asked 25 mins ago









      Roxy

      1363




      1363



























          active

          oldest

          votes











          Your Answer








          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "106"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: false,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: null,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });














          draft saved

          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f491272%2fhow-to-explain-this-difference-in-linux-and-freebsd-acl-behaviour%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown






























          active

          oldest

          votes













          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes
















          draft saved

          draft discarded




















































          Thanks for contributing an answer to Unix & Linux Stack Exchange!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.





          Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


          Please pay close attention to the following guidance:


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f491272%2fhow-to-explain-this-difference-in-linux-and-freebsd-acl-behaviour%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          Accessing regular linux commands in Huawei's Dopra Linux

          Can't connect RFCOMM socket: Host is down

          Kernel panic - not syncing: Fatal Exception in Interrupt