用户端传入参数问题

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

你可能感兴趣的:(用户端传入参数问题)