使用 Debian lenny,我拼命想让 LXC 工作(Debian 内核 3.16 和 LXC 1)。一个大问题是设备节点的使用。我使用lxc.autodev
和lxc.cgroup.devices.allow
我的配置如下:
lxc.network.type = veth
lxc.network.link = br-lan
lxc.rootfs = /var/lib/vz/private/210
# Common configuration
lxc.include = /usr/share/lxc/config/debian.common.conf
# Container specific configuration
lxc.mount = /var/lib/lxc/core/fstab
lxc.utsname = core
lxc.autodev = 1
lxc.kmsg = 0
# /dev/urandom
lxc.cgroup.devices.allow = c 1:9 rwm
在我看来,这里一切都应该正确。但是,在容器内,只有 root 可以访问 /dev/urandom:
# ls -l /dev/urandom
crw-rw-rw- 1 root root 1, 9 Okt 4 13:06 /dev/urandom
# stat /dev/urandom
Datei: /dev/urandom
Größe: 0 Blöcke: 0 EA Block: 4096 zeichenorientierte Spezialdatei
Gerät: 5h/5d Inode: 28959 Verknüpfungen: 1 Gerätetyp: 1,9
Zugriff: (0666/crw-rw-rw-) Uid: ( 0/ root) Gid: ( 0/ root)
Zugriff : 2017-10-04 13:06:01.251962498 +0000
Modifiziert: 2017-10-04 13:06:01.251962498 +0000
Geägndert : 2017-10-04 13:06:01.251962498 +0000
Geburt : -
# su mail -s /bin/bash
$ stat /dev/urandom
stat: der Aufruf von stat für '/dev/urandom' ist nicht möglich: Keine Berechtigung
即,作为非 root 用户之内容器中,尽管权限正确,但无法访问设备 (/dev/urandom)。作为 root之内容器,它起作用了。
这可能是什么问题?