【问题标题】:How to modify a certain system call in minix 3.2.1?minix 3.2.1中如何修改某个系统调用?
【发布时间】:2016-04-16 21:13:10
【问题描述】:

我是 minix 3.2.1 的新手,我想更改某个系统调用及其输出。例如,当我键入 mkdir Newdirectory 时,我想在屏幕中看到 New dir -> myNewDirectory 755(755 代表访问权限)。我怎样才能做到这一点?

【问题讨论】:

  • 这还不够。写更多关于:你尝试了什么,你发现了什么问题,等等。

标签: call system minix


【解决方案1】:

首先您需要找到要修改的正确文件。对于您的示例,您可以通过更改/添加 usr/src/servers/vfs/open.c 文件中的代码来修改 mkdir 命令。如果您查看 open.c 文件,您会发现那里有一个 do_mkdir 函数。您可以使用:

printf("New dir -> %s",fullpath);

do_mkdir 实际上在完整路径数组中具有新目录的名称,因此不必自己创建变量。至于访问权限,您可以使用 S_IRWXU/S_IRWXG/S_IRWXO 查看访问权限(更多信息请访问http://pubs.opengroup.org/onlinepubs/7908799/xsh/sysstat.h.html)。例如,您可以将访问权限存储在整数变量中:

if(bits & S_IRUSR) x = x + 4;
if(bits & S_IWUSR) x = x + 2;
if(bits % S_IXUSR) x = x + 1;

只需为群组和其他人的权利做同样的事情,然后就可以了

请记住,您需要编译文件才能应用更改。转到 usr/src/realeasetools 目录并在终端中使用make hdbootcommand。重新启动,您将看到更改。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-20
    • 2015-12-07
    • 2021-06-20
    • 1970-01-01
    相关资源
    最近更新 更多