Node.js fs.fchown()函数
fs.fchown() 方法用于更改给定文件描述符的所有者和组。该函数接受可用于设置各自所有者和组的用户 ID 和组 ID。它有一个回调函数,如果函数失败,它会返回任何可能发生的错误。
句法:
fs.fchown( fd, uid, gid, callback )
参数:此方法接受上面提到的四个参数,如下所述:
- fd:它是一个整数,表示必须更改所有者和组的文件的文件描述符。
- uid:是一个数字,表示要设置的所有者对应的用户id。
- gid:它是一个数字,表示与要设置的组对应的组ID。
- 回调:它是一个在方法执行时将被调用的函数。
- err:如果方法失败会抛出一个错误。
下面的示例说明了 Node.js 中的fs.fchown() 方法:
示例 1:此示例显示所有者的设置。
// Node.js program to demonstrate the
// fs.fchown() method
// Import the filesystem module
const fs = require('fs');
let fd = fs.openSync("example_file.txt", "r");
// Set the owner to a new one keeping the group same
// New owner is "geek" with user id 1027
// The old group is "xubuntu" with group id 999
fs.fchown(fd, 1027, 999, (error) => {
if (error)
console.log("Error Code:", error);
else
console.log("uid and gid set successfully");
});
运行代码之前:
xubuntu@xubuntu: ~/Desktop/fs-fchown$ ls -l
total 8
-rw-rw--w- 1 xubuntu xubuntu 4 Apr 26 02:08 example_file.txt
-rw-rw-r-- 1 xubuntu xubuntu 290 Apr 26 02:08 index.js
代码输出:
Given uid and gid set successfully
运行代码后:
xubuntu@xubuntu: ~/Desktop/fs-fchown$ ls -l
total 8
-rw-rw--w- 1 geek xubuntu 4 Apr 26 02:08 example_file.txt
-rw-rw-r-- 1 xubuntu xubuntu 290 Apr 26 02:08 index.js
示例 2:此示例显示了组的设置。
// Node.js program to demonstrate the
// fs.fchown() method
// Import the filesystem module
const fs = require('fs');
let fd = fs.openSync("example_file.txt", "r");
// Set the owner to a new one keeping the group same
// New owner is "raj" with user id 1025
// New group is "author" with group id 1031
fs.fchown(fd, 1025, 1031, (error) => {
if (error)
console.log("Error Code:", error);
else
console.log("uid and gid set successfully");
});
运行代码之前:
xubuntu@xubuntu: ~/Desktop/fs-fchown$ ls -l
total 8
-rw-rw--w- 1 xubuntu xubuntu 4 Apr 26 02:08 example_file.txt
-rw-rw-r-- 1 xubuntu xubuntu 290 Apr 26 02:08 index.js
代码输出:
Given uid and gid set successfully
运行代码后:
xubuntu@xubuntu: ~/Desktop/fs-fchown$ ls -l
total 8
-rw-rw--w- 1 raj author 4 Apr 26 02:08 example_file.txt
-rw-rw-r-- 1 xubuntu xubuntu 290 Apr 26 02:08 index.js
参考: https://nodejs.org/api/fs.html#fs_fs_fchown_fd_uid_gid_callback