LINUX.ORG.RU

Запись CD под юзером


0

0

Не понимаю, что надо включить, что бы записывать CD из под пользователя..
Дистрибутив CRUX

$ groups ivan
lp wheel audio video floppy cdrom users fuse pkgmk disk qemu scanner

$ ls -l /dev/cdrom
lrwxrwxrwx 1 root root 14 2008-07-12 23:26 /dev/cdrom -> /dev/cdrom-hda

$ ls -l /dev/cdrom-hda
lrwxrwxrwx 1 root root 3 2008-07-12 23:26 /dev/cdrom-hda -> hda

$ ls -l /dev/hda
brw-r----- 1 root cdrom 3, 0 2008-07-12 23:26 /dev/hda

$ cat /etc/udev/rules.d/81-cdrom.rules

ACTION=="add", BUS=="ide", KERNEL=="hd[a-z]", IMPORT="/lib/udev/cdrom_id --export $tempnode"
ACTION=="add", BUS=="scsi", KERNEL=="sr[0-9]*", IMPORT="/lib/udev/cdrom_id --export $tempnode"
ACTION=="add", BUS=="scsi", KERNEL=="scd[a-z]", IMPORT="/lib/udev/cdrom_id --export $tempnode"

ENV{ID_CDROM}=="?*", SYMLINK+="cdrom-%b"
ENV{ID_CDROM_CD_RW}=="?*", SYMLINK+="cdrw-%b"

ENV{ID_CDROM_DVD}=="?*", SYMLINK+="dvd-%b"
ENV{ID_CDROM_DVD_R}=="?*", SYMLINK+="dvd-%b"

ACTION=="add", BUS=="ide", KERNEL=="hd[a-z]", SYSFS{removable}=="1", SYSFS{media}=="cdrom*", RUN+="/lib/udev/cdsymlinks"
ACTION=="add", BUS=="scsi", KERNEL=="sr[0-9]*", SYSFS{type}=="5", RUN+="/lib/udev/cdsymlinks"
ACTION=="add", BUS=="scsi", KERNEL=="sg[0-9]*", SYSFS{type}=="5", RUN+="/lib/udev/cdsymlinks"

ACTION=="remove", BUS=="block", KERNEL=="hd[a-z]", RUN+="/lib/udev/cdsymlinks"
ACTION=="remove", BUS=="block", KERNEL=="sr[0-9]*", RUN+="/lib/udev/cdsymlinks"
ACTION=="remove", BUS=="block", KERNEL=="sg[0-9]*", RUN+="/lib/udev/cdsymlinks"
GROUP=="cdrom"

★★★
Ответ на: комментарий от anonymous

Да, ясно..
Теперь так:

$ ls -l /usr/bin/burn-cd
-rwsr-sr-x 1 root root 59760 2008-02-10 23:55 /usr/bin/burn-cd

http://pastebin.com/d137f3224
Ну не получается..

Пишет [wrong device] Может это ошибки скрипта burn-cd? Попробую cdrecord..

Тот же результат:
http://pastebin.com/m6b540b5f
cdrecord: Permission denied. WARNING: Cannot set priority using setpriority().

Делаю так:
sudo chmod 666 /dev/hda

Теперь работает.. таки дело наверное в udev?

baaba ★★★
() автор топика
Ответ на: комментарий от baaba

Так же у меня проблемы с монтированием ntfs раздела, так и не решил.. приходится монтировать через sudo. Если делать не через ntfs-3g, а силами ядра, то всё как обычно. Наверное правила fuse в udev надо изменить?

baaba ★★★
() автор топика
Ответ на: комментарий от baaba

> Так же у меня проблемы с монтированием ntfs раздела, так и не решил.. приходится монтировать через sudo. Если делать не через ntfs-3g, а силами ядра, то всё как обычно. Наверное правила fuse в udev надо изменить?

Что значит силами ядра? O_O Вот такую вещь можно в /etc/fstab написать

/dev/hda1 /mnt/windows ntfs-3g users 0 0

и монтировать потом от пользователя командой mount /mnt/windows

Uncle_Theodore ★★
()

А права на запись поставить не пробовали?

> $ groups ivan
> lp wheel audio video floppy cdrom users fuse pkgmk disk qemu scanner
> $ ls -l /dev/hda
> brw-r----- 1 root cdrom 3, 0 2008-07-12 23:26 /dev/hda

chmod 660 /dev/hda

Dselect ★★★
()
Ответ на: комментарий от Uncle_Theodore


