📜  Node.js process.setuid() 方法

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

Node.js process.setuid() 方法

process.setuid() 方法是 process 模块的内置应用程序编程接口,用于设置 Node.js 进程的用户身份。

句法:

process.setuid(id)

参数:此方法接受上面提到的单个参数,如下所述:

  • id:它是一个必需的参数,它包含一个字符串或一个整数,表示数字 ID 或用户名字符串,如果传递了用户名,它会在解析关联的数字 ID 时阻塞。

返回:不返回任何值。

注意:此函数仅适用于 POSIX 平台。在 windows 或 android 平台上不可用,因此会导致错误,即 TypeError, setuid is not a 函数。

下面的例子说明了在 Node.js 中process.setuid() 方法的使用:

示例 1:

Javascript
// Node.js program to demonstrate the     
// process.setuid() Method
   
// Including process module
const process = require('process');
  
// Print the user identity of the Node.js
//  process and check whether the methods
// exists or not
if (process.getuid && process.setuid ) {
    
  // Setting user id
  process.setuid(400);
    
  // Printing getuid() value
  console.log("The user identity of the Node.js"
      + " process:", process.getuid());
}


Javascript
// Node.js program to demonstrate the     
// process.setuid() Method
   
// Including process module
const process = require('process');
  
// Sett user id and check whether
// the method exists or not
if (process.setuid) {
    
  // Within try catch
  try {
    process.setuid(696);
    console.log("User id has successfully been set");
  } catch (err) {
    console.log("Failed to set user id:", err);
  }
}
  
// Check whether the method exists or not
if (process.getuid) {
    
  // Printing getuid() value
  console.log("The user identity of the Node.js"
        + " process:", process.getuid());
}


输出:

The user identity of the Node.js process: 400

示例 2:

Javascript

// Node.js program to demonstrate the     
// process.setuid() Method
   
// Including process module
const process = require('process');
  
// Sett user id and check whether
// the method exists or not
if (process.setuid) {
    
  // Within try catch
  try {
    process.setuid(696);
    console.log("User id has successfully been set");
  } catch (err) {
    console.log("Failed to set user id:", err);
  }
}
  
// Check whether the method exists or not
if (process.getuid) {
    
  // Printing getuid() value
  console.log("The user identity of the Node.js"
        + " process:", process.getuid());
}

输出:

User id has successfully been set
The user identity of the Node.js process: 696

注意:上面的程序将使用 node filename.js 命令编译和运行。

参考: https://nodejs.org/api/process.html#process_process_setuid_id