首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在启动/dev/视频*设备时强制执行持久ACL?

如何在启动/dev/视频*设备时强制执行持久ACL?
EN

Server Fault用户
提问于 2019-02-22 18:15:16
回答 1查看 1K关注 0票数 2

我在/dev/video0上有一个U盘摄像头,在用户登录之前我正在尝试访问它(准确地说,我有一个Azure IoT边缘容器运行在一个Ubuntu18.04实例上,它需要以无头模式运行,并且该盒子需要能够在不需要任何人每次物理登录的情况下进行电力循环)。

如果我首先物理登录到该框中,则ACL将正确地设置为/dev/video0,并且我的容器(在myuser下运行)可以愉快地访问/dev/video0

代码语言:javascript
复制
myuser@myuser-UBUNTU:~$ sudo getfacl /dev/video0
getfacl: Removing leading '/' from absolute path names
# file: dev/video0
# owner: root
# group: video
user::rw-
user:myuser:rw-
group::rw-
mask::rw-
other::---

但是,如果我没有实际登录到该框(例如,在重新启动之后),我的用户帐户(myuser)将永远无法访问/dev/video0 (相反,gdm用户将获得它)。

代码语言:javascript
复制
myuser@myuser-UBUNTU:~$ sudo getfacl /dev/video0
getfacl: Removing leading '/' from absolute path names
# file: dev/video0
# owner: root
# group: video
user::rw-
user:gdm:rw-
group::rw-
mask::rw-
other::---

我确信这是一个ACL问题,因为当我将ssh放入框中(在物理登录之前),并手动将myuser添加到/dev/video0的ACL列表中,我的容器可以再次愉快地访问/dev/video0

My问题:如何确保在启动时,在挂载/dev/video0时,这种情况自动发生:

代码语言:javascript
复制
sudo setfacl -m u:myuser:rw /dev/video0

myuser添加到视频组does not work (在这方面,在Ubuntu上ACL似乎已损坏):

代码语言:javascript
复制
sudo usermod -a -G video myuser

我尝试了我能想到的每一个变体RE:组,没有任何影响。当Ubuntu启动时,我似乎真的需要将myuser自动添加到/dev/video0的ACL中,但我不知道如何做到这一点。有什么想法吗?

EN

回答 1

Server Fault用户

回答已采纳

发布于 2019-02-22 18:48:12

准确地说,您需要在Docker启动容器之前启动它。

因此,您可以为Docker systemd单元添加一个插入,以便在Docker启动之前运行您想要的任何内容。

例如,我会创建一个系统插入,如下所示:

代码语言:javascript
复制
sudo mkdir -p /etc/systemd/system/docker.service.d
sudo tee /etc/systemd/system/docker.service.d/video-permissions.conf <

此时,每当Docker启动时,指示的命令将预先运行。

票数 4
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/955324

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档