No FreeBSD 12.0-RELEASE-p3 ls -l /dev/ada1
me dá:
crw-r----- 1 root operator [skipped] /dev/ada1
Se eu usar o comando gpart recover /dev/ada1
de uma conta de usuário não root, que está no grupo operator
(e wheel
), o gpart faz a recuperação. Ele definitivamente grava no disco.
Mas por que o usuário não root não tem apenas permissões de leitura para o disco? O grupo operator
tem apenas permissões de leitura para /dev/ada1
!
O arquivo sudoers consiste apenas em:
% grep -v '^#' /usr/local/etc/sudoers | grep -v '^$'
root ALL=(ALL) ALL
O
gpart(1)
programa não grava nada em/dev/ada1
.Ele faz todas as suas operações emitindo
GEOM_CTL
ioctls em/dev/geom.ctl
. Para usarioctl(2)
em um arquivo de dispositivo, você não precisa de permissões de gravação para ele; você só precisa poder abri-lo () no modo somente leitura. E ooperator
grupo tem permissões de leitura em/dev/geom.ctl
.