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


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: права на /dev/console  (Прочитано 1985 раз)

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

Оффлайн Peter_I

  • Автор темы
  • Старожил
  • *
  • Сообщений: 3124
    • Просмотр профиля
права на /dev/console
« : 28 Августа 2021, 15:40:42 »
Здравствуйте!

Почему в Ubuntu-20.04 праа на /dev/console - 620 ?
Если я сделаю 660, произойдёт нечто страшное? Или ничего?
Пётр.

shamanhuev

  • Гость
Re: права на /dev/console
« Ответ #1 : 28 Августа 2021, 15:48:35 »
Если я сделаю 660
Делай уже сразу 666.

Оффлайн Peter_I

  • Автор темы
  • Старожил
  • *
  • Сообщений: 3124
    • Просмотр профиля
Re: права на /dev/console
« Ответ #2 : 28 Августа 2021, 15:52:16 »
shamanhuev, мне хватит и 660, я в группе tty. А 1-й вопрос?
Пётр.

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 7211
  • Luck Tales
    • Просмотр профиля
Re: права на /dev/console
« Ответ #3 : 28 Августа 2021, 17:23:12 »
Peter_I, cделайте. Нам потом расскажете.

PS. Ubuntu 20.04 Server:
ll /dev/console
crw------- 1 root root 5, 1 Jul 24 21:45 /dev/console
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

Оффлайн Peter_I

  • Автор темы
  • Старожил
  • *
  • Сообщений: 3124
    • Просмотр профиля
Re: права на /dev/console
« Ответ #4 : 28 Августа 2021, 19:01:57 »
С /dev/console возникли трудности. У меня xubuntu-20.04, /dev/console принадлежит root:tty и имеет права 620.
Я вставил в /etc/rc.local команду
/usr/bin/chmod 0660 /dev/consoleно после загрузки системы у /dev/console остаются права 620, хотя rc.local исполняется.
Другая странность - если эти права установить вручную, всё равно от пользователя не исполняется из программы
ioctl(fd, KDMKTONE, na)
где na установлена как надо, пишет, нет прав, а от root исполняется. Я в группе tty, но это не первичаня группа.



Пётр.

Оффлайн F12

  • Администратор
  • Старожил
  • *
  • Сообщений: 5007
    • Просмотр профиля
Re: права на /dev/console
« Ответ #5 : 28 Августа 2021, 19:35:55 »
Peter_I, загрузись с LiveUSB примонтируй диск/раздел на котором стоит твоя xubuntu 20.04 и загляни в /dev, думаю, будешь удивлен ...
... ну или поймешь почему "после загрузки системы у /dev/console остаются права 620" ::)

Оффлайн Peter_I

  • Автор темы
  • Старожил
  • *
  • Сообщений: 3124
    • Просмотр профиля
Re: права на /dev/console
« Ответ #6 : 28 Августа 2021, 21:49:44 »
F12, я не стал этого делать, я просто стал давать команду chmod с задержкой и права сделались 660.
А всё же почему из программы от пользователя и при этом не срабатывает ioctl(fd, KDMKTONE, na)?
Система пишет, что операция не позволена. 666 ещё не пробовал.
Пётр.

Оффлайн F12

  • Администратор
  • Старожил
  • *
  • Сообщений: 5007
    • Просмотр профиля
Re: права на /dev/console
« Ответ #7 : 28 Августа 2021, 22:01:42 »
/dev/console - Символьное устройство (inode/chardevice)

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 7211
  • Luck Tales
    • Просмотр профиля
Re: права на /dev/console
« Ответ #8 : 28 Августа 2021, 22:14:19 »
Peter_I, объясните, что вы хотите сделать? (Подсказываю - это НЕ смена прав на dev/console)
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

Оффлайн Peter_I

  • Автор темы
  • Старожил
  • *
  • Сообщений: 3124
    • Просмотр профиля
Re: права на /dev/console
« Ответ #9 : 28 Августа 2021, 22:42:21 »
F12, и что? На другом компьютере в другой Linux я в /etc/rc.local командой chmod менял права на /dev/hidrawx
и это выполнялось сразу. Потом стал устанавливать их в правиле udev.


Пользователь добавил сообщение 28 Августа 2021, 22:45:01:
ALiEN175, я бы хотел, чтобы программа с вызовом ioctl(fd, KDMKTONE, na) выполнялась от пользователя,
а сейчас она работает только от root, хотя я в группе tty и права на /dev/console 660.
« Последнее редактирование: 28 Августа 2021, 22:45:01 от Peter_I »
Пётр.

Оффлайн F12

  • Администратор
  • Старожил
  • *
  • Сообщений: 5007
    • Просмотр профиля
Re: права на /dev/console
« Ответ #10 : 28 Августа 2021, 23:18:20 »
и что?
- погугли на тему символьных устройств и зачем в каталоге /dev нужны файлы им соответствующие

Оффлайн Peter_I

  • Автор темы
  • Старожил
  • *
  • Сообщений: 3124
    • Просмотр профиля
Re: права на /dev/console
« Ответ #11 : 28 Августа 2021, 23:21:40 »
F12, это слишком общая тема. Читать можно из тех и из других, из /dev/hidrawx, например.
Пётр.

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 7211
  • Luck Tales
    • Просмотр профиля
Re: права на /dev/console
« Ответ #12 : 28 Августа 2021, 23:38:42 »
чтобы программа с вызовом ioctl
Ближе, но неверно. Делаем следующую итерацию. Подсказка: хочу сделать то и то.
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

Оффлайн valrust

  • Активист
  • *
  • Сообщений: 364
    • Просмотр профиля
Re: права на /dev/console
« Ответ #13 : 28 Августа 2021, 23:48:13 »
С помощью chmod изменяются права на файл и эти права влияют только на запись (write) в это устройство или чтение (read) из него данных.

Системный вызов ioctl не делает записи или чтения из устройства, он передает команду драйверу устройства и для него права установленные на файл устройства не имеют никакого значения.

Что бы процесс мог выполнить системный вызов ioctl у него должны быть специальные привилегии. Все доступные привилегии описаны в man 7 capabilities.

Когда запускаем процесс от пользователя root, то у этого процесса есть все привилегии. Некоторым программа можно установить определенные привилегии с помощью команды setcap (man 8 setcap).

Для общего понимания привилегий процессов в Linux можно поискать статью "В двух словах о привилегиях Linux (capabilities)".

Оффлайн Peter_I

  • Автор темы
  • Старожил
  • *
  • Сообщений: 3124
    • Просмотр профиля
Re: права на /dev/console
« Ответ #14 : 29 Августа 2021, 09:42:11 »
valrust, благодарю за пояснения. Этот /dev/console сначала ещё надо открыть в программе вызовом open(),
достаточно на чтение, поэтому мне и потребовалось изменить права на 660.
О существовании capabilities я знаю, но я не помню, приходилось ли мне в Ubuntu ими интересоваться.
В Astra Linux я читал их описание, в т.ч. недавно, но, кажется, реально применять не потребовалось.
Да, если ioctl требуются права, их надо дать, попробую почитать этот man.


Пользователь добавил сообщение 29 Августа 2021, 10:41:12:
А почему нет "man cap_set/get_proc"?
apt-cache search его тоже не находит.
« Последнее редактирование: 29 Августа 2021, 10:41:12 от Peter_I »
Пётр.

 

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