如何找到tap接口的所有权?

如何找到tap接口的所有权?

我可以设置一个持久的 Linux Tap 接口,并使其由特定用户和组拥有,其中之一是:

tunctl -u someuser -g somegroup -t example.tap
ip tuntap add dev example.tap mode tap user someuser group somegroup

我可以确认该界面是否存在并查看有关它的一些信息

ip link list dev example.tap

但事后我如何才能找出该界面属于哪个用户或组呢? ip tuntap似乎记录很少,并且ip link list似乎没有显示所有权。

答案1

一个答案这个问题建议查看 /sys/,这很有帮助。例如:

cat /sys/class/net/example.tap/owner

显示拥有用户的 uid,如果该接口不属于用户,则显示 -1。类似地,用group替换 来owner获得组所有权。我不确定是否有一种“更干净”的方法不涉及深入研究内核文件系统。

答案2

ip(8)使用(未记录的)选项运行-d

$ sudo ip tuntap add dev tap0 mode tap user ben
$ ip -d link show tap0
40: tap0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
    link/ether c9:63:71:fa:8f:04 brd ff:ff:ff:ff:ff:ff promiscuity 0 
    tun type tap pi off vnet_hdr off persist on user ben addrgenmode eui64 numtxqueues 1 numrxqueues 1 gso_max_size 65536 gso_max_segs 65535 

注意user ben最后一行。

相关内容