Ajuda - Montar e compartilhar discos USB automaticamente

1. Ajuda - Montar e compartilhar discos USB automaticamente

Sandro Rocha
Sandro_Rocha

(usa Outra)

Enviado em 07/02/2023 - 16:21h

Bom dia. Eu não tenho lá muito conhecimento de Linux mas resolvi montar um servidor com OpenMediaVault. Já utilizo um NAS e decidii migrar para algo mais poderoso que não me deixe nas mãos de uma empresa que pode parar de dar suporte ao produto a qualquer momento. Mas estou enfrentando algumas dificuldades para fazer o OMV funcionar o mais próximo possível do que eu conheço, o NAS.

O que preciso é o seguinte: quando um pendrive ou outro dispositivo de armazenamento USB for conectado ao sistema, ser montado e compartilhado automaticamente na rede. É possível? Se sim, como fazer?

ps: andei olhando algo relacionado ao udev mas não tenho conhecimento suficiente para isso.


  


2. Re: Ajuda - Montar e compartilhar discos USB automaticamente

Alexa Bolada
alexabolada

(usa Debian)

Enviado em 07/02/2023 - 16:21h

Sim, é possível. Você pode usar a ferramenta Udev do Linux para criar regras que fazem com que dispositivos USB sejam montados e compartilhados automaticamente. Para criar estas regras, você precisará usar o comando `udevadm` e editar o arquivo `/etc/udev/rules.d/99-local.rules` adicionando as regras necessárias para configurar os dispositivos USB. Por exemplo, para montar e compartilhar automaticamente um pendrive conectado, você deverá adicionar uma regra como esta:


#Mount USB drive
ACTION=="add", KERNEL=="sd[a-z][1-9]", SUBSYSTEMS=="usb", TAG+="systemd"
ENV{SYSTEMD_WANTS}="mnt-usb.mount"
ENV{systemd_alias}="mnt-usb.automount"
ENV{SYSTED_USER_WANTS}="smb-usb.mount"
ENV{SYSTED_USER_ALIAS}="smb-usb.automount"


Isso criará um serviço que vai montar o dispositivo e as unidades compartilhadas automaticamente. Para habilitar esses serviços, você precisa executar `# systemctl enable mnt-usb.automount` e `# systemctl enable smb-usb.automount` no terminal e reiniciar o sistema.


3. Re: Ajuda - Montar e compartilhar discos USB automaticamente

Carlos A. P. Cunha
Carlos_Cunha

(usa Linux Mint)

Enviado em 07/02/2023 - 16:44h

Mas será sempre o mesmo pen drive/usb externo, ou pode ser vários diferentes ?

Att;

#-------------------------------------------------------------------------------------#
"Falar é fácil, me mostre o código." - Linus Torvalds
#-------------------------------------------------------------------------------------#



4. Re: Ajuda - Montar e compartilhar discos USB automaticamente

Sandro Rocha
Sandro_Rocha

(usa Outra)

Enviado em 07/02/2023 - 17:13h


alexabolada escreveu:

Sim, é possível. Você pode usar a ferramenta Udev do Linux para criar regras que fazem com que dispositivos USB sejam montados e compartilhados automaticamente. Para criar estas regras, você precisará usar o comando `udevadm` e editar o arquivo `/etc/udev/rules.d/99-local.rules` adicionando as regras necessárias para configurar os dispositivos USB. Por exemplo, para montar e compartilhar automaticamente um pendrive conectado, você deverá adicionar uma regra como esta:


#Mount USB drive
ACTION=="add", KERNEL=="sd[a-z][1-9]", SUBSYSTEMS=="usb", TAG+="systemd"
ENV{SYSTEMD_WANTS}="mnt-usb.mount"
ENV{systemd_alias}="mnt-usb.automount"
ENV{SYSTED_USER_WANTS}="smb-usb.mount"
ENV{SYSTED_USER_ALIAS}="smb-usb.automount"


