Доступ к общему ресурсу SMB без пароля


12

При доступе к общим ресурсам SMB, которые защищены паролем, smbclientработает просто отлично.

Но когда я пытаюсь получить доступ к общему ресурсу, который не защищен паролем (общедоступные ресурсы), smbclientвыдает:

tree connect failed: NT_STATUS_ACCESS_DENIED

Как я могу получить доступ к этим акциям?

Я пытаюсь получить доступ к Windows 7 из моего Ubuntu 12.10


Я считаю, что это не полное сообщение об ошибке ...
Schaiba

@schaiba - Там также сказано, Anonymous login successfulпомогает ли это
speller

Да, это помогает Удалите живые предметы с сервера Windows 7 и попробуйте снова, это старая ошибка.
Schaiba

@schaiba - У меня нет живых предметов первой необходимости
speller

какую версию самбы вы используете? $ smbd --version
Yurij73

Ответы:


8

Отвечая на довольно старый вопрос, я могу сделать это с помощью smbclient следующим образом:

$ smbclient //host/share -U " "%" "
Domain=[WORKGROUP] OS=[Windows 2000] Server=[Windows 2000 LAN Manager]
smb: \>

Это от хоста fedora 21, подключенного к клону Solaris (omnios), но он должен быть таким же, как и хост с windows.


2
Синтаксис опции -U (пользователь) заключается в следующем: -U|--user=username[%password]. Следовательно, этот ответ использует имя пользователя с одним пробелом и пароль с одним пробелом.
Берни

1
smbclient //host/share -U guest%работал на меня.
donothingsuccessfully

-U %работал для меня
Брайан Ларсен

2

если ваша точка монтирования /home/myuser/mountpointи общая папка называется sharefolder. Тебе стоит попробовать mount -t cifs //<your shareserver name or ip>/sharefolder -o username=guest,password="" /home/myuser/mountpoint


Пробовал, но я получаю mount error(5): Input/output error. Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)И если я нюхаю Wireshark, я вижу, что получаю STATUS_ACCOUNT_RESTRICTION с сервера
speller

общий доступ Windows разрешает чтение / запись папки для гостей?
Yurij73

убедитесь, что полный путь к файлу доступен. Ваша папка общего доступа и все папки более высокого уровня должны быть как минимум + r + x.
Yurij73

1

Не могли бы вы проверить, какой вариант безопасности указан в вашем smb.conf. По умолчанию security = user опция будет включена в. Standalone Server optionУровень безопасности пользователя запрашивает имя пользователя / пароль в Windows, в то время как если вы сохраните security = shareего, он не будет запрашивать учетные данные или может получить доступ к общему ресурсу без пароля. Эта опция также может быть добавлена ​​к вашим локальным определениям общего ресурса.


Это было действительно, security = userно это было также закомментировано. Пытается security = share
отомстить

0

От сюда :

by default network access is denied to accounts which don't have a
password... you can change this option in the group policy

Ну, похоже, это невозможно. Microsoft, вероятно, думал, что это умно ..


Извините за этот комментарий, если что-то пойдет не так. Я использую Windows 2003 и XPs без каких-либо проходов. Просто с гостевой акк включен.
Yurij73

0

Это старый вопрос, но я исправил эту проблему для гостевой учетной записи, включив следующую политику в управлении групповыми политиками:

Политика домена по умолчанию> Конфигурация компьютера> Политики> Параметры Windows> Параметры безопасности> Локальные политики> Параметры безопасности> Учетные записи: состояние гостевой учетной записи

Несмотря на то, что он не определен, по умолчанию он отключен и предотвращает перечисление общего ресурса.


0

В моем случае этот синтаксис прекрасно работал на smbclient версии 4.3.11-Ubuntu для копирования файла на другой сервер Linux с помощью ресурса smb:

smbclient '//server.domain.local/share' -U 'myuser%' -c 'put "/tmp/filen_to_copy.txt" "subfolder\copied_file.txt"'

Я думаю, что это работает с сервером Windows без AD.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.