Linux文件访问权限与所有权管理
1. 文件删除系统调用
在Linux系统中,删除文件使用 unlink()
系统调用。当执行 unlink()
时,实际上是移除了指向该inode的一个硬链接。如果这是指向该inode的最后一个文件名,那么inode也会被删除。 unlink()
系统调用只接受一个参数,即要删除的文件名。以下是一个简单的示例:
$> ./my-stat-v1 my-file
Inode: 19374124
Size: 36
Links: 3
$> ./remove another-name
$> ./my-stat-v1 my-file
Inode: 19374124
Size: 36
Links: 2
2. 获取文件访问权限和所有权
我们可以编写一个程序来读取文件的访问权限和所有权信息。这里我们会基于之前的 my-stat-v1
程序,开发一个新的版本 my-stat-v2
。
2.1 编写代码
将以下代码保存为 my-stat-v2.c
:
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <uni