Нет доступа к акциям Samba

8

У меня есть три общие папки в локальном домашнем каталоге, то есть на рабочем столе Ubuntu / home / me /. Все они были настроены с помощью «Опции общего доступа» в контекстном меню Nautilus. Стандартные папки «Музыка» и «Видео» настроены одинаково: флажок «Гостевой доступ» установлен, а параметр «Разрешить другим создавать и удалять» - нет. Третья папка, которая называется «общая», настроена так, чтобы не разрешать гостевой доступ, но позволяла другим пользователям изменять файлы. Я не изменял /etc/samba/smb.confвручную, я использовал только параметры общего доступа для создания и изменения этих так называемых «общих ресурсов».

У моих соседей по комнате два компьютера с Windows 7 и один нетбук Ubuntu Netbook Remix. У меня вышеупомянутый настольный компьютер и ноутбук, работающий 10.04. Ни одна из этих машин не может получить доступ к любому из общих ресурсов. Попытки получить доступ к гостевым ресурсам приводят к сообщению

\\machine\directory is not accessible. The network name could not be found.

Это сообщение об ошибке, сгенерированное виртуальной машиной под управлением Windows 2000. Другие машины Windows генерируют аналогичную ошибку. Ноутбук Ubuntu выдает ошибку Unable to mount location: Failed to mount Windows share. Ура, еще раз, для информативных сообщений об ошибках. Это действительно очень помогает.

При попытке просмотреть папку с именем «общий доступ» с ноутбука, я сталкиваюсь с диалоговым окном пароля. Такое поведение будет одинаковым для всех машин, которые я пробовал в данной ситуации. При вводе моего имени пользователя и пароля для учетной записи, которой принадлежат общие ресурсы, диалоговое окно пароля на короткое время исчезает и заменяется идентичным диалоговым окном. Сообщение об ошибке, полезное или нет, не появляется.

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

Я хотел бы иметь возможность обмениваться файлами. Совместное использование их на компьютерах с Windows - хорошая функция, если бы она была доступна. Действительно, я считаю, что совместное использование файлов между двумя машинами с одной и той же версией одной и той же операционной системы является минимальным условием для удобства использования сети.

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

Да, и «Личный общий доступ к файлам» из меню «Настройки» не приводит к записи в «Места» → «Сеть» → «my-server». На самом деле старая запись «MY-SERVER» исчезает и заменяется на «публичные файлы koanhead на my-server», которые при попытке открыть ее с ноутбука выдают «DBus.Error.NoReply: сообщение не получено». ответ."

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

  1. Надо работать; или

  2. Быть адекватно задокументированным.

В идеале и то, и другое. Во всяком случае, разглагольствовать. Надеюсь, у кого-то появится понимание этого вопроса. Спасибо всем, кто потрудился прочитать эту стену за ваше время.

koanhead
источник
1
Это действительно не хороший способ решить проблему, но это обходной путь. Пока /etc/samba/smb.conf находится map to guest = bad userв глобальном разделе, а общий ресурс - guest ok = yesесли вы введете неправильное имя пользователя и пароль (но не пустое, просто поместите мусор в обоих полях), кажется, что все работает. Я знаю, что это некрасиво, и я надеюсь, что у кого-то есть лучший ответ, так что я тоже могу исправить свои настройки.
Джереми
1
ты думал об использовании scp вообще? установите winscp на машины с Windows и запустите на своей машине ssh-сервер. Очень прост в настройке и администрировании. Следует избегать протоколов совместного использования файлов Windows, они даже не очень хорошо работают между компьютерами Windows. Я отказался от самбы давным-давно.
Дворник Unix
@ Джереми, спасибо за предложение, я попробую его в течение следующих двух дней и опубликую результаты здесь. @ user5883, да, я обычно использую sshfs и иногда scp, но я не могу отказаться от Samba, так как Ubuntu использует его как «официальный» метод обмена файлами, и мне нужно быть в состоянии помочь другим в этом.
koanhead
@ Джереми, 'map to guest = bad user' уже присутствовал в глобальном разделе smb.conf. Добавление guest ok = yes не оказало заметного эффекта.
koanhead
2
Я получил награду за этот ответ не потому, что Samba теперь работает правильно, а потому, что я не хотел, чтобы он истек. Насколько я могу судить, обмен файлами в Ubuntu все еще безнадежно нарушен; он никогда не работал для меня с 2006 года. Samba удовлетворительно работала только под Caldera OpenLinux (еще в 1999 году) и Fedora Core 2. В обоих случаях это заняло несколько дней обучения, проб и ошибок. Моя цель при публикации этого вопроса была не о том, что мне нужна Samba для работы, а о том, что Ubuntu должна работать. Это ошибка для ошибки # 1, и я не могу рекомендовать Ubuntu.
koanhead

