linux lsm 程序加载钩函数,LSM在Linux中的实现方式
LSM(Linux Secure Model)一種輕量級訪問控制機制.
其實現方式有如在系統調用中加入一個后門....
方式如下:
static struct file *__dentry_open(struct dentry *dentry, struct vfsmount *mnt,
struct file *f,
int (*open)(struct inode *, struct file *),
const struct cred *cred)
{
struct inode *inode;
int error;
...............................................................
error = security_dentry_open(f, cred);?? //LSM機制實現方式,在此加入了一個LSM函數.
//security_dentry_open的實現如下,相當于一個接口,對一個函數指針再
//封裝一下.
//只返回是與否,這樣的控制信息.
if (error)
goto cleanup_all;
................................................................
return f;
cleanup_all:
.................................................................
return ERR_PTR(error);
}
//========簡單封裝一個指針結構體===========================
int security_dentry_open(struct file *file, const struct cred *cred)
{
int ret;
ret = security_ops->dentry_open(file, cred);
if (ret)
return ret;
return fsnotify_perm(file, MAY_OPEN);
}
總結
以上是生活随笔為你收集整理的linux lsm 程序加载钩函数,LSM在Linux中的实现方式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 近期热门手机榜单出炉 三星几乎霸榜 多款
- 下一篇: 卖出苹果和微软股票太早了,前美国总统特朗