📜  Node.js fsPromises.lchown() 方法

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

Node.js fsPromises.lchown() 方法

fsPromises.lchown()方法用于更改文件的所有权,然后在成功时不带参数地解析 Promise。该函数接受可用于设置各自所有者和组的用户 ID 和组 ID。

句法:

fsPromises.lchown( path, uid, gid )

参数:此方法接受三个参数,如上所述,如下所述:

  • path:它是一个字符串、缓冲区或 URL,表示必须更改所有者和组的文件的路径。
  • uid:是一个整数,表示要设置的所有者对应的用户id。
  • gid:它是一个整数,表示与要设置的组对应的组id。

注意:此方法仅在 macOS 上实现。

示例:演示 fsPromises.lchown() 方法的 Node.js 程序。

文件名:index.js

// Node.js program to demonstrate the 
// fsPromises.lchown() method 
    
// Import the filesystem module 
const fs = require('fs'); 
const fsPromises = fs.promises;
    
let filepath = "example_file.txt"; 
let symlinkpath = "symlinkFile"; 
    
// Create a symlink to the file 
fs.symlinkSync(filepath, symlinkpath); 
    
// Set the owner and group of the
// symbolic link to a new one 
// New owner is "geeksforgeeks" with
// user id 1200 New group is "editor"
// with group id 1201 
fs.lchown(symlinkpath, 1200, 1201)
.then(function() {
  console.log("Given uid and gid set successfully"); 
})
.catch(function(error) {
  console.log(error);
});

运行此程序的步骤:使用以下命令运行index.js文件:

node index.js

运行代码之前:

xubuntu@xubuntu: ~/Desktop/fs-lchown$ ls -l
total 4
-rw-rw--w- 1 xubuntu xubuntu 4 Apr 26 05:10 example_file.txt
-rw-rw-r-- 1 xubuntu xubuntu 290 Apr 26 05:15 index.js

代码输出:

Given uid and gid set successfully

运行代码后:

xubuntu@xubuntu: ~/Desktop/fs-lchown$ ls -l
total 4
-rw-rw--w- 1 xubuntu xubuntu 4 Apr 26 05:10 example_file.txt
-rw-rw-r-- 1 xubuntu xubuntu 290 Apr 26 05:15 index.js
lrwxrwxrwx 1 geeksforgeeks editor 16 Apr 26 09:15 
        symlinkFile -> example_file.txt