Как мне смонтировать общий ресурс Samba от имени пользователя без полномочий root

Существует ли пошаговое руководство, в котором подробно объясняется, как подключить общий ресурс Samba для использования пользователем без полномочий root на рабочем столе Ubuntu 10.04?

Примечание. : в поиске Google есть множество тем, посвященных этой, казалось бы, новой проблеме. Инструкции, которые раньше работали в Ubuntu 8.04 (или более старой версии smbfs), больше не работают.

Мне нужно найти что-то современное и воспроизводимое.

14
задан 19 March 2016 в 11:04

4 ответа

Очень хорошим инструментом для легкого монтирования долей самбы в домашней папке является SMBNetFS. С этим инструментом можно получить доступ долям самбы почти всеми приложениями просто через точку монтирования в доме.

Как использовать SMBnetFS:

  • Установите пакет через свой диспетчер пакетов
  • cp /etc/smbnetfs.conf ~/.smb/smbnetfs.conf скопируйте стандартную конфигурацию
  • cp /etc/samba/smb.conf ~/.smb/smb.conf конфигурация самбы копии
  • mkdir ~/sambashare или любое другое название точки монтирования
  • smbnetfs ~/sambashare смонтируйте доли к точке монтирования

К сожалению, существует только небольшая доступная документация. Посмотрите man smbnetfs для опций и проходят файл FAQ в /usr/share/doc/smbnetfs.

13
ответ дан 19 March 2016 в 11:04

Я нашел этот вопрос, исследуя магию, которую я недавно совершил, чтобы сделать именно это для одного из моих пользователей. Мой рабочий процесс заметно отличается от других ответов. Заметьте, однако, что это самый простой случай.

Предполагая, что ваше имя пользователя ae, а ваш дом - /home/ae

1) Настройте smbfs:
mkdir /home/ae/.smb

1a) Если необходимы учетные данные для входа в Windows, создайте и отредактируйте файл: /home/ae/.smb/smbnetfs.conf, чтобы иметь содержимое:

auth winuser "winpassword"

winuser - это пользователь, созданный на компьютере Windows, к которому вы хотите получить доступ. winpassword - это пароль этого пользователя для входа в Windows на этом компьютере.

2) Создайте точку монтирования:
mkdir /home/ae/nethood

3) Выполните команду smbnetfs:
smbnetfs /home/ae/nethood


Обратите внимание, что вся «сетевая окрестность» будет отображаться в /home/ae/nethood с рабочими группами, являющимися первым уровнем подкаталогов.

Все перечисленные ниже списки были скопированы из моего просмотра папок в качестве непривилегированного пользователя на хосте Ubuntu. Имя пользователя и группа изменены на ae. sudo никогда не использовался. Компьютеры Windows находятся в неформальной сети Windows, а общие папки защищены пользователем / паролем (на компьютере Windows используется имя пользователя и пароль Windows).

$ cd nethood
$ ls -alh
total 12K
drwxrwxrwx 9 ae   ae     0 Dec 31  1969 .
drwxr-xr-x 9 ae   ae    21 Jul 28 11:49 ..
drwxrwxrwx 2 root root   0 Dec 31  1969 WORKGROUP

Просмотр рабочей группы WORKGROUP:

$ cd WORKGROUP
$ ls -alh
total 0
drwxrwxrwx 2 root root  0 Dec 31  1969 .
drwxrwxrwx 9 root root  0 Dec 31  1969 ..
lrwxrwxrwx 1 root root 11 Dec 31  1969 HTPC -> ../HTPC
lrwxrwxrwx 1 root root 14 Dec 31  1969 NEWPC -> ../NEWPC

Измените каталог на компьютеры, и все общие папки будут перечислены и доступны в обычном режиме.

$ cd NEWPC
$ ls -alh
total 0
drwxrwxrwx 2 root root 0 Dec 31  1969 .
drwxrwxrwx 9 root root 0 Dec 31  1969 ..
drwxrwxrwx 2 root root 0 Dec 31  1969 Desktop
drwxrwxrwx 2 root root 0 Dec 31  1969 Users

И файлы:

