📜  Node.js fs.chown() 方法

📅  最后修改于: 2022-05-13 01:56:55.299000             🧑  作者: Mango

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