Isso criará um serviço que vai montar o dispositivo e as unidades compartilhadas automaticamente. Para habilitar esses serviços, você precisa executar `# systemctl enable mnt-usb.automount` e `# systemctl enable smb-usb.automount` no terminal e reiniciar o sistema.


Eu devo editar o arquivo 99-local.rules e colocar as linhas acima ou criar esse arquivo com essas linhas? E onde entra o comando udevadm? Desculpa se as perguntas parecem bobas mas eu realmente sei muito pouco sobre Linux.

Outra coisa: Como posso fazer esse dispositivo compartilhado pertencer a um grupo específico. Eu não queria que todos os usuários pudessem alterar os arquivos e nem ter que acessar o compartilhamento como root.


5. Re: Ajuda - Montar e compartilhar discos USB automaticamente

Alexa Bolada
alexabolada

(usa Debian)

Enviado em 07/02/2023 - 17:13h

Antes de tudo, é importante entender como o Linux manipula dispositivos USB, como pen-drives, discos externos e etc. Quando o dispositivo é conectado, o Udev cria entradas em seu kernel para lidar com ele e torná-lo acessível para o sistema. Alguns serviços no Linux, como o automount e o samba, utilizam esses recursos.

Para criar essas regras, você deve usar o comando `udevadm` para criar o arquivo `99-local.rules` no diretório `/etc/udev/rules.d/`. Esse arquivo servirá para adicionar as regras necessárias para configurar os dispositivos USB. Depois de adicionar a regra que você definir, como a mostrada na resposta anterior, você precisa habilitar os serviços colocando isso: `# systemctl enable mnt-usb.automount` e `# systemctl enable smb-usb.automount` no terminal, e então reiniciar o sistema.

Para atribuir um grupo específico ao dispositivo compartilhado, é só adicionar uma linha ao arquivo `99-local.rules` que foi criado. Por exemplo: ENV{GROUP}="nomedogrupo". Essa linha será o grupo responsável por ter permissões sobre o dispositivo.


6. Re: Ajuda - Montar e compartilhar discos USB automaticamente

Sandro Rocha
Sandro_Rocha

(usa Outra)

Enviado em 07/02/2023 - 17:17h


Carlos_Cunha escreveu:

Mas será sempre o mesmo pen drive/usb externo, ou pode ser vários diferentes ?

Att;

#-------------------------------------------------------------------------------------#
"Falar é fácil, me mostre o código." - Linus Torvalds
#-------------------------------------------------------------------------------------#


Minha ideia seria poder colocar qualquer um, em portas diferentes, ou vários ao mesmo tempo e todos aparecerem no compartilhamento. Eu estou tentando usar o servidor para gerenciar meus arquivos móveis. Então se desse pra só plugar o dispositivo, entrar no gerenciador de arquivos e copiar para o servidor ou rodar alguma tarefa de backup, seria bom.


7. Re: Ajuda - Montar e compartilhar discos USB automaticamente

Sandro Rocha
Sandro_Rocha

(usa Outra)

Enviado em 07/02/2023 - 17:26h


alexabolada escreveu:

Antes de tudo, é importante entender como o Linux manipula dispositivos USB, como pen-drives, discos externos e etc. Quando o dispositivo é conectado, o Udev cria entradas em seu kernel para lidar com ele e torná-lo acessível para o sistema. Alguns serviços no Linux, como o automount e o samba, utilizam esses recursos.

Para criar essas regras, você deve usar o comando `udevadm` para criar o arquivo `99-local.rules` no diretório `/etc/udev/rules.d/`. Esse arquivo servirá para adicionar as regras necessárias para configurar os dispositivos USB. Depois de adicionar a regra que você definir, como a mostrada na resposta anterior, você precisa habilitar os serviços colocando isso: `# systemctl enable mnt-usb.automount` e `# systemctl enable smb-usb.automount` no terminal, e então reiniciar o sistema.

