Ubuntu 22.04 で、少し気になる挙動を見つけた。
YubiKey をユーザ権限で使うにあたり、YubiKey をさしたときに現れる /dev/hidraw2 を見ていたが、この権限が、user session の中から見たときと、Ctrl + Alt + F3 等でコンソールから root login したときで、表示が異なるという状態に。
GUI からログインしている状態で、getfacl をすると、
root@ubuntu:~# cd /dev
root@ubuntu:/dev# getfacl hidraw2
# file: hidraw2
# owner: root
# group: root
user::rw-
user:user:rw-
group::---
mask::rw-
other::---
ユーザ名が user なので、少しわかりにくいが、user に rw が付与されている。
一方、Ctrl + Alt + F3 で裏にまわり、getfacl した結果がこちら。
root@ubuntu:~# cd /dev
root@ubuntu:/dev# getfacl hidraw2
# file: hidraw2
# owner: root
# group: root
user::rw-
group::---
mask::---
other::---
裏で GUI にログインしたままだが、/dev/hidraw2 の acl permission が異なっている。
これは一体・・
supplementary group や SELinux で、プロセスのコンテキストから、権限変わることはよくあったが、ファイルを対象に getfacl するようなものまで、変わってしまうんかい、と突っ込みたくなった。
こういうのが隠れていると、root 権限で /dev/hidraw2 の getfacl をみて、アクセス権ないなと思っても、他のコンテキストからは権限持っているみたいなことになってしまう。
これは、さすがに危ないんじゃないか。