Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: Нет прав для записи в параллельный порт. От ROOT работает.  (Прочитано 513 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Dexel

  • Автор темы
  • Активист
  • *
  • Сообщений: 295
    • Просмотр профиля
Хочу выдать значение в параллельный порт от имени юзера.

В группе lp юзер alf есть
Код: (Text) [Выделить]
$ groups alf
alf : alf adm lp cdrom sudo dip plugdev lpadmin sambashare
# ll /dev/ | grep lp
crw-rw----   1 root lp        6,   0 Jun  2 17:56 lp0
crw-rw-r--   1 root lp       99,   0 Jun  2 17:56 parport0
$ /home/alf/Projects/IRDA/LPT/1/app
Hit any key to stop
ioperm: Operation not permitted

Запускаемая программа

Оффлайн Pilot6

  • Старожил
  • *
  • Сообщений: 14037
  • Xubuntu 18.04
    • Просмотр профиля
В группе lp юзер alf есть
А программа от имени alf запускается? А после добавления пользователя в группу lp, logout делали?
Я в личке не консультирую. Вопросы задавайте на форуме.

Онлайн SergeyIT

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 5589
  • Все по палатам!
    • Просмотр профиля
Dexel, посмотри, какие права на lp порт установлены
Извините, я все еще учусь

Оффлайн Pilot6

  • Старожил
  • *
  • Сообщений: 14037
  • Xubuntu 18.04
    • Просмотр профиля
посмотри, какие права на lp порт установлены
Уже посмотрел.
Я в личке не консультирую. Вопросы задавайте на форуме.

Оффлайн Dexel

  • Автор темы
  • Активист
  • *
  • Сообщений: 295
    • Просмотр профиля
В группе lp юзер alf есть
А программа от имени alf запускается? А после добавления пользователя в группу lp, logout делали?
Перезагружался.


Пользователь добавил сообщение 02 Июня 2020, 23:20:19:
Pilot6,# ll /dev/ | grep lp
crw-rw----   1 root lp        6,   0 Jun  2 17:56 lp0
crw-rw-r--   1 root lp       99,   0 Jun  2 17:56 parport0
« Последнее редактирование: 02 Июня 2020, 23:20:19 от Dexel »

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28365
    • Просмотр профиля
Dexel, покажите вывод id
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Онлайн SergeyIT

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 5589
  • Все по палатам!
    • Просмотр профиля
Dexel, по ссылке под текстом программы
...
The ioperm() call requires your program to have root privileges; thus you need to either run it as the root user, or make it setuid root. You can drop the root privileges after you have called ioperm() to enable the ports you want to use. You are not required to explicitly drop your port access privileges with ioperm(..., 0) at the end of your program; this is done automatically as the process exits.
...
Извините, я все еще учусь

Оффлайн Dexel

  • Автор темы
  • Активист
  • *
  • Сообщений: 295
    • Просмотр профиля
Dexel, покажите вывод id
Код: (text) [Выделить]
$ id
uid=1000(alf) gid=1000(alf) groups=1000(alf),4(adm),7(lp),20(dialout),24(cdrom),27(sudo),30(dip),46(plugdev),116(lpadmin),126(sambashare)

Пользователь добавил сообщение 05 Июня 2020, 20:44:21:

make it setuid root
Спасибо ОГРОМНОЕ!
Код: (Text) [Выделить]
$ ll app
-rwsrwxr-x 1 root alf 8560 Jun  3 16:58 app*
$ file app
app: setuid ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=0a85efbf4714e5ee49dc75653716506eae6872d5, not stripped
« Последнее редактирование: 05 Июня 2020, 20:45:30 от Dexel »

 

Страница сгенерирована за 0.03 секунд. Запросов: 25.