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

Почему я не могу получить доступ к своим ресурсам samba с помощью этой простой конфигурации? (CentOS 6)

В недавно установленной системе CentOS 6 у меня есть следующий простой файл smb.conf, скопированный из другой системы, где он работает должным образом:

workgroup = MYDOMAIN
browseable = yes
[homes]
guest ok = no
read only = no
[tmp]
path = /tmp
read only = no
guest ok = yes
[backups]
path = /backups
read only = no
guest ok = no

Я отключил SELinux и пропустил порты Samba на брандмауэре. Я установил joeпароль самбы с smbpasswd -a joe. /home/joe и /home иметь 755 разрешений и /home/joe есть пользователь / группа joe. /backups имеет пользователя / группу root и права доступа 777.

Это должно позволить пользователю joe с разрешением на доступ / резервное копирование для подключения к чтению / записи \ hostname \ backups в Windows или через клиент samba на том же хосте Linux. Он также должен разрешать доступ к \ hostname \ joe (домашний каталог), учитывая, что joe может получить доступ к его домашнему каталогу /home/joe.

Используя клиент Linux на локальном хосте:

$ smbclient --user joe '\\hostname\joe'
Enter joe's password: 
Domain=[MYDOMAIN] OS=[Unix] Server=[Samba 3.5.10-125.el6]
smb: \> ls
NT_STATUS_ACCESS_DENIED listing \*

        62359 blocks of size 33553920. 59182 blocks available
smb: \> cd Documents
smb: \Documents\> ls
NT_STATUS_ACCESS_DENIED listing \Documents\*

        62359 blocks of size 33553920. 59182 blocks available
smb: \Documents\> 

Итак, здесь я могу подключиться к общему ресурсу, но не вижу содержимого, но могу перейти в каталог, который, как я знаю, там есть. Обратите внимание, что /home/joe/Documents также 755 и принадлежит joe.

Сейчас попробую зайти backups:

$ smbclient --user joe '\\hostname\backups\'
Enter joe's password: 
Domain=[MYDOMAIN] OS=[Unix] Server=[Samba 3.5.10-125.el6]
tree connect failed: NT_STATUS_BAD_NETWORK_NAME

Так что в этом случае я вообще не могу подключиться к общему ресурсу. Далее, я вижу из tail -f /var/log/samba/log.smbd:

[2013/02/22 11:09:49.734263,  0] smbd/service.c:988(make_connection_snum) 
canonicalize_connect_path failed for service backups, path /backups

Это сообщение не появляется, если я подключаюсь к своей домашней папке. /backups определенно существует, имеет режим 777 и является точкой монтирования для внешнего устройства RAID, которое работает нормально.

У меня есть другая система с практически идентичной конфигурацией, за исключением того, что это CentOS 5 и Samba 3.0.33 вместо 3.5.10. Там все работает как положено.

В Windows при попытке доступа к \\hostname\backups или \\hostname\joe (с правильными учетными данными, конечно) дает бесполезный диалог «У вас нет разрешений ...» с «Подробностями»: «Не удалось найти имя сети».

Пожалуйста, помогите мне разобраться в этом!

Вероятно, вам нужно перейти на iptables. Попробуй это:

/sbin/iptables -I INPUT -s adreess -m state --state NEW -p tcp --dport 137 -j ACCEPT
/sbin/iptables -I INPUT -s address -m state --state NEW -p tcp --dport 138 -j ACCEPT
/sbin/iptables -I INPUT -s address -m state --state NEW -p tcp --dport 139 -j ACCEPT
/sbin/iptables -I INPUT -s address -m state --state NEW -p tcp --dport 445 -j ACCEPT

pd: извините за английский, я использую переводчик Google.