Назад | Перейти на главную страницу

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

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

Я установил автономный компьютер с Fedora 16 для использования в качестве сервера для обмена файлами и веб-разработки. Он должен иметь возможность обмениваться файлами с ПК с Windows 7 и Mac под управлением OSX Snow Leopard.

Я установил Samba с помощью графического интерфейса пользователя Samba в Fedora. Добавил пользователей в Fedora и подключил их как пользователей Samba (которые совпадают с именами пользователей и паролями Windows и Mac). Имя рабочей группы такое же, как и у рабочей группы Windows. Аутентификация установлена ​​на пользователя. Я разрешил Samba и клиент Samba через брандмауэр и установил Ethernet на доверенный порт в брандмауэре.

Компьютеры с Windows и Mac могут подключаться к серверу и просматривать общие ресурсы, однако при попытке доступа к общим ресурсам Windows выдает ошибку:

0x80070035 " Windows cannot access \\SERVERNAME\ShareName." 

Пользователю Windows не предлагается ввести имя пользователя или пароль при доступе к серверу (находится в разделе «Сетевое окружение»). Это также происходит при подключении по IP, а не по имени сервера.

Mac также может подключиться к серверу и увидеть общие ресурсы, но при выборе общего ресурса выдает ошибку:

The original item for ShareName cannot be found.

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

Поскольку обе машины действуют одинаково при попытке доступа к общим ресурсам, я предполагаю, что это проблема с настройкой Samba.

smb.conf:

[global]

    workgroup = workgroup
    server string = Server
    log file = /var/log/samba/log.%m
    max log size = 50
    security = user
    load printers = yes
    cups options = raw
    printcap name = lpstat
    printing = cups


[homes]
    comment = Home Directories
    browseable = no
    writable = yes


[printers]
    comment = All Printers
    path = /var/spool/samba
    browseable = yes
    printable = yes

[FileServ]
    comment = FileShare
    path = /media/FileServ
    read only = no
    browseable = yes
    valid users = user1, user2

[webdev]
    comment = Web development
    path = /var/www/html/webdev
    read only = no
    browseable = yes
    valid users = user1

Как заставить работать самбу?

ОБНОВЛЕНИЕ: я понял это, потому что я использовал второй жесткий диск. См. Проверенный ответ ниже.

Предположение 1: До этого ящика у меня был другой ящик с той же установленной версией Fedora (16) и самба, работающая на этих же компьютерах. Я запустил старую машину и скопировал файл smb.conf со старой машины на новую (конечно, редактируя определения общих папок для новых общих ресурсов), но все равно получаю те же ошибки на обеих клиентских машинах. Единственная разница в среде - это оборудование и маршрутизатор. На старом компьютере маршрутизатор получил динамический общедоступный IP-адрес и назначил динамические частные IP-адреса каждому устройству в сети, в то время как новый компьютер подключен к маршрутизатору, имеющему статический общедоступный IP-адрес (хотя все еще динамические внутренние IP-адреса). влияет на Samba?

Предположение 2: поскольку каталог, которым я пытаюсь поделиться, на самом деле является целым внутренним диском, я пробовал следующие вещи:

1.) изменение владельца смонтированного диска с root на моего пользователя (это то же имя пользователя, что и на машине Windows)

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

Оба теста не дали результата, и я получил одинаковые ошибки в отношении сетевого адреса.

Предположение 3: всякий раз, когда я пытаюсь подключиться к общему ресурсу на клиенте Windows 7, мне предлагается ввести имя пользователя и пароль. Когда я ввожу правильные учетные данные, я получаю сообщение об отказе в доступе. Однако я заметил, что под полем входа в систему указан домен: WINDOWS-PC-NAME. Я считаю, что это вполне может быть проблемой.

Предположение 4: Итак, я полностью переустановил Fedora и Samba. Я создал общий ресурс на первом жестком диске (на котором установлена ​​одна Fedora), и я могу получить доступ к нему из Windows. Однако, когда я пытаюсь поделиться какими-либо данными на втором диске, я получаю ту же ошибку. Я считаю, что это проблема. Я думаю, мне нужно что-то изменить в fstab или fdisk или еще где-то.

Предположение 5: Итак, в fstab я подключил диск к автоматическому монтированию в папку, которая работает правильно. Я также добавил метку samba_share_t SElinux в каталог точки монтирования, который теперь позволяет мне получать доступ к общим ресурсам на машине Windows, однако я не вижу ни одного из файлов в каталоге на машине Windows. (Они есть, я вижу их в файловом браузере Fedora локально)

Наконец то получил. Итак, во-первых, проблема заключалась в том, что я пытался использовать второй жесткий диск вместо данных на том же диске, на котором была установлена ​​ОС. Вот шаги, чтобы иметь возможность поделиться вторым диском через Samba: (Они предназначены для внутреннего диска, но я думаю, что это также может сработать для внешних)

1.) Вы должны настроить привод для автоматического монтирования в fstab. Добавить:

/dev/sdbx /mountpoint ext3 auto 0 0

в / etc / fstab, где x - номер раздела для диска, «/ media / mountpoint» - это каталог монтирования (я создал каталог с именем / share и смонтировал туда диск), а «ext3» - файловая система

2.) установите разрешение для точки монтирования на 755:

chmod 755 /mountpoint

3.) Добавьте новую метку SElinux "samba_share_t" и примените эту метку к точке монтирования.

chcon -t samba_share_t /mountpoint

4.) Примените эти разрешения ко всем вложенным файлам и папкам. (Для этого я использовал графический интерфейс Gnome)

Я могу читать и писать в общий ресурс как с ПК с Windows 7, так и с Mac под управлением OSX.

Опубликуйте свой smb.conf, чтобы мы могли проверить, все ли у вас в порядке.

Самая важная часть вашего smb.conf выглядит примерно так:

[name_of_the_shared_folder_resource]
   valid users = user1 user2    #you can use groups
   public = no
   path = /var/www    #the path of your folder
   printable = no
   writable = yes

Помните, бегите smbpasswd для каждого пользователя для создания пароля Samba.

Еще один важный момент ... перезапустите Samba. :П

У меня была такая же проблема, наконец-то я смог ее решить, отредактировав /etc/selinux/config

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled    # if the files dont appears is because this parameters is not disabled

убедитесь, что вы видите, что самба работает, используя netstat

netstat -an | grep LISTEN | egrep "445"

также попробуйте добавить привязку интерфейса в конфиг:

interfaces = eth0 или interfaces = <ip address> в smb.conf