>Что значит силами ядра?
>O_O Вот такую вещь можно в /etc/fstab написать
>/dev/hda1 /mnt/windows ntfs-3g users 0 0

Ну у меня и написано, примерно это:
/dev/sda1 /mnt/win ntfs-3g noauto,user,users,rw,locale=ru_RU.UTF-8 0 0

Монтирую через судо..

А вот так было раньше, силами ядра, не фусе:
/dev/sda1 /mnt/win ntfs noauto,user,ro,umask=000,iocharset=utf8 0 0

Монтировал прямо от пользователя, но, естественно, только чтение. Я канешна ещё подумаю над этим

baaba ★★★
() автор топика
Ответ на: А права на запись поставить не пробовали? от Dselect

>Dselect
>chmod 660 /dev/hda

Это при каждой загрузке делать? Или в инит-скрипты внести? Я так понимаю надо в удеве что то подкрутить, вот это было бы правильным. К сож, удев я понимаю плохо, как он работает.

Сделай плиз, ls -l /dev/тот_контроллер_где_резак
Как у тебя? И какой дистр.

ЗЫ, поставил xcdroast, у него проблем нет.

У меня проблемы с cdrecord, надо или каждый раз права выставлять, или от рута писать, мне это несимпатично.

Спасибо!

baaba ★★★
() автор топика

если burn-cd - скрипт, то suid-бит на нем не будет работать

anonymous
()
Ответ на: комментарий от baaba

> Это при каждой загрузке делать?

Для начала -- руками сделать, и проверить, работает ли.

> ls -l /dev/тот_контроллер_где_резак

$ ls -l `readlink -f /dev/cdrw1`
brw-rw---- 1 root cdrom 11, 0 Jun 27 22:03 /dev/scd0
$ id -Gn | tr ' ' '\n' | grep cdrom
cdrom
$ ls -l `which wodim`
-rwxr-xr-x 1 root root 378912 Jan 13  2007 /usr/bin/wodim

> И какой дистр.

Debian etch (как нетрудно догадаться).

> Я так понимаю надо в удеве что то подкрутить,

Правильно. Только правила у Вас немного странные.

ACTION=="remove", BUS=="block", KERNEL=="sg[0-9]*", RUN+="/lib/udev/cdsymlinks"
GROUP=="cdrom"
# ^^^^^^^^^^^^

Во-первых, не понятно к чему тут вообще относится GROUP, а во-вторых, почему
таки ==, и не просто =?

А так можно попробовать заменить

          ENV{ID_CDROM}=="?*", SYMLINK+="cdrom-%b"
          ENV{ID_CDROM_CD_RW}=="?*", SYMLINK+="cdrw-%b"

на

          ENV{ID_CDROM}=="?*", SYMLINK+="cdrom-%b", CROUP="cdrom", MODE="660"
          ENV{ID_CDROM_CD_RW}=="?*", SYMLINK+="cdrw-%b", GROUP="cdrom", MODE="660"

Dselect ★★★
()
Ответ на: комментарий от anonymous

Запарили глупые советы.

> chmod +s /usr/bin/cdrecord

Не нужен ему SUID, это только лишняя дырка.

Dselect ★★★
()
Ответ на: комментарий от baaba

Ещё несколько замечаний...

> Тот же результат:
> http://pastebin.com/m6b540b5f

Хотя в данном случае причина очевидна, логи лучше выкладывать прямиком
сюда, а не на какой-то непонятный сайт, который хочет невесть чего.

> cdrecord: Permission denied. WARNING: Cannot set priority using setpriority().

Не имеет к проблеме никакого отношения. Не нужен cdrecord'у RT приоритет.
То есть, если Вы на AMD k6-2 250MHz болванки режете, тогда таки да.

Dselect ★★★
()
Ответ на: комментарий от Dselect

>Dselect
> А так можно попробовать заменить
> ENV{ID_CDROM}=="?*", SYMLINK+="cdrom-%b"
> ENV{ID_CDROM_CD_RW}=="?*", SYMLINK+="cdrw-%b"

Спасибо! Ты мне очень помог (теперь и со сканером может быть разберусь, а то напихал судо в скрипт, некультурно)

baaba ★★★
() автор топика
Ответ на: комментарий от baaba

Приятно когда вот так ответят, вникнут. У тебя там жалко нет реквизитов, а то бы я отписался. Не знаю, как люди темы отслеживают. Смотреть "мои комментарии"?

Иван.

baaba ★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.