Why does reading a device require admin permissions?
Em primeiro lugar, há alguns problemas aqui
-
mount
'do dispositivo de armazenamento físico e das partições que ele contém. - Acessando e manipulando os arquivos nele.
Se o sistema de arquivos for baseado em permissões, por exemplo, ext2,3,4, em seguida, as permissões são definidas em uma base por arquivo.
Em termos de por que você exigiria que o usuário tivesse privilégios especiais de administrador para montar um dispositivo, há algumas razões, que são mais prováveis de se aplicarem a situações corporativas e menos aplicáveis a computação pessoal - embora ainda possam ser relevante
- Evita a leitura em programas abusivos Uma vez que um disco é montado, uma coleção inteira de programas não confiáveis está agora potencialmente disponível para execução, o que pode abusar do sistema operacional. Se você estivesse administrando esse sistema, poderia ter mais confiança de que isso não aconteceria se usuários ocasionais não pudessem fazer o upload de seus próprios programas em seus próprios discos.
- Escrever / guardar dados confidenciais confidenciais Se você tivesse segredos corporativos ou senhas de usuários em um sistema e alguém pudesse conectar um dispositivo de armazenamento não autorizado, eles poderiam fazer cópias para ele.
Você pode contornar o problema sudo executando o script inteiro como sudo e, em seguida, usando sudo
para alternar de volta para um usuário comum dentro do script para os comandos que você não deseja executar como root (yes you pode fazer isso, por exemplo
arquivo: script.sh
#!/bin/sh
# this dd command now works
dd if=<source> of=<target> bs=<byte size>
# normal cammand you want to run as "mathmaniac" user
sudo -u "MathManiac" bash -c "touch foo.bar"
Então, você executa este script com:
sudo ./script.sh
Outra maneira rápida e suja, mas geralmente não recomendada, é simplesmente colocar sudo na frente do comando dentro do script, quando o intérprete encontrar o sudo
, ele interromperá a execução do script e solicitará sua senha sudo antes de continuar. / p>