微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Netlink和安全如何互相影响?

我知道Netlink是在Linux中交stream内核和用户间的现代和正确的方式。

我有一个需要configuration的内核模块,所以我使用Netlink与用户空间应用程序交谈。

一切都是奇迹,但在我看来,任何用户都可以跟我的模块交谈。 我可以使用权限等来locking应用程序,但项目是开源的,所以任何用户都可以轻松地编译用户空间应用程序。 Ergo, 任何用户都可以configuration我的内核 。 这不适合我。

看来我在这里丢失了一些非常重要的东西,但是我发现Netlink的文档是关于如何让它运行,而不是如何适应现实世界。

实时使用Linux实时调度优先级(SCHED_FIFO和SCHED_RR)?

有没有可能是Linux文件描述符0 1 2不适用于标准input,标准输出和标准错误

Linux内核链接列表和“typeof”错误

释放克隆的skb(使用skb_clone)将释放原始的skb?

在linux内核中分区

我怎样才能限制访问模块的Netlink套接字? 如果这是不可能的,还有什么可以做的呢?

如何在linux内核编程中从'dev_t'获得'device struct'?

计时初始化给出了任何指示?

调用者是否将Linux内核的net_device_ops序列化

在Linux上开发HDMI端口

Linux中的raw_spin_lock是否禁用hrtimer中断?

捂脸

从RFC 3549:

Netlink生活在由内核和用户空间分隔的单一主机的可信环境中。 Linux功能确保只有具有CAP_NET_ADMIN功能用户(通常是root用户)才能打开套接字。

内核应该是告诉模块是否让用户继续执行的人,而不是Netlink。 明显。

只需在内核空间中编码即可

/* If the current thread of execution doesn't have the proper privileges... */ if (!capable(CAP_NET_ADMIN)) { /* Or CAP_SYS_ADMIN or whatever */ /* Throw this request away. */ return -EPERM;

,完成。

感谢ipclouds和tadokoro引导我朝着正确的方向发展。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