Категории

понедельник, 16 сентября 2013 г.

Ubuntu 12.04 - transmission и samba

Для успешной с файлами по samba, скаченными при помощи свежеустановленного transmission нужно изменить umask для вновь создаваемых файлов и каталогов демоном transmission и для этого первым делом останавливаем демона:
Ubuntu$ sudo service transmission-daemon stop
 * Stopping bittorrent daemon transmission-daemon      [ OK ]
Если демона не остановить, то все изменения в конфиге не сохранятся, т.к. при перезапуске transmission перезапишет свой файл из памяти и все изменения пропадут.
Убедившись, что демон transmission не запущен - открываем файл настроек:
Ubuntu$ sudo nano /etc/transmission-daemon/settings.json
Находим там параметр "umask": 18, и изменяем значение на "umask": 2,, затем сохраняем файл.

С таким значением umask демон transmission будет создавать:
Каталоги с маской 775 - читать, писать, исполнять (заходить в каталог) владельцу и группе, остальным только читать и исполнять(заходить в каталог).
Файлы с маской 664 - читать, писать владельцу и группе, остальным только читать.

Теперь добавляем пользователя, под которым подключаемся к samba шарам, в группу debian-transmission:
Ubuntu$ sudo id metajiji
uid=1000(metajiji) gid=1000(metajiji) группы=1000(metajiji),4(adm),24(cdrom),25(floppy),27(sudo),29(audio),30(dip),44(video),46(plugdev),104(fuse),108(lpadmin),109(sambashare)
Ubuntu$ sudo usermod metajiji -aG debian-transmission
Ubuntu$ sudo id metajiji
uid=1000(metajiji) gid=1000(metajiji) группы=1000(metajiji),4(adm),24(cdrom),25(floppy),27(sudo),29(audio),30(dip),44(video),46(plugdev),104(fuse),108(lpadmin),109(sambashare),111(debian-transmission)
Как видим, командой id можно проверить список групп, а так же увидеть uid/gid в которых состоит пользователь.
Запускаем демона transmission:
sudo service transmission-daemon start
 * Starting bittorrent daemon transmission-daemon      [ OK ]

P.S. Если все сделано правильно, то transmission будет скачивать файлы с правильными правами, так, что их можно будет удалять, перемещать, редактировать через samba, не прибегая к редактированию системных файлов(/etc/init.d/transmission-daemon) и т.п. ухищрений - так делать не нужно, ведь после обновления есть большая вероятность, что этот файл обновится и вам придется заново редактировать его вручную, в то время, как можно было сделать все менее радикально :)

Ссылки по теме:
1. Wiki - Umask
2. Ubuntu server 12.04 Transmission-daemon error: Permission denied...

2 комментария:

Unknown комментирует...

"Теперь добавляем пользователя, под которым подключаемся к samba шарам, в группу debian-transmission" и получаем ооогромную дыру в безопасности. Если удаленный юзер ломанет transmission, он автоматом получит все привелегии пользователя самбы. Зачем людей учить плохому, когда есть acl?

METAJIJI комментирует...

Не вижу дыры, поясните. Ведь я добавляю пользователя в группу к transmission, а не наоборот. Следовательно у демона прав не прибавилось, он как был в группе debian-transmission, так там и остался, а вот пользователь получил так необходимые права для работы с файлами демона transmission. И кстати, как тут могут помочь такие сложные штуки как acl? Расскажите поподробней. :)

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