пятница, 13 августа 2010 г.

Предоставление общего доступа к приводу DVD через Samba

Казалось бы, это элементарная операция, не требующая какой-либо инструкции. Но в Fedora 13 (да и в других свежих дистрибутивах) это не так просто. Вместо HAL монтированием устройств теперь занимается udisks, ранее известный как DeviceKit-disks. Посмотрим /etc/mtab после установки диска:
/dev/sr0 /media/DISK iso9660 ro,nosuid,nodev,uhelper=udisks,uid=500,gid=500,iocharset=utf8,mode=0400,dmode=0500 0 0

Каталог, где смонтирован диск, выглядит так:
dr-x------. 1 yuri yuri 610 Mar 2 2006 /media/DISK

Если расшарить каталог /media, никто не получит доступа к его подкаталогу DISK.
Не смог найти в документации, как же изменить опции монтирования.
Поиски в сети не дали результата. На различных форумах предлагают писать скрипт, который выполняет размонтирование диска с последующим монтированием с нужными опциями.
Но всё оказалось проще. Я написал письмо автору программы, и он рассказал (большое ему спасибо), что udisks берет опции монтирования из /etc/fstab.
/dev/sr0  /media/cdrom  auto  noauto,user,users,mode=0444,dmode=0555 0 0

Каталог /media/cdrom я не создавал, его создает udisks автоматически при необходимости. Приятным бонусом стало то, что название каталога теперь одинаковое для разных cd/dvd. Таким образом в samba можно указать точный путь к приводу, а не к вышестоящему каталогу.
dr-xr-xr-x. 1 root root 610 Mar  2  2006 /media/cdrom

Следующим препятствием стал SELinux. По умолчанию cd/dvd и iso-образы монтируются с типом iso9660_t. Samba же может расшаривать каталоги с типом samba_share_t. Чтобы диски монтировались сразу с правильным типом, нужно в /etc/fstab добавить:
/dev/sr0  /media/cdrom  auto  noauto,user,users,mode=0444,dmode=0555,fscontext="system_u:object_r:samba_share_t:s0" 0 0

Комментариев нет:

Отправить комментарий