Ответы:

7

Я думаю, что у него нет пользователей самбы.

sudo smbpasswd -a <username>  
gksu gedit /etc/samba/smbusers  
RobotHumans
источник
1
это то, что меня бросало ... не интегрируя пользователей samba и системных пользователей, но есть причина.
RobotHumans
Со страницы руководства smbpasswd: «Кроме того, команда smbpasswd полезна, только если Samba настроена на использование зашифрованных паролей». Я не настроил samba для этого вручную, и я не знаю, настраивает ли это Ubuntu по умолчанию. Кроме того, на справочной странице smbpasswd нет ссылок на пользователей smbusers. Это указывает на то, что команды 'smbpasswd -a' достаточно для добавления пользователя, но тогда почему существует файл smbusers? Почему это вообще относится к аутентификации на уровне общего ресурса? Акции предполагается глобально читаемым без пароля. Почему Samba можно использовать только для экспертов Samba?
koanhead
Я добавил пользователя через 'smbpasswd -a' и перезапустил smbd без заметного немедленного эффекта. После внесения и отката некоторых изменений в smb.conf, указанных выше, с соответствующими перезапусками smbd, теперь одна папка с именем «shared» доступна с ноутбука через пароль, который я установил. Таким образом, доступ на уровне пользователя теперь работает, но не доступ на уровне общего доступа, что я и хотел. Доступ на уровне пользователя не очень полезен для меня, поскольку я использую для этого sshfs, но ваш ответ является наиболее правильным (единственный, который привел к каким-либо положительным изменениям), поэтому я буду присудить вам награду.
koanhead
Я ценю чек ... и понимаю разочарование. Использование пользователей для предоставления разрешений на уровне общего доступа было тем, с чем я столкнулся довольно давно (я даже забыл обстоятельства, но я чувствовал себя так же, как и вы сейчас). В качестве обходного пути использовали пользователей и сопоставляли диск с некоторой опцией «аутентифицировать как» при монтировании диска. Это не настоящие разрешения на уровне общего доступа, но это дало мне бесплатную реализацию, которая работала как хотелось.
RobotHumans
Я это сделал. Не помогло. Кстати, нет такого файла gksu gedit / etc / samba / smbusers, поэтому я сохранил его, так что его новый пустой. Какая польза от этого? Как этот ответ принимается? Это не работает.
Кенгуру
3

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

Раньше я работал на компьютере под управлением Windows XP с Ubuntu, работающим в VMware, и передавал файлы через общий доступ через Samba. Когда я попробовал ту же настройку с Windows 7, радости не было.

Кажется, что-то изменилось в Windows 7. Поэтому, если у вас нет проблем с совместным использованием с Windows XP, я бы точно не сказал, что Samba была более надежной 10 лет назад.

Ссылка здесь и / или попробуйте получить более новые версии Samba

http://wiki.samba.org/index.php/Windows7

hansioux
источник
1
Спасибо за ответ, и я сам заподозрил, что проблема может быть связана с Windows 7. Тем не менее, я также не могу подключиться с другого компьютера под управлением той же ОС, что и сервер (Ubuntu 10.04), или локальной виртуальной машины Win2k. К сожалению, поблизости нет машины с XP, с которой я мог бы это проверить. Моя точка зрения в расширенной статье гласила, что в Ubuntu Samba должна просто работать (tm), поскольку это «официальный» метод обмена файлами. Необходимость взломать вещи, чтобы заставить их работать, хорошо в Arch или даже в Fedora, но не в Ubuntu. Кстати, когда я хочу использовать удаленные файлы, я использую sshfs.
koanhead
Он даже не может подключиться к другому компьютеру с Ubuntu? может ли ваша Ubuntu 10.04 отлично видеть другой компьютер? Я знаю, что вы, наверное, проверяли это, но находятся ли эти компьютеры в одной группе?
Хансиу
да, два компьютера Ubuntu появляются в Places-> Network друг друга. Фактически все задействованные компьютеры могут видеть друг друга, но ни один из них не может получить доступ к общим ресурсам, размещенным в Ubuntu, и ни один из Ubuntu не может получить доступ к каким-либо общим ресурсам (у меня нет учетной записи на компьютере Windows, поэтому я не ожидаю, что работать в любом случае.) Изначально два компьютера Ubuntu были частью отдельной рабочей группы, но я изменил это так, чтобы все компьютеры в локальной сети были в «WORKGROUP».
koanhead
3

Я обычно делаю это, редактируя файл conf. Я сделал это: sudo nano /etc/samba/smb.confи добавил это в конец файла.

