日期:2014-05-16  浏览次数:20602 次

Linux系统中,如何实现对内存或SD卡的一块区域限制访问?只允许我的特定程序访问?
现在有这样一个需求:在Linux操作系统中,希望在SD卡内中划出一块空间,用来存储某些特殊文件。而我希望,除了我自己编写的专用程序之外,其他任何程序都无法访问这块存储空间(其实质就是希望某些特殊文件只能被我的程序访问,其他任何程序,就算知道有这个文件的存在,但是都不能访问)。应该如何实现?是不是需要修改内核?谢谢。

------解决方案--------------------
配置用户权限就可以了
------解决方案--------------------
对文件加密吧
------解决方案--------------------
任何权限都不行呗 即使内核可以任意改都不怕
那就如2楼所说 加密这个文件 

------解决方案--------------------
如果攻击者有了root权限,你怎样都白搭!
------解决方案--------------------
你说的这种情况在kernel中是用权限的管理来实现的 你可以参照
------解决方案--------------------
换个简单的方法,
你系统启动,你就启动你的程序独占打开那个文件,这样就限制了其他程序去读写它了.
------解决方案--------------------
那就修改系统调用open ,打开指定文件时检查一下uid,只允许特定的uid成功返回
------解决方案--------------------
首先,修改SD驱动,调节空间为你要给大家使用的空间大小。
然后,为剩余的空间安装特定修改后的驱动,在这个驱动里,只支持特定操作。这样,普通程序就无法访问该区域。
------解决方案--------------------
内核加个ko模块,hook open接口, 判断用户名。