Я хочу, чтобы сетевое сопоставление было доступно пользователю через smbnetfs
при запуске системы без необходимости каждый раз вводить smbnetfs /media/network
, поэтому я использовал эту запись в /etc/fstab
:
smbnetfs /media/network fuse rw,users,noauto,allow_other 0 0
И это работает, отображение есть, и оно монтируется, когда я щелкаю по нему с помощью любого файлового менеджера, но проблема в том, что он будет искать файл конфигурации в /root/.smb/smbnetfs.conf
, и пользователь не сможет получить доступ к Samba. делится со своими полномочиями.
Как я могу сказать smbnetfs
, чтобы найти правильное местоположение для файла конфигурации пользователя? Я не хотел изменять файл /root/.smb/smbnetfs.conf
, потому что есть разные пользователи, которым нужно отобразить этот общий ресурс.
В разделе «Файлы» справочной страницы smbnetfs написано:
Пожалуйста, создайте конфигурационный каталог ~ / .smb. Этот каталог должен содержать как минимум два файла: smb.conf и smbnetfs.conf. Вы можете скопировать smb.conf из каталога / etc / samba. Вы можете найти образец smbnetfs.conf в каталоге / etc.
Если это работает так, как рекламируется, вы сможете обойти корневой файл conf.
На самом деле документация по smbnetfs гласит, что для пользователя, который выполнил команду mount, он читает $ {HOME} /. Smb, а после vmassuchetto , выполняющего монтирование через fstab, этот пользователь будет root.
Однако есть решение: в /root/.smb/smbnetfs.conf
есть строка:
#read auth data from ~/.smb/smbnetfs.auth
include "smbnetfs.auth"
Если память мне хорошо, по умолчанию это должно быть закомментировано. Если путь к smbnetfs.auth
не указан, как в примере выше, smbnet fs будет искать его в ~/.smb/
. Таким образом, вы можете поместить smbnetfs.auth
в любом месте файловой системы и с любыми разрешениями, чтобы предоставить пользователю возможность редактировать его. Я бы предложил vmassuchetto раскомментировать это и создать файл /root/.smb/smbnetfs.auth
с текущим содержимым:
auth USER_NAME "USER_PASSWORD"
auth WORKGROUP USER_NAME "USER_PASSWORD"
auth COMPUTER_NAME USER_NAME "USER_PASSWORD"
auth COMPUTER_NAME/SHARE_NAME USER_NAME "USER_PASSWORD"
Первая строка будет указывать smbnetfs, как обрабатывать все не упомянутые компьютеры. Вторая строка будет указывать smbnetfs, как обрабатывать все компьютеры из рабочей группы и / или домена с таким именем. Третья строка предоставит учетные данные для конкретного компьютера, а далее - для общего ресурса на определенном компьютере. Все строки должны начинаться со слова auth
для учетных данных или с #
для комментариев. Все параметры могут быть заключены в "
для экранирования специальных символов так же, как "USER_PASSWORD"
в примере выше. Параметр USER_NAME
может быть указан с начальным именем домена или рабочей группы: DOMAIN_OR_WORKGROUP/USER_NAME
И в качестве последнего средства вы всегда можете использовать эту команду:
cd /media/network/DOMAIN_OR_WORKGROUP:USER_NAME:USER_PASSWORD@COMPUTER_NAME