O que estou perdendo? /dev/kvm
é legível por todos (e gravável) como você pode ver pelas permissões:
user::rw-
group::rw-
other::rw-
Não há motivo para você não conseguir lê-lo. Você está se referindo a outra coisa?
Veja o que acabei de notar na minha conta do SSH do CentOS:
saída de estatísticas$ stat /dev/kvm
File: '/dev/kvm'
Size: 0 Blocks: 0 IO Block: 4096 character special file
Device: 5h/5d Inode: 39768216 Links: 1 Device type: a,e8
Access: (0666/crw-rw-rw-) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2014-07-12 13:50:33.015216048 +0200
Modify: 2014-07-12 13:50:33.015216048 +0200
Change: 2014-07-12 13:50:33.015216048 +0200
id info
$ id
uid=502(jacek) gid=502(jacek) groups=502(jacek)
saída strace
$ strace -e open cat /dev/kvm
open("/etc/ld.so.cache", O_RDONLY) = 3
open("/lib64/libc.so.6", O_RDONLY) = 3
open("/usr/lib/locale/locale-archive", O_RDONLY) = 3
open("/dev/kvm", O_RDONLY) = 3
cat: /dev/kvmopen("/usr/share/locale/locale.alias", O_RDONLY) = 4
open("/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 argument
informações da ACL
$ getfacl /dev/kvm
getfacl: Removing leading '/' from absolute path names
# file: dev/kvm
# owner: root
# group: root
user::rw-
group::rw-
other::rw-
Por que open
teve sucesso aqui? Quais mecanismos diferentes da ACL podem ser usados para dizer se um usuário pode abrir um arquivo ou não? Quais são os comandos que posso usar para consultá-los?
O que estou perdendo? /dev/kvm
é legível por todos (e gravável) como você pode ver pelas permissões:
user::rw-
group::rw-
other::rw-
Não há motivo para você não conseguir lê-lo. Você está se referindo a outra coisa?
Tags permissions security acl linux