CentOS Samba установка и настройка с SELinux

16:03:2012 –≥.

¬ заметке рассматриваетс€ установка на CentOS Samba дл€ совместного использовани€ файлов по сети по протоколу smb.

¬ приведенном примере установка производилась на CentOS 6.2 с включенной опцией SELinux.

Ѕазова€ установка производитс€ с помощью привычной команды yum:

#yum install samba

ѕосле установки нужно откорректировать файл /etc/samba/smb.conf. ¬низу файла наход€тс€ заготовки дл€ создани€ расшареных папок. »х можно раскомментировать, получив готовые к шаре, к примеру, общую папку дл€ всех пользователей или расшарить домашние папки пользовател€.

–асшариваемые настройки интуитивно пон€тны.  роме настроек внизу файла советую обратить на строку

hosts allow = {кто_может_подключитьс€}

” мен€ значение установлено как 127. 192.168.0 - позвол€ет подключатьс€ или самому себе или любым иннтерфейсам сети 192.168.0. (пустым местом можно считать классовую маску, здесь /24). ѕользователи, подключающиес€ через интерфейс, который смотрит в Internet не смогут получить доступ к Samba.

ѕароли и пользователи в Samba

¬озможно вы захотите сделать копию файла passwd, который содержит обычные пароли системы дл€ использовани€ тех же учетных записей в Samba. ƒл€ этого выполните команду:

#cat /etc/passwd | mksmbpasswd.sh > /etc/samba/smbpasswd

Ёто не отмен€ет команду #smbpasswd username дл€ установки парол€ пользовател€ при подключении.

“акже, в конфигурационном файле /etc/samba/smb.conf в этом случае необходимо будет включить опцию, котора€ бы указывала, что пароли идут в шифрованном виде. ≈сли соответствующей в файле нет, пропишите ее самосто€тельно:

encrypt passwords = yes
smb passwd file = /etc/samba/smbpasswd

Ёто базова€ настройка Samba на CentOS 6.2, расширенные опции всегда можно найти в документации или хелпе.

Samba и SELinux

¬озможна€ проблема - после того как все настройки были сделаны, пользователи на удаленных компьютерах вид€т расшаренные папки в системе CentOS через Samba, но не могут получить к ним доступ. »зменение прав на эти папки проблему не решает.

Ёто вызвано действием SELinux, который по умолчанию включен. Ќеобходимо указать контекст дл€ SELinux по отношению к этим папкам. ƒл€ примера, общую расшаренную папку в CentOS можно пометить как:

chcon -R -t samba_share_t /{путь_к_общему_ресурсу}
¬Ќ»ћјЌ»≈! ћинус и тире - разные вещи :)

¬ случае, если необходимо расшарить доступ к домашним папкам пользовател€, необходимо выполнить команду:

#setsebool -P samba_enable_home_dirs 1

это установка типа Boolean, соответственно, если вы хотите чтобы через Samba нельз€ было получить доступ к домашним папкам в CentOS - просто выполните идентичную команду с 0 в конце.

—овмещение Apache и Samba

≈сли есть непосредственный доступ к Web-серверу CentOS, в случае работы над Web-проектом было бы удобно обращатьс€ на пр€мую по сети с сайтом как с локальной папкой. –ешением дл€ этого может быть объединение прав на —амбу и јпач.

ќднако, SELinux имеет разные контексты дл€ работы двух демонов этих сервисов. –ешением может быть применение общего контекста, который разрешен дл€ обоих (вместо /var/www укажите место, где крут€тс€ ваши сайты):

#chcon -R -t public_content_rw_t /var/www

ѕосле применени€ этого контекста общий доступ будет только на чтение, через Samba сохнар€ть изменени€ будет нельз€. „тобы этого избежать, можно добавить флаг, разрешающий анонимные записи демоном smbd:

#setsebool -P allow_smbd_anon_write 1

 

ƒобавить комментарий


«ащитный код
ќбновить

« _default_ VirtualHost overlap on port 80, the first has precedence - Apache Error while updating filelist conf/svnserve.conf:12:Option expected - ошибка SVN »

‘отоальбом

fotic.jpg

ќблако “егов