Как я могу исправить эту настройку Samba на CentOS?

Я пытаюсь установить общий ресурс Samba в /home/share для CentOS. У меня нет большого опыта в организации такого рода услуг. Здесь и там я следовал инструкциям и рекомендациям, но чего-то не хватает. Вот полное описание проблемы.

Настройка машины: я использую в проигрывателе VMware (надеюсь, скоро ESX) сервер CentOS 6.3, установленный с использованием "минимального" образа ISO. Сетевой мост.

Что я пытаюсь сделать: настроить общую папку Samba для доступа некоторых пользователей в сети (пользователей Windows).

Симптомы: я не могу подключиться к общему ресурсу, а также не могу получить список общих ресурсов. Я пытался с моего ноутбука Mint 14 и с компьютера Win7. Я могу пропинговать виртуальную машину, но не могу подключить ее к общему каталогу. Я перепробовал все возможные способы. Я часто монтирую удаленные каталоги как в Windows, так и в Linux. Я почти уверен, что чего-то не хватает в моих конфигурациях.

Что я сделал до сих пор:

  • Исправлен доступ к сети, следуя указаниям здесь (раздел "Для DHCP"). Я не мог ничего пинговать, прежде чем сделать это. Теперь я могу пинговать другие компьютеры в локальной сети и популярные домены в Интернете.
  • Установленный MySQL ODBC-коннектор (yum), Mono (скомпилированный) и Samba (yum). Мне нужны первые два для чего-то еще. Просто говорю ради полноты.
  • Добавлены правила брандмауэра для самбы в соответствии с этой страницей. Я проверил синтаксис (testparm), и он также загружается без каких-либо ошибок. Iptables:
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited

-A INPUT -s 192.168.100.0/24 -m state --state NEW -m tcp -p tcp --dport 445 -j ACCEPT
-A INPUT -s 192.168.100.0/24 -m state --state NEW -m udp -p udp --dport 445 -j ACCEPT

-A INPUT -s 192.168.100.0/24 -m state --state NEW -m udp -p udp --dport 137 -j ACCEPT
-A INPUT -s 192.168.100.0/24 -m state --state NEW -m udp -p udp --dport 138 -j ACCEPT
-A INPUT -s 192.168.100.0/24 -m state --state NEW -m tcp -p tcp --dport 139 -j ACCEPT

COMMIT
  • Я бросил в setsebool -P samba_enable_home_dirs on и пытался semanage fcontext -a -t samba_share_t '/home/share(/.*)?' но похоже, что semanage не установлен. Во всяком случае, как они говорят, у меня будет пустая доля. Теперь у меня нет никакой доли вообще.
  • Вот мой конф-файл Samba:
[global]
  workgroup = WORKGROUP
  server string = Samba Server
  log file = /var/log/samba/log.%m
  max log size = 50
  security = user
  passdb backend = tdbsam
  load printers = yes
  cups options = raw

[files]
  comment = File directory
  path = /home/share
  valid users = user1
  public = no
  writable = yes
  printable = no
  create mask = 0765
  • Кроме этого, я создал пользователя в CentOS и дал ему доступ к общему ресурсу, перечислив его в файле конфигурации samba (user1 выше) и запустив smbpasswd -a user1,
  • Я думал, что проблема может быть в /home/share, поэтому я установил user1 как владельца /home/share.
  • Я вручную проверяю, запущен ли сервис smbd (и nmbd).

Это должно быть именно то, что я сделал после установки ОС (за исключением деталей сборки Mono).

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

РЕДАКТИРОВАТЬ: Для записи, чего не хватало (для разрешений):

yum install policycoreutils-python
semanage fcontext -a -t samba_share_t '/home/share(/.*)?'
restorecon -R /home/share

1 ответ

Решение

С iptables правила применяются в порядке их написания. Правила, которые приходят после

-A INPUT -j REJECT --reject-with icmp-host-prohibited

никогда не будет обработан, так как это полный отказ. Положить эти

-A INPUT -s 192.168.100.0/24 -m state --state NEW -m tcp -p tcp --dport 445 -j ACCEPT
-A INPUT -s 192.168.100.0/24 -m state --state NEW -m udp -p udp --dport 445 -j ACCEPT  
-A INPUT -s 192.168.100.0/24 -m state --state NEW -m udp -p udp --dport 137 -j ACCEPT
-A INPUT -s 192.168.100.0/24 -m state --state NEW -m udp -p udp --dport 138 -j ACCEPT
-A INPUT -s 192.168.100.0/24 -m state --state NEW -m tcp -p tcp --dport 139 -j ACCEPT

перед этим.

Другие вопросы по тегам