Назад | Перейти на главную страницу

Как смонтировать smb-диск с разными учетными данными (имя пользователя и пароль) в Linux?

Хорошо, у меня есть ноутбук, на котором работает Linux (CentOS 7). Ноутбук будет использоваться от разных пользователей (у которых разные логины на ноутбуке). У нас в сети есть сервер Samba. Все пользователи, у которых есть логин на портативном компьютере, также имеют разные логины (имя пользователя и пароль) для разных smb-дисков. Теперь вопрос в том, как настроить ноутбук с Linux так, чтобы smb диски для каждого пользователя монтировались автоматически?

Советы и подсказки по умолчанию, такие как добавление следующей строки в fstab

//servername/sharename  /media/windowsshare  cifs   uid=ubuntuuser,credentials=/home/ubuntuuser/.smbcredentials,iocharset=utf8,sec=ntlm   0       0

и создайте файл учетных данных (/home/ubuntuuser/.smbcredentials) не работает в моем случае, потому что файл учетных данных для каждого пользователя одинаковый (но должен быть другим). Также указав файл учетных данных, например ~/.smbcredentials не работает, потому что домашний каталог ~/ неизвестно во время установки ...

Нашел.

Источник: http://wiki.centos.org/TipsAndTricks/WindowsShares в пункте «5. Еще один даже лучший метод»

Уловка заключается в использовании autofs:

  1. Добавьте эту строку в /etc/auto.master:

    /mnt/smb /etc/auto.smb.top
    
  2. Создайте /etc/auto.smb.top так как:

    * -fstype=autofs,-Dhost=& file:/etc/auto.smb.sub
    
  3. Создайте /etc/auto.smb.sub как (при необходимости измените):

    * -fstype=cifs,credentials=/root/secret.txt,uid=500,gid=100 ://${host}/&
    

    И здесь я могу указать также домашний каталог с помощью ${HOME} лайк

    * -fstype=cifs,credentials=${HOME}/secret.txt,uid=500,gid=100 ://${host}/&
    

    чтобы у каждого пользователя был свой файл учетных данных :-)

  4. Убедимся, что биты прав доступа верны, и перезапустим службу:

    [root@host]# chmod 644 /etc/auto.smb.*
    [root@host]# /sbin/service autofs restart
    
  5. Теперь вы можете получить доступ, просто набрав:

    [user@host]$ cd /mnt/smb/winbox/getme