Use o comando mount.cifs
, pois ele permite especificar um arquivo de credenciais ou solicitar uma senha, se não houver nenhuma.
Instalação
Primeiro de tudo, verifique se você tem os pacotes necessários instalados, emitindo o seguinte comando:
sudo apt-get install cifs-utils
MÉTODO 1 - USANDO UM ARQUIVO DE CREDENCIAIS
De acordo com o manual link :
OPÇÕES
[...]
credenciais = nome do arquivo especifica um arquivo que contém um nome de usuário e / ou senha e Opcionalmente, o nome do grupo de trabalho. O formato do arquivo é:nome de usuário = valor
password = value
domínio = valor
Uso:
mount.cifs //<hostname_or_ip>/<cifs_share> <local_mountpoint> -o user=<user_to_connect_as>,rw,credentials=<path_to_the_credentials_file>
Exemplo:
sudo mount.cifs //domain.com/share /mnt/domain_com -o user=admin,rw,credentials=/root/.credentials
É importante observar que o "nome_do_usuário_para_conectar_as" também pode conter o domínio ou o grupo de trabalho:
user=workgroup/user
user=domain/user
(Dependendo do seu ambiente, você precisará de mais ou menos opções)
Em relação à segurança, deve ser suficiente armazenar o arquivo de credenciais no diretório / root, mas se você quiser armazená-lo em outro lugar, apenas
- defina o usuário root como seu proprietário com
sudo chown root <file>
- definir permissões somente de proprietário com 'sudo chmod 600
MÉTODO 2 - PROMPT DE SENHA
Se, como afirmado, você não quiser que sua senha seja visível, apenas não forneça a opção "senha" no comando mount.cifs
.
A partir da página de mana no link
senha = arg
specifies the CIFS password. If this option is not given then the environment variable PASSWD is used. If the password is not specified directly or indirectly via an argument to mount mount.cifs will prompt for a password, unless the guest option is specified. Note that a password which contains the delimiter character (i.e. a comma ’,’) will fail to be parsed correctly on the command line. However, the same password defined in the PASSWD environment variable or via a credentials file (see below) or entered at the password prompt will be read correctly.
Assim, o seguinte comando deve solicitar uma senha:
mount.cifs //<hostname_or_ip>/<cifs_share> <local_mountpoint> -o user=<user_to_connect_as>,rw
Testado e funcionando conforme o esperado: