Obtenha seu UUID de disco:
blkid
Edite /etc/fstab
como raiz:
UUID="XXX" /media/root/nowhere auto nosuid,nodev,nofail,noauto,nouser,x-gvfs-hide,x-udisks-auth 0 0
Crie uma pasta protegida / media / root (para evitar que os usuários acessem a partição se montada):
sudo mkdir -m=000 /media/root
Várias camadas independentes de proteção contra montagem e visibilidade:
-
noauto
impede a montagem automática na inicialização
-
nouser
requer que a raiz seja montada (NB: já é o comportamento padrão e udisk é raiz)
-
x-gvfs-hide
explicitamente diz ao Nautilus para ocultá-lo
-
x-udisks-auth
deve exigir direitos de administrador ao montar, mas não tem efeito. Eu acho que precisa de configuração adicional.
Documentação: mount
, fstab
, gvfs
.
Observe que o dispositivo de bloco (por exemplo, /dev/sdX
) ainda é visível para todos os usuários, especialmente no utilitário Disk
. Ele ainda pode ser montado manualmente em outro lugar pelo root, mas não por um usuário padrão por padrão. Se você não confia nos processos raiz ou do sistema, você precisa usar uma das abordagens de kernel de nível inferior.
Para ir mais longe: Depois disso, se você quiser montar o dispositivo de bloco de forma invisível, em uma abordagem de contêiner, você pode usar unshare
:
unshare -m bash
MOUNT_DIR="XXX"
mkdir "$MOUNT_DIR"
mount --bind "$MOUNT_DIR" "$MOUNT_DIR"
mount --make-private "$MOUNT_DIR"
mount "/dev/sdX" "$MOUNT_DIR"
ls "$MOUNT_DIR"
BEWARE: A maioria / todas as respostas, incluindo as respostas da regra do udev, apenas ocultam a partição do Nautilus, mas os usuários ainda podem montá-la com permissões padrão, através do utilitário Disk ( ►
icon). Colocar o ponto de montagem fstab em um diretório inacessível impedirá o acesso do usuário.