Привет, Ковыряния с ивманом показали, что он таки работает, но настройка ивмана для того что он запускал sudo /etc/init.d/bluetooth start sudo rfcomm bind 0 XX:XX:XX:XX:XX 1 при вставлении в ноут блютус адаптера не работает изза самого демона ивмана. Чтобы ивман _выполнил_ эти две команды его обязательно нада перезапустить ручками после загрузки системы. Итак, что происходит. я внес такую запись в /etc/ivman/IvmConfigActions.xmд <ivm:Match name="hal.linux.subsystem" value="bluetooth"> <ivm:Match name="hal.info.category" value="bluetooth_hci" /> <ivm:Option name="exec" value="/usr/bin/sudo /etc/init.d/bluetooth start" /> <ivm:Option name="exec" value="/usr/bin/sudo /usr/bin/rfcomm bind 0 00:0A:D9:82:25:61 1" /> <ivm:Option name="execun" value="/usr/bin/sudo /etc/init.d/bluetooth stop" /> </ivm:Match> а в /etc/sudoers ivman dnote = NOPASSWD: /etc/init.d/bluetooth * ivman dnote = NOPASSWD: /usr/bin/rfcomm * после загрузки компа, при вставлении блютусины в логах (12ая консоль) вижу что девайс ивманом опознан и ... ivman: Running: /usr/bin/sudo /etc/init.d/bluetooth start ... ivman: Running: /usr/bin/sudo rfcomm bind 0 XX:XX:XX:XX:XX 1 однако реально ничего не происходит [root@dnote root]# service bluetooth status which: no hid2hci in (/sbin:/bin:/usr/sbin:/usr/bin) hcid is stopped [root@dnote root]# l /dev/rfcomm0 ls: /dev/rfcomm0: No such file or directory Если же я перезапускаю сервис ивмана руками [root@dnote root]# service ivman restart Stopping ivman service: [ DONE ] Starting ivman service: [ DONE ] то реакция ивмана на вставление блютусины ужо правильная May 18 10:05:30 dnote bluetooth: hcid startup succeeded May 18 10:05:30 dnote hcid[24088]: HCI dev 0 up May 18 10:05:30 dnote hcid[24088]: Starting security manager 0 May 18 10:05:30 dnote sdpd[24120]: Bluetooth SDP daemon [root@dnote root]# l /dev/rfcomm0 crw-rw---- 1 root root 216, 0 May 18 10:05 /dev/rfcomm0 Таким образом без перезапуска ивмана судо программа не испольняется вот вывод системных логов по скритом [root@dnote root]# cat /usr/bin/bug #!/bin/sh echo "---" >> /tmp/ivman.log date >> /tmp/ivman.log env >> /tmp/ivman.log echo "$@" >> /tmp/ivman.log до ручной перезагрузки ивмана --- Thu May 18 14:04:26 EEST 2006 resume2=swap:/dev/sda1 CONSOLE=/dev/console TERM=linux INIT_VERSION=sysvinit-2.85 AUTOBOOT=YES PATH=/sbin:/usr/sbin:/usr/local/sbin:/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin RUNLEVEL=5 runlevel=5 PWD=/ PREVLEVEL=N previous=N SHLVL=4 BOOT_IMAGE=linux-up splash=silent _=/usr/bin/env и после --- Thu May 18 14:05:45 EEST 2006 LESSKEY=/etc/.less GTK_FILESEL_SIMPLE=0 HOSTNAME=dnote.enamine.net SHELL=/bin/bash TERM=xterm HISTSIZE=999 QTDIR=/usr/lib/qt3/ QTINC=/usr/lib/qt3/include/ HISTFILESIZE=9999 USER=root LS_COLORS=no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:ex=01;32:*.sh=01;32:*.csh=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lha=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.gz=01;31:*.bz2=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.cpio=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.avi=01;35:*.fli=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.flac=01;35:*.mp3=01;35:*.mpc=01;35:*.ogg=01;35:*.wav=01;35: ENV=/root/.bashrc USERNAME=root MINICOM= -c on -8 MAIL=/var/mail/root PATH=/sbin:/usr/sbin:/usr/local/sbin:/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin INPUTRC=/etc/inputrc PWD=/ GTK_FILESEL_NO_ICONS=1 LANG=POSIX SHLVL=5 LESS=-MM G_FILENAME_ENCODING=utf8 LOGNAME=root QTLIB=/usr/lib/qt3/lib/ CVS_RSH=ssh XDG_DATA_DIRS=/usr/share:/var/cache LESSOPEN=|/usr/share/less/lesspipe.sh %s DISPLAY=localhost:10.0 GTK_FILESEL_NO_MIME=1 G_BROKEN_FILENAMES=1 XAUTHORITY=/root/.xauthbSTHCk _=/usr/bin/env Дима Actual Results:
Хм... В выводе скрипта нет ничего подозрительного... А что будет если первым делом после загрузки сказать service ivman restart ?
А что пишет sudo в /var/log/auth/all в первом и во втором случае?
(In reply to comment #1) > Хм... В выводе скрипта нет ничего подозрительного... Дык, получается что после перезагрузки руками сервис работает от рута и получается что он может стартовать service bluetooth итп. а если не перегружать то ивман работает от себя и прав ему не дают > А что будет если первым делом после загрузки сказать service ivman restart ? То ивман подхватит блютусину и все заработает
(In reply to comment #2) > А что пишет sudo в /var/log/auth/all в первом и во втором случае? в первом случае вааще не появляется никаких записей в /var/log/auth/all тока на 12 консоли May 23 17:52:40 dnote ivman: New Device: /org/bla/bla/bla May 23 17:52:40 dnote ivman: Running: /usr/bin/sudo /etc/init.d/bluetooth start May 23 17:52:40 dnote ivman: Running: /usr/bin/sudo /usr/bin/rfcomm0 bind 0 XX:XX:XX:XX:XX 1 а вот во втором случае появляется таие 2 строчки May 23 17:55:50 dnote sudo: ivman : TTY=unknown ; PWD=/ ; USER=root ; COMMAND=/etc/init.d/bluetooth start May 23 17:55:50 dnote sudo: ivman : TTY=unknown ; PWD=/ ; USER=root ; COMMAND=/usr/bin/rfcomm bind 0 00:0A:D9:82:25:61 1 получается почему то ивман не выполняет судо.... может ему каких то переменных не хватает?
#grep ivman /etc/group ? #control |grep sudo ? Похоже, сталкиваюсь с чем-то подобным. Баг ещё актуален вообще?
Не знаю, но не исключено. Дим, ты сейчас пользуешься ivman?
Вероятно, проблема связана с тем, что sudo по умолчанию требует терминал (флаг requiretty по умолчанию установлен); при ручном запуске у процесса ivman остаётся терминал, с которого был произведён перезапуск. Кроме того, обсуждаемые правила сейчас вообще не нужны, поскольку есть /etc/udev/rules.d/80-bluetooth.rules: ACTION=="add", KERNEL=="hci*", RUN+="/etc/init.d/bluetooth start" ACTION=="remove", KERNEL=="hci*", RUN+="/etc/init.d/bluetooth stop" rfcomm bind запускать вручную тоже необязательно - достаточно заполнить /etc/bluetooth/rfcomm.conf.
В общем, неизвестно и вряд ли кто этим занимается. <dikov> привет на 4ке я его вроде не заводил -- тут по мему какая то другая система автоматизации а с компакта я уже слез
goto udev