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?
Is there a RAID 0 Equivalent for RAM?
Did the UK lift the requirement for registering SIM cards?
What is the difference between lands and mana?
Is it allowed to activate the ability of multiple planeswalkers in a single turn?
Why is so much work done on numerical verification of the Riemann Hypothesis?
How much theory knowledge is actually used while playing?
Why does Carol not get rid of the Kree symbol on her suit when she changes its colours?
Why Shazam when there is already Superman?
What kind of floor tile is this?
Does Doodling or Improvising on the Piano Have Any Benefits?
How much of a Devil Fruit must be consumed to gain the power?
Stack Interview Code methods made from class Node and Smart Pointers
Which Article Helped Get Rid of Technobabble in RPGs?
Can I say "fingers" when referring to toes?
Will number of steps recorded on FitBit/any fitness tracker add up distance in PokemonGo?
The IT department bottlenecks progress, how should I handle this?
How to explain what's wrong with this application of the chain rule?
Change the color of a single dot in `ddot` symbol
Has any country ever had 2 former presidents in jail simultaneously?
Why do ¬, ∀ and ∃ have the same precedence?
What is the highest possible scrabble score for placing a single tile
How do you make your own symbol when Detexify fails?
Does "he squandered his car on drink" sound natural?
What fields between the rationals and the reals allow a good notion of 2D distance?
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?
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
New contributor
add a comment |
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
New contributor
add a comment |
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
New contributor
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
linux permissions filesystems fat fat32
New contributor
New contributor
edited 2 hours ago
psmears
44728
44728
New contributor
asked yesterday
user342731user342731
1013
1013
New contributor
New contributor
add a comment |
add a comment |
3 Answers
3
active
oldest
votes
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.)
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
7 hours ago
add a comment |
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.
add a comment |
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.
add a comment |
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.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
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.)
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
7 hours ago
add a comment |
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.)
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
7 hours ago
add a comment |
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.)
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.)
answered yesterday
ilkkachuilkkachu
62.2k10103179
62.2k10103179
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
7 hours ago
add a comment |
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
7 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
7 hours ago
I've usually seen mode 777 for all files in FAT filesystems (FAT16 with an old driver, at least).
– forest
7 hours ago
add a comment |
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.
add a comment |
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.
add a comment |
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.
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.
answered yesterday
Roman OdaiskyRoman Odaisky
2734
2734
add a comment |
add a comment |
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.
add a comment |
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.
add a comment |
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.
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.
answered 12 hours ago
Peter CordesPeter Cordes
4,4531433
4,4531433
add a comment |
add a comment |
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.
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.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
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