Em vez de fazer tudo como root, você pode usar permissões de arquivo. Os arquivos /dev/sd*
podem ser vistos como arquivos regulares que podem receber permissões de arquivos.
- Você efetuou login como
ubuntu
, que é membro do grupoubuntu
- Você precisa poder gravar em
/dev/sdc1
- Você precisa ler
/dev/sdb1
, mas não pode escrevê-la - Por padrão, as permissões nos arquivos
/dev/sd*
estão definidas como660
(rw-rw----
), de propriedade deroot
com o gruporoot
Solução: forneça ao grupo ubuntu
permissões de gravação para /dev/sdc1
e leia para /dev/sdb1
:
sudo chmod 640 /dev/sdb1
sudo chgrp ubuntu /dev/sdc1 /dev/sdb1
A partir de agora, você pode substituir com segurança seus discos por uma imagem como usuário não-root ( ubuntu
), com o sistema impedindo que você grave acidentalmente no disco errado. Não se esqueça de alterar as permissões / grupo novamente quando o disco for reinserido no sistema.
Eu achei este comportamento útil ao recuperar dados de um disco (operação somente leitura) sem ter que se preocupar que um comando escreve nele.
Informações adicionais: /dev/sdc
é um disco. /dev/sdc1
, /dev/sdc2
, ... são partições nesse disco. As permissões não são herdadas, portanto, mesmo que você possa ler diretamente de /dev/sdc
, isso não significa que você pode ler /dev/sdc1
. Se os seus discos estiverem marcados, você pode evitar erros verificando se /dev/sdc1
é realmente seu disco USB exibindo uma lista de dispositivos de etiqueta:
ls -lA /dev/disk/by-label