O mais provável é que o sistema de arquivos do seu disco externo não suporte permissões estilo Linux / UNIX (FAT32, etc.), infelizmente o chmod e os amigos não retornarão um erro nesta situação, eles simplesmente não poderão definir / alterar permissões. / p>
Além disso, a opção MODE
em sua regra do udev afeta as permissões do nó do dispositivo (em / dev) para o próprio sistema de arquivos: por exemplo, /dev/sdc1
, não para o conteúdo do sistema de arquivos.
Dito isto, há algumas possibilidades: primeiro, e mais fácil, seria simplesmente passar o script como um argumento para a capa apropriada, p. bash /path/to/file.sh
Isso terá problemas, no entanto, se file.sh
chamar, por exemplo, otherfile.sh
dentro dele. Você pode, é claro, modificar o script para chamar bash como acima, senão você precisará garantir o sistema de arquivos é montado com um bit executável definido para arquivos.
Na minha experiência, as montagens "automáticas" geralmente erram por precaução e não permitem a execução por padrão, mas se você montar o sistema de arquivos manualmente a partir da linha de comando como root, o padrão é ter todos os arquivos executáveis ... então , você poderia desmontar a unidade (remover com segurança, etc) da GUI, abra um terminal e digite algo como
sudo mount /dev/sdc1 /mnt
substituindo / dev / sdc1 pela localização do seu sistema de arquivos (se estiver em dúvida, execute dmesg
e ele deve lhe dar uma pista sobre o nome do dispositivo que você precisará aqui.
Se por algum motivo ainda for montado sem o bit de execução configurado para arquivos, as opções são específicas do sistema de arquivos para umask, fmask, dmask, mode, etc. man mount
e opções para your_filesystem_type