$ cd Desktop/
$ ls -alh
ls: cannot access desktop.ini: No such file or directory
total 30M
drwxrwxrwx 2 root root     0 Dec 31  1969 .
drwxrwxrwx 2 root root     0 Dec 31  1969 ..
-rwxr--r-- 1 ae   ae    1.5K Jan 25  2013 Command Prompt.lnk
-????????? ? ?    ?        ?            ? desktop.ini
-rwxr--r-- 1 ae   ae    156K May 28  2013 Download %25285%2529.iif
-rwxr--r-- 1 ae   ae    2.4K Jul 24 12:28 Google Chrome.lnk
-rwxr--r-- 1 ae   ae     178 Feb  4  2013 import orders.bat
-rwxr--r-- 1 ae   ae    2.3M Mar 30  2012 msvc2008_x86_vcredist_x64.exe
drwxr-xr-x 2 ae   ae       0 May 20  2014 OpenOffice 4.1.0 (en-US) Installation Files
-rwxr--r-- 1 ae   ae    406K Jun  6  2013 Paypal_Jan_1_2012_to_Dec_31_2012.iif
-rwxr--r-- 1 ae   ae     15M May  8  2012 php-5.4.3-Win32-VC9-x86.zip
-rwxr--r-- 1 ae   ae    1.9K Jul 24 13:03 PSPad.lnk
-rwxr--r-- 1 ae   ae    1.1K Jul 24 12:31 VB Demo.lnk

Обратите внимание, что вышеуказанные каталоги имеют право собственности root root. Владение файлом будет таким же, как и у вашего пользователя.

Другие пользователи не смогут получить доступ к папкам, независимо от точки монтирования, владельца или прав доступа к этой папке. Если ваш пользователь может «записать» в эту папку (а она пустая), smbnetfs установит там сетевое окружение и не разрешит доступ кому-либо еще, даже root. Чтобы root имел доступ, вы должны su ae.


Если нет общих папок, каталог компьютера будет пустым.

Если у вас нет учетных данных для компьютера Windows, вы можете получить сообщение об ошибке:
ls: cannot open directory .: Input/output error

0
ответ дан 19 March 2016 в 11:04

man mount поможет вам определить, какие параметры вы хотите. Если система Windows будет всегда доступна. Вы можете просто добавить крепление к /etc/fstab, и оно будет смонтировано. Вы можете разрешить пользователю монтировать и размонтировать раздел, как требуется, используя опции user,noauto. Чтобы разрешить другим пользователям размонтировать его, измените user на users.

Autofs также поддерживает монтирование по требованию с использованием samba. Заклинание зависит от того, какие каталоги вы хотите смонтировать когда. Я успешно запустил его в среде разработки.

РЕДАКТИРОВАТЬ: Если вам нужно сделать это для большого количества пользователей, я предлагаю использовать autofs для монтажа. Это не требует изменений в fstab. Получение учетных данных для различных пользователей может быть проблемой. Я использую структуру каталогов в форме /net/$HOST/$USER для моих монтировок. Autofs сконфигурирован для части /net/$HOST монтирования и автоматически монтирует каталоги под ним при необходимости.

Конкретные подходы к монтажу зависят от ваших потребностей. У меня были случаи, когда пользователям требовалось, чтобы их каталог рабочего стола был смонтирован на сервере, хотя типичные крепления монтируются на сервере.

Для большой организации с большим количеством пользователей может иметь смысл переместить каталоги на сервер Linux и использовать Samba для обмена файлами с пользователями Windows. Я не пробовал обратное, но это возможно.

0
ответ дан 19 March 2016 в 11:04

При использовании gnome вы можете просто ввести smb: // url в Nautilus. Обычно необходимо установить gvfs-fuse и другие пакеты gvfs, чтобы вы могли монтировать samba напрямую с помощью файлового браузера. Кроме того, вы должны найти все смонтированные файлы в папке ~ / .gvfs. Это работает даже с другими протоколами и сжатыми файлами и т. Д.

gvfs-mount smb://user@server/storage

Я протестировал его с помощью Eclipse и других инструментов, и он работает. gvfs-fuse должен быть установлен.

0
ответ дан 19 March 2016 в 11:04

Другие вопросы по тегам:

Похожие вопросы: