用户端传入参数问题

本文深入探讨了CFS文件系统中的安全模块及常见系统调用,如mount、cp、ls、chmod的实现机制与流程。特别关注了安全验证、权限设置以及与MDS端的数据交互过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1../start 

该脚本主要是mount命令,同时插入安全的模块。在mount时可以携带参数。这些参数的接受位置为:

cfs_get_sb->cfs_fill_super->mds_login->login->send2Serv.

2.cp 

这里主要是文件系统的东西。只要验证通过即可?

3.ls

该函数不涉及安全,是文件系统模块,创建成功后即可。

4. ./llx  /mnt/cfs/user1/Makefile && dmesg。

该脚本里面除了一些控制信息,主要就是chmod系统调用。格式如下:

chmod a+w 文件名%-%-%#。

实际上chmod系统调用是一层一层的,需要做一些初始化,而后面的参数是可以接收的。

cfs_setattr->command_analysis->mds_getacl(name)|| mds_setacl.这里显然应该是调用mds_getacl.根据flags值判断。

5../chomodx user2 + read /mnt/cfs/user1/Makefile. 

这里最后调用的chomod函数格式如下:

chmod a+w filename%username%permission%operator。

这里和上面一个命令是类似的。都是要调用到cfs_setattr->command_analysis->....

其中command_analysis函数可以解析出chmod命令中的 username,filename,permission,operator等变量。

最终都是在send2Serv函数里进行发送到MDS端的。

 

关于周博提到得,我上次说的只是读数据的问题,如果是写的情况。

如果是写的话(包括cp系统调用),首先是需要open,然后是write,然后close。

首先向mds发送信息,发送自己的命令包格式,然后mds返回的元数据信息包括,ds的IP地址,inode节点,等等。这些。因此

需要控制的地方在于:在open函数之前,完成验证。

转载于:https://www.cnblogs.com/xindufresne/p/3600759.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值