[Shared]
     comment = My Files
     path = /home/me
     read only = yes
     write list = koanhead
     guest ok = yes

В «списке записи» укажите свое имя пользователя системы, чтобы у вас было только разрешение на запись. На компьютере с Windows введите следующую команду: \\ ip-of-the-samba-pc \ shared. На машине с Ubuntu откройте файловый браузер и введите его в адресной строкеsmb://ip-of-the-samba-pc/shared

nixnotwin
источник
Спасибо за предложение, я попробую его в течение следующих двух дней и сообщу.
koanhead
Добавление цитируемого текста в /etc/samba/smb.conf приводит к тому, что все общие ресурсы исчезают из окна Nautilus «Общие папки Windows на моем сервере».
koanhead
3

Вы говорите, что смогли заставить работать доступ на уровне пользователя. Для меня это звучит так, будто это просто ваша конфигурация самбы, которая неверна. В старые времена я бы сказал, очистите samba.conf и сделайте простой, который соответствует вашим потребностям, для правильного samba.conf может потребоваться не более 10 строк.

В любом случае, с тех пор появилось более простое решение: установить system-config-samba

sudo apt-get install system-config-samba

Прежде чем начать, вы можете сбросить samba.conf в исходное состояние. Чтобы убедиться, что никакие «скрытые» синтаксические ошибки не проникли во время устранения неполадок

Панель управления довольно проста:

  • нажмите знак «+»
  • выберите каталог
  • сделать видимым (и доступным для записи?)
  • перейдите на вкладку «Доступ»
  • выберите «Разрешить доступ кому-либо»

Альтернативный (и немного более правильный) способ сделать это:

  • создать пользователя * nix с именем: guest (или как вам угодно)
    • по соображениям безопасности убедитесь, что "guest" имеет в /bin/falseкачестве оболочки для входа (если вы не хотите, чтобы гость мог входить через ssh и т. д.)
  • в меню «Настройки»: выберите «Пользователи Samba»
  • убедитесь, что «гость» в списке: если не создать его.

тогда

  • в меню «Настройки»: выберите «Настройки сервера»
  • На вкладке «Безопасность»: в разделе «Гостевая учетная запись» выберите «Гость».

Теперь любой, кто попытается войти в систему анонимно, будет назначен пользователю «гость» и, таким образом, будет иметь все права, которыми обладает «гость».

  • Теперь создайте общий ресурс, как описано выше, за исключением того, что вместо «Разрешить доступ всем», просто выберите «Гость».

убедитесь, что у пользователя * nix 'guest' достаточно прав для чтения и / или записи в общей папке.

Удачи!

/ B2S

Born2Smile
источник
2

Чтобы новые системы Windows могли получить доступ к текущим / старым общим ресурсам Ubuntu Samba, вам необходимо включить шифрование пароля (encrypt passwords = yes в файле smb.conf).

В Windows 7 изменилось то, что для шифрования паролей Samba было введено требование безопасности. То же самое относится к XP, если у вас установлен KB2536276.

Я работал с этой проблемой в нашей сети на работе, пока не нашел решение изменить « нет » на « да » на зашифрованных паролях. Это все еще работает для широко открытого ресурса, к которому у всех есть доступ для чтения / записи без пароля - даже если у вас нет пароля, он все равно должен сообщить Windows, что несуществующий пароль зашифрован для Windows, чтобы позволить вам войти туда.

Этот ответ предполагает, что у вас все остальное настроено для правильной работы Samba, например, пользователи (или их отсутствие) и установленные разрешения.

Для открытия / простой акции без каких - либо паролей и т.д., убедитесь , что у вас есть security = share, guest account = nobodyи / или map to guest = Bad Userв conf.

Remo
источник
1

Я сожалею об этом, но у меня была та же проблема, мой компьютер не был обнаружен в локальной сети, после этого я переустановил систему (очистить переустановить с полным форматированием), и все работало нормально.

antivirtel
источник
1

При использовании Windows 7 может потребоваться изменить параметры реестра:

См. Вики Samba для получения дополнительной информации или просто запустите файл Win7_SambaDomainMember.reg

Если вы используете Ubuntu 11.10, убедитесь, что у вас установлен python-glade2

sudo apt-get install python-glade2
Дэвид Лебауэр
источник
1

Простое решение для совместного использования вашей домашней папки - раскомментировать строки в [homes]разделе /etc/samba/smb.conf (удалите «;»)

Максимум
источник
0

Я считаю, стоит проверять, есть ли у вас правила брандмауэра / iptables, предотвращающие это. Если вы не уверены, что самый простой способ (а также управлять iptables в будущем) установить ufw и

sudo ufw allow samba
sudo ufw enable
eXlin
источник
UFW уже настроен для разрешения самбы.
koanhead