需要注意的地方

UserBufferReader

需要使用UserbufferReader对来自用户态的指针进行校验,然后通过UserBufferReader进行读操作,否则不安全。

在验证地址安全性之前,不允许访问用户内存。
应该是userbuffer的功能你还没理解。如果不校验的话,要是用户传一个内核地址进来,那就会造成系统崩溃之类的问题了。

userbuffer的操作应该在filesystem/vfs下进行。

chownlchownfchown 是 Linux 系统中用于更改文件或目录所有权的命令。

  1. chown (change owner): 这个命令用于更改指定文件或目录的用户所有权(所有者)和/或组所有权(组)。用户可以是用户名或者用户 ID,组可以是组名或者组 ID。如果不指定组,则只更改所有者。命令的基本语法如下:

    1
    chown [OPTION]... [OWNER][:[GROUP]] FILE...

    其中,OWNER 是新的文件所有者,GROUP 是新的文件组,而 FILE... 是一个或多个文件或目录的列表。chown 命令可以递归地更改目录及其内容的所有者(使用 -R 选项)。

  2. lchown (link change owner): 这个命令与 chown 类似,但它不递归地更改符号链接的目标的所有权,而是更改符号链接本身的所有权。这在处理符号链接时很有用,特别是当你想要保留链接本身的所有权信息时。

  3. fchown (file change owner): 这个命令用于更改已打开文件描述符指向的文件的所有者和组。它不是通过文件路径来更改文件所有权,而是通过文件描述符。这在编程中很有用,特别是当你通过文件描述符而不是文件路径来操作文件时。

这三个命令通常需要超级用户权限来执行,因为更改文件所有权是一个敏感操作,可能会影响系统的安全性和文件的访问权限。