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