Як встановити спільний доступ Samba як некористувальницького користувача


14

Чи є покроковий посібник, який докладно вказує, як розбити акцію Samba, яку повинен використовувати користувач, який не має коренів, на робочому столі Ubuntu 10.04?

Примітка. У пошуку Google є численні теми, які стосуються цієї, здавалося б, нової проблеми. Інструкції, які раніше працювали на Ubuntu 8.04 (або старішій версії smbfs), більше не працюють.

Мені потрібно знайти те, що є сучасним та відтворюваним.

Відповіді:


13

Дуже приємним інструментом для легкого монтажу своїх спільних файлів у домашній папці є SMBNetFS . За допомогою цього інструменту ви можете отримати доступ до своїх акцій самби майже за всіма програмами просто через місце кріплення у вашому будинку.

Як користуватися SMBnetFS:

  • Встановіть пакет через менеджер пакунків
  • cp /etc/smbnetfs.conf ~/.smb/smbnetfs.conf копіювати стандартну конфігурацію
  • cp /etc/samba/smb.conf ~/.smb/smb.conf Скопіюйте конфігурацію samba
  • mkdir ~/sambashare або будь-яке інше ім'я для точки кріплення
  • smbnetfs ~/sambashare змонтуйте частки до точки монтажу

На жаль, документації є лише мало. Перегляньте man smbnetfsваріанти та перегляньте файл FAQ у /usr/share/doc/smbnetfs.


+1 для детальних кроків. Я сподіваюся, що це працює з Eclipse, тому що з gvfs Eclipse точно не працює. Чи знаєте ви, чим SMBnetFS відрізняється від smbfs?
Android Eve

2
SMBNetFS використовує запобіжник. Переконайтеся, що користувачі в fuseгрупі.
Таккат

+1 ще раз! Чи не також gfvs використовує FUSE? Чим він відрізняється від того, що я вже упакував (gvfs) на своєму робочому столі GNOME?
Android Eve

8

Використовуючи gnome, ви можете просто ввести smb: // url у Nautilus. Зазвичай слід встановити gvfs-fuse та інші пакети gvfs, щоб ви могли монтувати samba безпосередньо за допомогою браузера файлів. Крім того, ви повинні знайти всі змонтовані речі у папці ~ / .gvfs. Це навіть працює з іншими протоколами та стислими файлами тощо.

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

Я перевірив це за допомогою затемнення та інших інструментів, і він працює. gvfs-запобіжник повинен бути встановлений.


Дякую, але Eclipse не буде працювати з цим. Я вже спробував це, тому я спеціально запитував про smbmount (символічне посилання на mount.cifs, що є частиною пакету smbfs).
Android Eve

2
Тож затемнення не може отримати доступ до .gvfs у вашому домашньому режисері? Наскільки я знаю, кожна програма повинна це вміти робити. Виправте мене, якщо я помиляюся.
matthias.lukaszek

2

man mountдопоможе вам визначити, які варіанти ви хочете. Якщо система Windows завжди буде доступна. Ви можете просто додати кріплення до /etc/fstabі воно буде встановлене. Ви можете дозволити користувачеві монтувати та демонтувати розділ за потребою за допомогою параметрів user,noauto. Щоб дозволити іншим вимкнути його, змініть userна users.

Autofs також підтримує кріплення на вимогу за допомогою samba. Розмір залежить від того, в які каталоги ви хочете монтуватися, коли. Я успішно запускаю це в середовищі розробки.

EDIT: Якщо вам потрібно зробити це для багатьох користувачів, я пропоную використовувати autofs для монтажу. Це не потребує змін у fstab. Отримання проблемних даних для різних користувачів може бути проблемою. Я використовую структуру каталогу у формі /net/$HOST/$USERдля моїх кріплень. Автоматичні налаштування налаштовуються на /net/$HOSTчастину програми монтажу і автоматично монтують каталоги під нею, якщо потрібно.

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

Для великої організації з великою кількістю користувачів може бути доцільним переміщення каталогів на сервер Linux і використання Samba для обміну файлами користувачам Windows. Я не пробував зворотне, але це можливо.


Це працює, але для зміни fstab вам потрібен кореневий доступ. Навіть якщо root є, зверніть увагу, що це зовсім недоцільно, якщо вам доведеться це робити для багатьох користувачів, кожен з яких має певну частку для монтажу (як у великій організації, де кожен користувач має особисту частку на централізованому файловому сервері).

0

Це питання я знайшов під час дослідження магії, яку я нещодавно виконав, щоб зробити це саме для одного з моїх користувачів. Мій робочий процес значно відрізняється від інших відповідей. Зауважте, однак, мова йде про найпростіший можливий випадок.

Припустимо, що ваше ім’я користувача є 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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.