Why is the “ls” command showing permissions of files in a FAT32 partition?2019 Community Moderator ElectionBase permissions on a fat32 usb driveChanging file permissions of auto-mounted hot-plugged FAT32 USB partitionWhy are 666 the default file creation permissions?How do file permissions work with partition filesystem?openSUSE Live USB with windows-accessible FAT32 partitionOne of my pdf files in my apache server can be accessed the other can't, with the same permissions and same directoryHow to rename multiple files by adding a common string at beginning of the files?Parted: Creating fat32 partition on new drive doesn't mount properly, uses loop deviceList complete file name on a local apache httpd serverHow to grep the rows with same column in different files and print specific column and add onto the original file?

Quoting Keynes in a lecture

Make a Bowl of Alphabet Soup

Find the next value of this number series

What is Cash Advance APR?

C++ copy constructor called at return

Why is the "ls" command showing permissions of files in a FAT32 partition?

What (the heck) is a Super Worm Equinox Moon?

Why is it that I can sometimes guess the next note?

What kind of floor tile is this?

How much theory knowledge is actually used while playing?

A Trivial Diagnosis

Is there a RAID 0 Equivalent for RAM?

Giving feedback to someone without sounding prejudiced

PTIJ: Why is Haman obsessed with Bose?

What is the highest possible scrabble score for placing a single tile

Why should universal income be universal?

Mimic lecturing on blackboard, facing audience

Creating two special characters

Why can't the Brexit deadlock in the UK parliament be solved with a plurality vote?

A variation to the phrase "hanging over my shoulders"

Which Article Helped Get Rid of Technobabble in RPGs?

US tourist/student visa

C++ check if statement can be evaluated constexpr

Taxes on Dividends in a Roth IRA



Why is the “ls” command showing permissions of files in a FAT32 partition?



2019 Community Moderator ElectionBase permissions on a fat32 usb driveChanging file permissions of auto-mounted hot-plugged FAT32 USB partitionWhy are 666 the default file creation permissions?How do file permissions work with partition filesystem?openSUSE Live USB with windows-accessible FAT32 partitionOne of my pdf files in my apache server can be accessed the other can't, with the same permissions and same directoryHow to rename multiple files by adding a common string at beginning of the files?Parted: Creating fat32 partition on new drive doesn't mount properly, uses loop deviceList complete file name on a local apache httpd serverHow to grep the rows with same column in different files and print specific column and add onto the original file?










19















I believe that the FAT32 file system does not support file permissions, however when I do ls -l on a FAT32 partition, ls -l shows that the files have permissions:



-rw-r--r-- 1 john john 11 Mar 20 15:43 file1.txt
-rw-r--r-- 1 john john 5 Mar 20 15:49 file2.txt


Why is ls -l displaying the permissions of files?










share|improve this question









New contributor




