Here's what I just noticed on my CentOS SSH account:stat output$ stat /dev/kvm     File: `/dev/kvm'  Size: 0               Blocks: 0          IO Block: 4096   character special fileDevice: 5h/5d   Inode: 39768216    Links: 1     Device type: a,e8Access: (0666/crw-rw-rw-)  Uid: (    0/    root)   Gid: (    0/    root)Access: 2014-07-12 13:50:33.015216048 +0200Modify: 2014-07-12 13:50:33.015216048 +0200Change: 2014-07-12 13:50:33.015216048 +0200id info$ iduid=502(jacek) gid=502(jacek) groups=502(jacek)strace output$ strace -e open cat /dev/kvmopen(/etc/ld.so.cache, O_RDONLY)      = 3open(/lib64/libc.so.6, O_RDONLY)      = 3open(/usr/lib/locale/locale-archive, O_RDONLY) = 3open(/dev/kvm, O_RDONLY)              = 3cat: /dev/kvmopen(/usr/share/locale/locale.alias, O_RDONLY) = 4open(/usr/share/locale/en_US.UTF-8/LC_MESSAGES/libc.mo, O_RDONLY) = -1 ENOENT (No such file or directory)open(/usr/share/locale/en_US.utf8/LC_MESSAGES/libc.mo, O_RDONLY) = -1 ENOENT (No such file or directory)open(/usr/share/locale/en_US/LC_MESSAGES/libc.mo, O_RDONLY) = -1 ENOENT (No such file or directory)open(/usr/share/locale/en.UTF-8/LC_MESSAGES/libc.mo, O_RDONLY) = -1 ENOENT (No such file or directory)open(/usr/share/locale/en.utf8/LC_MESSAGES/libc.mo, O_RDONLY) = -1 ENOENT (No such file or directory)open(/usr/share/locale/en/LC_MESSAGES/libc.mo, O_RDONLY) = -1 ENOENT (No such file or directory): Invalid argumentACL info$ getfacl /dev/kvmgetfacl: Removing leading '/' from absolute path names# file: dev/kvm# owner: root# group: rootuser::rw-group::rw-other::rw-Why did open succeed here? What mechanisms other than ACL can be used to tell whether a user can open a file or not? What are the commands I can use to query them?
How can I tell why I have permissions to read a file?
linux;permissions;security;acl