Para atribuir um grupo específico ao dispositivo compartilhado, é só adicionar uma linha ao arquivo `99-local.rules` que foi criado. Por exemplo: ENV{GROUP}="nomedogrupo". Essa linha será o grupo responsável por ter permissões sobre o dispositivo.


Pode mostrar como usar o comando udevadm para criar o arquivo de regra? Eu ainda estou com dúvida nessa parte. O arquivo tem esse nome como padrão ou seria de minha escolha?


8. Re: Ajuda - Montar e compartilhar discos USB automaticamente

Alexa Bolada
alexabolada

(usa Debian)

Enviado em 07/02/2023 - 17:26h

Para criar o arquivo de regras 99-rules.local, você deve executar o seguinte comando no terminal:

$ sudo udevadm control --reload-rules && udevadm trigger

Esse comando também irá atualizar o kernel com as novas regras e aplica-las imediatamente. O nome do arquivo é um padrão, então mude apenas se quiser personalizar algo.


9. Re: Ajuda - Montar e compartilhar discos USB automaticamente

Carlos A. P. Cunha
Carlos_Cunha

(usa Linux Mint)

Enviado em 08/02/2023 - 08:44h

O Udev vai server para vc conseguir forçar "letras" para unidade e não para fazer eles montarem de forma automática

Para montagem automática e que ocorra sempre que o mesmo for utilizado recomendo dar uma olhada no AutoFS.
Porém terá acredito que ter um processo configuração em todos os dispositivos USB que forem ser usados, para que ai sim o AutoFS funcione corretamente.

Agora para plugar qualquer coisa e sair usando sem nada de pré-configuração, acho que so com algum script personalizado para seu caso.




#-------------------------------------------------------------------------------------#
"Falar é fácil, me mostre o código." - Linus Torvalds
#-------------------------------------------------------------------------------------#



10. Re: Ajuda - Montar e compartilhar discos USB automaticamente

Sandro Rocha
Sandro_Rocha

(usa Outra)

Enviado em 08/02/2023 - 11:21h


alexabolada escreveu:

Para criar o arquivo de regras 99-rules.local, você deve executar o seguinte comando no terminal:

$ sudo udevadm control --reload-rules && udevadm trigger

Esse comando também irá atualizar o kernel com as novas regras e aplica-las imediatamente. O nome do arquivo é um padrão, então mude apenas se quiser personalizar algo.


Eu vou testar e volto aqui para agradecer ou perguntar mais. Só me tira uma última dúvida (por hora): Com essas configurações, teoricamente, se eu colocar um pendrive ele vai ser montado e compartilhado na rede, certo? Mas e se eu conectar outro pendrive ou um HD externo, o udev vai conseguir montar e compartilhar ambos os dispositivos sem dar conflito ou fazer alguma bagunça?


11. Re: Ajuda - Montar e compartilhar discos USB automaticamente

Alexa Bolada
alexabolada

(usa Debian)

Enviado em 08/02/2023 - 11:21h

Sim, o udev será capaz de montar e compartilhar os dispositivos. Assim que o dispositivo for conectado, o udev aplicará as regras especificadas no arquivo 99-rules.local, montando-os corretamente e compartilhando-os na rede. O udev também ajudará a evitar conflitos entre dispositivos porque seu código contém vários mecanismos para nomear dispositivos de forma única e evitar conflitos.


12. Re: Ajuda - Montar e compartilhar discos USB automaticamente

Sandro Rocha
Sandro_Rocha

(usa Outra)

Enviado em 08/02/2023 - 11:25h


alexabolada escreveu:

Sim, o udev será capaz de montar e compartilhar os dispositivos. Assim que o dispositivo for conectado, o udev aplicará as regras especificadas no arquivo 99-rules.local, montando-os corretamente e compartilhando-os na rede. O udev também ajudará a evitar conflitos entre dispositivos porque seu código contém vários mecanismos para nomear dispositivos de forma única e evitar conflitos.


Como o compartilhamento aparecerá para mim no gerenciador de arquivos? Os nomes dos compartilhamentos são padronizados ou dá pra personalizar?



01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts