Проблеми доступу до пристроїв в Linux

problemy dostupa k ustrojjstvam v linux87 Проблеми доступу до пристроїв в Linux

Прикро виявити, як встановлене тобою додаток, що працює з периферійними пристроями, раптом «радує» повідомленням, що немає прав на доступ до цих пристроїв, і успішно запускається тільки з правами адміністратора. Наприклад, якби подібне сталося з tvtime щодо відеокарти, користувач зіткнувся б з таким повідомленням в консолі:

1videoinput: Cannot open capture device /dev/video0: Permission denied

Насамперед слід перевірити групи доступу до пристрою:

1$ ls -l /dev/video0

Очікувано ви виявляєте серед них root і video, але не виявляєте в останній себе (user), виконавши перевірку командою

1$ groups

Природне рішення — додати користувача (user) в групу (video) будь-яку з доступних команд:

123$ sudo usermod -a -G video user:$ sudo useradd -a -G video user:$ sudo gpasswd -a user video

По завершенні команди потрібно перезайти в систему.

Помилки размонтирования

Кожен знає, що перш, ніж вийняти флешку з USB-роз’єму, потрібно виконати команду (або натиснути піктограму) размонтирования. Не завжди ця команда завершується успішно, і у відповідь ви можете отримати повідомлення на зразок:

1<span class=”typ”>Error</span><span class=”pln”> unmounting block device </span><span class=”lit”>8</span><span class=”каламбур”>:</span><span class=”lit”>17</span><span class=”каламбур”>:</span> <span class=”typ”>GDBus</span><span class=”каламбур”>.</span><span class=”typ”>Error</span><span class=”каламбур”>:</span><span class=”pln”>org</span><span class=”каламбур”>.</span><span class=”pln”>freedesktop</span><span class=”каламбур”>.</span><span class=”typ”>UDisks2</span><span class=”каламбур”>.</span><span class=”typ”>Error</span><span class=”каламбур”>.</span><span class=”typ”>DeviceBusy</span><span class=”каламбур”>:</span> <span class=”typ”>Error</span><span class=”pln”> unmounting </span><span class=”каламбур”>/</span><span class=”pln”>dev</span><span class=”каламбур”>/</span><span class=”pln”>sdb1</span><span class=”каламбур”>:</span><span class=”pln”> target </span><span class=”kwd”>is</span><span class=”pln”> busy</span>

Воно говорить про те, що якесь додаток все ще використовує носій /dev/sdb1. Щоб визначити це додаток, потрібно знайти, куди змонтований /dev/sdb1:

1$ mount | grep /dev/sdb1

А потім виконати таку команду:

1$ lsof +D /путь_к_точке_монтирования

Або таку:

1$ fuser -m /путь_к_точке_монтирования

Залишиться тільки закрити програму, в крайньому випадку вбити процес і спокійно розмонтувати носій. З допомогою fuser це можна зробити, що називається, на місці:

Об'ємні сніжинки з паперу на Новий 2021 рік своїми руками
1$ fuser -k -m /путь_к_точке_монтирования

У самому крайньому випадку можна не вбивати додаток, а розмонтувати ФС примусово:

1$ sudo umount -f -l /путь_к_точке_монтирования

problemy dostupa k ustrojjstvam v linux88 Проблеми доступу до пристроїв в Linux

Демонтування пристрою, зайнятого процесом

Подобається? Поділіться з друзями:
Всезнайко - Корисні поради
Залишити відповідь

×
Тисни «Подобається», щоб читати нас на Facebook
Спасибі, я вже з Вами!