Eu organizei essa resposta indo na melhor das hipóteses, na minha opinião. Não é obrigatório fazer todos eles e aconselha-se a discrição do usuário:)
abordagem do / etc / fstab
A maneira que eu pessoalmente faço isso usa a opção users
. Dessa forma, uma partição está disponível para todos os usuários - talvez eu tenha manual de carro que meu pai quer ler lá com sua conta, talvez minha mãe também queira abrir um álbum de fotos compartilhado usando sua conta - seja qual for o motivo. Um exemplo seria:
# MY WINDOWS PARTITION
UUID=4EBAAE53BAAE36FD /media/WINDOWS ntfs noatime,nodiratime,users,rw 0 0
No entanto, sim, isso é uma falha de segurança. Então, a próxima opção é usar o uid=
flag. Cada usuário em um sistema * nix tem um número inteiro único anexado a eles (execute o comando id
para descobrir seu ID numérico, ou procure no arquivo /etc/passwd
e encontre seu nome de usuário). Então, a próxima entrada para mim seria assim:
# MY PARTY DO WINDOWS
UUID=4EBAAE53BAAE36FD /media/WINDOWS ntfs noatime,nodiratime,uid=1000,rw 0 0
abordagem udisksctl
O comando mount
quer que você especifique muitas informações - usuário, tipo de sistema de arquivos. Essas informações podem não saber como encontrar. Existe uma alternativa mais fácil, udisksctl
. Ele montará uma partição como o usuário que a executa . Aqui está como eu iria executá-lo se eu quiser montar minha partição do Windows no meu segundo HDD:
udisksctl mount -b /dev/sdb2
E isso pode facilmente ser transformado em uma função em .bashrc
file (define no topo)
function mountWindows
{
udisksctl mount -b /dev/sdb2
}
Agora você basicamente tem um comando para montar a partição do Windows. Se você fizer uma chamada para essa função no final de seu .bashrc
, ela será executada toda vez que você gerar a janela do terminal. Claro que não é exatamente automação, mas para alguém como eu que constantemente tem janela de terminal aberta - é o método de automação mais fácil.
No entanto, há um pequeno problema - a chamada é feita sempre que bash
é iniciado, o que significa que cada janela de tempo está aberta. Com um pouco de edição, podemos incluir uma verificação para saber se a partição já está montada ou não.
function mountWindows
{
grep -q '/dev/sdb2' /proc/mounts
if [ $? -eq 0 ];then
echo ">>> Windows partition already mounted";
else udisksctl mount -b /dev/sdb2
fi
}
Agora, cada vez que geramos bash
, verificamos se /dev/sdb2
está no arquivo /proc/mounts
(somente o material que já está montado está nesse arquivo). Se está lá, nós apenas dizemos. Se não for, executaremos o comando udisksctl
.