Как я могу исправить эту настройку 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
перед этим.