Модераторы: xvr
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> запретить чтение данных из ком порта, драйвер читает данные с ком порта 
:(
    Опции темы
KCyoda
Дата 6.3.2007, 15:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 6.3.2007

Репутация: нет
Всего: нет



Здравствуйте,имеется программа- демон,читает данные из ком порта ,при помощи функций
read () ,ком порт открывает при помщи функции open.Проблема в том ,что как только какая нибудь 
другая пользовательская программа начинает читать данные с ком порта,программа демон перестает 
получать с ком порта данные.Можно ли в демоне сделать так,что бы только он мог получать данные с ком порта.

PM MAIL   Вверх
MAKCim
Дата 6.3.2007, 17:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 84
Всего: 207



Цитата(KCyoda @  6.3.2007,  15:48 Найти цитируемый пост)
Можно ли в демоне сделать так,что бы только он мог получать данные с ком порта.

имхо, на пользовательском уровне нет


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
bilbobagginz
Дата 10.3.2007, 13:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Naughtius Maximus
****


Профиль
Группа: Экс. модератор
Сообщений: 8813
Регистрация: 2.3.2004
Где: Israel

Репутация: 4
Всего: 317



Если я правильно понял вопрос, то...

блин, а permissions и ownership - отменили ?

демона запускай под опр. пользователем, и устройство ком-порта подари ему. ( chown, chgrp )
потом поставь разрешение нужного режима на файл устройства(chmod), 
и тогда другие, неразрешенные пользователи не смогут открыть устройство.

Удачи.



--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
MAKCim
Дата 10.3.2007, 16:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 84
Всего: 207



Цитата(bilbobagginz @  10.3.2007,  13:57 Найти цитируемый пост)
и тогда другие, неразрешенные пользователи не смогут открыть устройство.

ага
а другие демоны, возможно запускаемые из-под root-а?
в общем случае на пользовательском уровне эта задача не решаема


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
bsa
Дата 10.3.2007, 19:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 16
Всего: 196



Думаю, можно, но немного через другой проход smile 
man 2 fcntl
раздел про F_SETLEASE и F_GETLEASE
PM   Вверх
bilbobagginz
Дата 10.3.2007, 23:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Naughtius Maximus
****


Профиль
Группа: Экс. модератор
Сообщений: 8813
Регистрация: 2.3.2004
Где: Israel

Репутация: 4
Всего: 317



bsa, идея интересная, заставила меня поднять бровь ;-) 
но посмотрел в man страничку и накопал:
Цитата

       Если держатель аренды не освободит аренду в течении количества  секунд,
       которое  задаётся  в  файле  /proc/sys/fs/lease-break-time, а системный
       вызов конкурента останется блокирующим (то, есть конкурент не установит
       флаг  O_NONBLOCK для системного вызова open() и этот системный вызов не
       будет прерван  обработчиком  события),  то  ядро  принудительно  удалит
       аренду у процесса держателя аренды.

       После того как аренда снята держателем аренды или принудительно удалена
       ядром, ядро снимает блокировку с системного вызова процесса  конкуренту
       и разрешает продолжить его работу.

кроме того, не знаю как механизм аренды будет вообще работать с символьным устройством:
Цитата

       Аренда    может   быть   установлена   только   для   обычных   файлов.
       Непривелегированный процесс может установить аренту только для файла, у
       которого UID совпадает с UID файловой системы этого процесса.


Короче нужно защищаться другими способами, может быть с помощью SELinux.




--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Программирование под Unix/Linux"
xvr
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой "Код".
  • Вопросы мобильной разработки тут
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, xvr.

 
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Программирование под Unix/Linux | Следующая тема »


 




[ Время генерации скрипта: 0.0732 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.