user342731 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
























    19















    I believe that the FAT32 file system does not support file permissions, however when I do ls -l on a FAT32 partition, ls -l shows that the files have permissions:



    -rw-r--r-- 1 john john 11 Mar 20 15:43 file1.txt
    -rw-r--r-- 1 john john 5 Mar 20 15:49 file2.txt


    Why is ls -l displaying the permissions of files?










    share|improve this question









    New contributor




    user342731 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
    Check out our Code of Conduct.






















      19












      19








      19








      I believe that the FAT32 file system does not support file permissions, however when I do ls -l on a FAT32 partition, ls -l shows that the files have permissions:



      -rw-r--r-- 1 john john 11 Mar 20 15:43 file1.txt
      -rw-r--r-- 1 john john 5 Mar 20 15:49 file2.txt


      Why is ls -l displaying the permissions of files?










      share|improve this question









      New contributor




      user342731 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.












      I believe that the FAT32 file system does not support file permissions, however when I do ls -l on a FAT32 partition, ls -l shows that the files have permissions:



      -rw-r--r-- 1 john john 11 Mar 20 15:43 file1.txt
      -rw-r--r-- 1 john john 5 Mar 20 15:49 file2.txt


      Why is ls -l displaying the permissions of files?







      linux permissions filesystems fat fat32






      share|improve this question









      New contributor




      user342731 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.











      share|improve this question









      New contributor




      user342731 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.









      share|improve this question




      share|improve this question








      edited 4 mins ago









      psmears

      44728




      44728






      New contributor




      user342731 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.









      asked yesterday









      user342731user342731

      1013




      1013




      New contributor




      user342731 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.





      New contributor





      user342731 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.






      user342731 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.




















          3 Answers
          3






          active

          oldest

          votes


















          46














          The filesystem as stored on disk doesn't store file permissions, but the filesystem driver has to provide them to the operating system since they are an integral part of the Unix filesystem concept(*).



          So, the driver fakes some permissions, same ones for all files. The permissions along with the files' owner and group are configurable at mount time. See "Mount options for fat" in the mount(8) man page.



          (* Consider what would happen if a file didn't have any permission bits at all? Would it be the same as 0777, i.e. access to all; or the same as 0000, i.e. no access to anyone? But both of those are file permissions, so why not show them? Or do something more useful and set some sensible permissions.)






          share|improve this answer


















          • 4





            And the reason it does fake the permissions is that otherwise ls, and any other program that looked at file permissions (even just your code trying to read a file) would have to have the logic to handle all the different file system organizations built in.

            – jamesqf
            yesterday






          • 4





            @jamesqf, yes, and even the system call interfaces don't have the option of "not having permissions", since the permissions have always been there. (That was what I was thinking when I wrote they're an "integral part".) Therefore, the permissions always shall be there, too, and things like ACLs are made so as to keep them meaningful.

            – ilkkachu
            yesterday











          • I've usually seen mode 777 for all files in FAT filesystems (FAT16 with an old driver, at least).

            – forest
            4 hours ago


















          14














          But the files do have permissions. User john has RW access, while some random user only has read access. These permissions didn’t come from the filesystem itself but rather from mount options (-o uid/gid/umask), which doesn’t make them any less real.



          You could have multiple vfat partitions mounted with different options and you could use ls to determine what those options were. You could even use mount --bind to have a single directory contain files from different vfat partitions, and ls would correctly show what permissions have been specified for each file.






          share|improve this answer






























            3














            ls doesn't know about FAT32, it only knows about the Virtual Filesystem (VFS) interface exposed by the kernel with POSIX open / readdir / stat system calls.



            Linux doesn't support the concept of files that don't have user/group/other permission bits, struct stat simply contains a mode_t st_mode; member (and uid, gid members) that the kernel must fill out when ls -l makes stat(2) system calls.



            There's no special code that means "not available" or "not applicable" for any of those fields, so the kernel's vfat driver must make something up. FAT16/FAT32 does have a read-only flag, but otherwise the owner/group come from mount options, and so does a umask.






            share|improve this answer






















              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
              );



              );






              user342731 is a new contributor. Be nice, and check out our Code of Conduct.









              draft saved

              draft discarded


















              StackExchange.ready(
              function ()
              StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f507441%2fwhy-is-the-ls-command-showing-permissions-of-files-in-a-fat32-partition%23new-answer', 'question_page');

              );

              Post as a guest















              Required, but never shown

























              3 Answers
              3






              active

              oldest

              votes








              3 Answers
              3






              active

              oldest

              votes









              active

              oldest

              votes






              active

              oldest

              votes









              46














              The filesystem as stored on disk doesn't store file permissions, but the filesystem driver has to provide them to the operating system since they are an integral part of the Unix filesystem concept(*).



              So, the driver fakes some permissions, same ones for all files. The permissions along with the files' owner and group are configurable at mount time. See "Mount options for fat" in the mount(8) man page.



              (* Consider what would happen if a file didn't have any permission bits at all? Would it be the same as 0777, i.e. access to all; or the same as 0000, i.e. no access to anyone? But both of those are file permissions, so why not show them? Or do something more useful and set some sensible permissions.)






              share|improve this answer


















              • 4





                And the reason it does fake the permissions is that otherwise ls, and any other program that looked at file permissions (even just your code trying to read a file) would have to have the logic to handle all the different file system organizations built in.

                – jamesqf
                yesterday






              • 4





                @jamesqf, yes, and even the system call interfaces don't have the option of "not having permissions", since the permissions have always been there. (That was what I was thinking when I wrote they're an "integral part".) Therefore, the permissions always shall be there, too, and things like ACLs are made so as to keep them meaningful.

                – ilkkachu
                yesterday











              • I've usually seen mode 777 for all files in FAT filesystems (FAT16 with an old driver, at least).

                – forest
                4 hours ago















              46














              The filesystem as stored on disk doesn't store file permissions, but the filesystem driver has to provide them to the operating system since they are an integral part of the Unix filesystem concept(*).



              So, the driver fakes some permissions, same ones for all files. The permissions along with the files' owner and group are configurable at mount time. See "Mount options for fat" in the mount(8) man page.



              (* Consider what would happen if a file didn't have any permission bits at all? Would it be the same as 0777, i.e. access to all; or the same as 0000, i.e. no access to anyone? But both of those are file permissions, so why not show them? Or do something more useful and set some sensible permissions.)






              share|improve this answer


















              • 4





                And the reason it does fake the permissions is that otherwise ls, and any other program that looked at file permissions (even just your code trying to read a file) would have to have the logic to handle all the different file system organizations built in.

                – jamesqf
                yesterday






              • 4





                @jamesqf, yes, and even the system call interfaces don't have the option of "not having permissions", since the permissions have always been there. (That was what I was thinking when I wrote they're an "integral part".) Therefore, the permissions always shall be there, too, and things like ACLs are made so as to keep them meaningful.

                – ilkkachu
                yesterday











              • I've usually seen mode 777 for all files in FAT filesystems (FAT16 with an old driver, at least).

                – forest
                4 hours ago













              46












              46








              46







              The filesystem as stored on disk doesn't store file permissions, but the filesystem driver has to provide them to the operating system since they are an integral part of the Unix filesystem concept(*).



              So, the driver fakes some permissions, same ones for all files. The permissions along with the files' owner and group are configurable at mount time. See "Mount options for fat" in the mount(8) man page.



              (* Consider what would happen if a file didn't have any permission bits at all? Would it be the same as 0777, i.e. access to all; or the same as 0000, i.e. no access to anyone? But both of those are file permissions, so why not show them? Or do something more useful and set some sensible permissions.)






              share|improve this answer













              The filesystem as stored on disk doesn't store file permissions, but the filesystem driver has to provide them to the operating system since they are an integral part of the Unix filesystem concept(*).



              So, the driver fakes some permissions, same ones for all files. The permissions along with the files' owner and group are configurable at mount time. See "Mount options for fat" in the mount(8) man page.



              (* Consider what would happen if a file didn't have any permission bits at all? Would it be the same as 0777, i.e. access to all; or the same as 0000, i.e. no access to anyone? But both of those are file permissions, so why not show them? Or do something more useful and set some sensible permissions.)







              share|improve this answer












              share|improve this answer



              share|improve this answer










              answered yesterday









              ilkkachuilkkachu

              62.1k10103179




              62.1k10103179







              • 4





                And the reason it does fake the permissions is that otherwise ls, and any other program that looked at file permissions (even just your code trying to read a file) would have to have the logic to handle all the different file system organizations built in.

                – jamesqf
                yesterday






              • 4





                @jamesqf, yes, and even the system call interfaces don't have the option of "not having permissions", since the permissions have always been there. (That was what I was thinking when I wrote they're an "integral part".) Therefore, the permissions always shall be there, too, and things like ACLs are made so as to keep them meaningful.

                – ilkkachu
                yesterday











              • I've usually seen mode 777 for all files in FAT filesystems (FAT16 with an old driver, at least).

                – forest
                4 hours ago












              • 4





                And the reason it does fake the permissions is that otherwise ls, and any other program that looked at file permissions (even just your code trying to read a file) would have to have the logic to handle all the different file system organizations built in.

                – jamesqf
                yesterday






              • 4





                @jamesqf, yes, and even the system call interfaces don't have the option of "not having permissions", since the permissions have always been there. (That was what I was thinking when I wrote they're an "integral part".) Therefore, the permissions always shall be there, too, and things like ACLs are made so as to keep them meaningful.

                – ilkkachu
                yesterday











              • I've usually seen mode 777 for all files in FAT filesystems (FAT16 with an old driver, at least).

                – forest
                4 hours ago







              4




              4





              And the reason it does fake the permissions is that otherwise ls, and any other program that looked at file permissions (even just your code trying to read a file) would have to have the logic to handle all the different file system organizations built in.

              – jamesqf
              yesterday





              And the reason it does fake the permissions is that otherwise ls, and any other program that looked at file permissions (even just your code trying to read a file) would have to have the logic to handle all the different file system organizations built in.

              – jamesqf
              yesterday




              4




              4





              @jamesqf, yes, and even the system call interfaces don't have the option of "not having permissions", since the permissions have always been there. (That was what I was thinking when I wrote they're an "integral part".) Therefore, the permissions always shall be there, too, and things like ACLs are made so as to keep them meaningful.

              – ilkkachu
              yesterday





              @jamesqf, yes, and even the system call interfaces don't have the option of "not having permissions", since the permissions have always been there. (That was what I was thinking when I wrote they're an "integral part".) Therefore, the permissions always shall be there, too, and things like ACLs are made so as to keep them meaningful.

              – ilkkachu
              yesterday













              I've usually seen mode 777 for all files in FAT filesystems (FAT16 with an old driver, at least).

              – forest
              4 hours ago





              I've usually seen mode 777 for all files in FAT filesystems (FAT16 with an old driver, at least).

              – forest
              4 hours ago













              14














              But the files do have permissions. User john has RW access, while some random user only has read access. These permissions didn’t come from the filesystem itself but rather from mount options (-o uid/gid/umask), which doesn’t make them any less real.



              You could have multiple vfat partitions mounted with different options and you could use ls to determine what those options were. You could even use mount --bind to have a single directory contain files from different vfat partitions, and ls would correctly show what permissions have been specified for each file.






              share|improve this answer



























                14














                But the files do have permissions. User john has RW access, while some random user only has read access. These permissions didn’t come from the filesystem itself but rather from mount options (-o uid/gid/umask), which doesn’t make them any less real.



                You could have multiple vfat partitions mounted with different options and you could use ls to determine what those options were. You could even use mount --bind to have a single directory contain files from different vfat partitions, and ls would correctly show what permissions have been specified for each file.






                share|improve this answer

























                  14












                  14








                  14







                  But the files do have permissions. User john has RW access, while some random user only has read access. These permissions didn’t come from the filesystem itself but rather from mount options (-o uid/gid/umask), which doesn’t make them any less real.



                  You could have multiple vfat partitions mounted with different options and you could use ls to determine what those options were. You could even use mount --bind to have a single directory contain files from different vfat partitions, and ls would correctly show what permissions have been specified for each file.






                  share|improve this answer













                  But the files do have permissions. User john has RW access, while some random user only has read access. These permissions didn’t come from the filesystem itself but rather from mount options (-o uid/gid/umask), which doesn’t make them any less real.



                  You could have multiple vfat partitions mounted with different options and you could use ls to determine what those options were. You could even use mount --bind to have a single directory contain files from different vfat partitions, and ls would correctly show what permissions have been specified for each file.







                  share|improve this answer












                  share|improve this answer



                  share|improve this answer










                  answered yesterday









                  Roman OdaiskyRoman Odaisky

                  2634




                  2634





















                      3














                      ls doesn't know about FAT32, it only knows about the Virtual Filesystem (VFS) interface exposed by the kernel with POSIX open / readdir / stat system calls.



                      Linux doesn't support the concept of files that don't have user/group/other permission bits, struct stat simply contains a mode_t st_mode; member (and uid, gid members) that the kernel must fill out when ls -l makes stat(2) system calls.



                      There's no special code that means "not available" or "not applicable" for any of those fields, so the kernel's vfat driver must make something up. FAT16/FAT32 does have a read-only flag, but otherwise the owner/group come from mount options, and so does a umask.






                      share|improve this answer



























                        3














                        ls doesn't know about FAT32, it only knows about the Virtual Filesystem (VFS) interface exposed by the kernel with POSIX open / readdir / stat system calls.



                        Linux doesn't support the concept of files that don't have user/group/other permission bits, struct stat simply contains a mode_t st_mode; member (and uid, gid members) that the kernel must fill out when ls -l makes stat(2) system calls.



                        There's no special code that means "not available" or "not applicable" for any of those fields, so the kernel's vfat driver must make something up. FAT16/FAT32 does have a read-only flag, but otherwise the owner/group come from mount options, and so does a umask.






                        share|improve this answer

























                          3












                          3








                          3







                          ls doesn't know about FAT32, it only knows about the Virtual Filesystem (VFS) interface exposed by the kernel with POSIX open / readdir / stat system calls.



                          Linux doesn't support the concept of files that don't have user/group/other permission bits, struct stat simply contains a mode_t st_mode; member (and uid, gid members) that the kernel must fill out when ls -l makes stat(2) system calls.



                          There's no special code that means "not available" or "not applicable" for any of those fields, so the kernel's vfat driver must make something up. FAT16/FAT32 does have a read-only flag, but otherwise the owner/group come from mount options, and so does a umask.






                          share|improve this answer













                          ls doesn't know about FAT32, it only knows about the Virtual Filesystem (VFS) interface exposed by the kernel with POSIX open / readdir / stat system calls.



                          Linux doesn't support the concept of files that don't have user/group/other permission bits, struct stat simply contains a mode_t st_mode; member (and uid, gid members) that the kernel must fill out when ls -l makes stat(2) system calls.



                          There's no special code that means "not available" or "not applicable" for any of those fields, so the kernel's vfat driver must make something up. FAT16/FAT32 does have a read-only flag, but otherwise the owner/group come from mount options, and so does a umask.







                          share|improve this answer












                          share|improve this answer



                          share|improve this answer










                          answered 10 hours ago









                          Peter CordesPeter Cordes

                          4,4431433




                          4,4431433




















                              user342731 is a new contributor. Be nice, and check out our Code of Conduct.









                              draft saved

                              draft discarded


















                              user342731 is a new contributor. Be nice, and check out our Code of Conduct.












                              user342731 is a new contributor. Be nice, and check out our Code of Conduct.











                              user342731 is a new contributor. Be nice, and check out our Code of Conduct.














                              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.




                              draft saved


                              draft discarded














                              StackExchange.ready(
                              function ()
                              StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f507441%2fwhy-is-the-ls-command-showing-permissions-of-files-in-a-fat32-partition%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

                              Magento 2 duplicate PHPSESSID cookie when using session_start() in custom php scriptMagento 2: User cant logged in into to account page, no error showing!Magento duplicate on subdomainGrabbing storeview from cookie (after using language selector)How do I run php custom script on magento2Magento 2: Include PHP script in headerSession lock after using Cm_RedisSessionscript php to update stockMagento set cookie popupMagento 2 session id cookie - where to find it?How to import Configurable product from csv with custom attributes using php scriptMagento 2 run custom PHP script

                              Can not update quote_id field of “quote_item” table magento 2Magento 2.1 - We can't remove the item. (Shopping Cart doesnt allow us to remove items before becomes empty)Add value for custom quote item attribute using REST apiREST API endpoint v1/carts/cartId/items always returns error messageCorrect way to save entries to databaseHow to remove all associated quote objects of a customer completelyMagento 2 - Save value from custom input field to quote_itemGet quote_item data using quote id and product id filter in Magento 2How to set additional data to quote_item table from controller in Magento 2?What is the purpose of additional_data column in quote_item table in magento2Set Custom Price to Quote item magento2 from controller

                              How to solve knockout JS error in Magento 2 Planned maintenance scheduled April 23, 2019 at 23:30 UTC (7:30pm US/Eastern) Announcing the arrival of Valued Associate #679: Cesar Manara Unicorn Meta Zoo #1: Why another podcast?(Magento2) knockout.js:3012 Uncaught ReferenceError: Unable to process bindingUnable to process binding Knockout.js magento 2Cannot read property `scopeLabel` of undefined on Product Detail PageCan't get Customer Data on frontend in Magento 2Magento2 Order Summary - unable to process bindingKO templates are not loading in Magento 2.1 applicationgetting knockout js error magento 2Product grid not load -— Unable to process binding Knockout.js magento 2Product form not loaded in magento2Uncaught ReferenceError: Unable to process binding “if: function()return (isShowLegend()) ” magento 2