Node.js fs. Método lchownSync()

El método fs.lchownSync() se usa para cambiar sincrónicamente el propietario y el grupo de la ruta dada, sin embargo, no elimina la referencia a los enlaces simbólicos si la ruta es una, a diferencia del método fs.chownSync() que elimina la referencia de los enlaces a su sendero. 
La función acepta una identificación de usuario y una identificación de grupo que se pueden usar para configurar el propietario y el grupo respectivos. No devuelve nada.
Sintaxis: 
 

fs.lchownSync( fd, uid, gid )

Parámetros: este método acepta tres parámetros, como se mencionó anteriormente y se describe a continuación: 
 

  • fd: es un número entero que denota el descriptor de archivo del archivo del cual se debe cambiar el propietario y el grupo.
  • uid: Es un número que denota el id de usuario que corresponde al propietario a configurar.
  • gid: Es un número que denota el id de grupo que corresponde al grupo a configurar.

Los siguientes ejemplos ilustran el método fs.lchownSync() en Node.js:
Ejemplo 1: este ejemplo muestra la configuración del propietario y el grupo mediante el método lchownSync().
 

javascript

// Node.js program to demonstrate the
// fs.lchownSync() method
 
// Import the filesystem module
const fs = require('fs');
 
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.lchownSync(symlinkpath, 1200, 1201);
console.log("Given uid and gid set successfully");

Antes de ejecutar el código: 
 

xubuntu@xubuntu: ~/Desktop/fs-lchownSync$ 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

Salida del Código: 
 

Given uid and gid set successfully

Después de ejecutar el código: 
 

xubuntu@xubuntu: ~/Desktop/fs-lchownSync$ 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

Ejemplo 2: Este ejemplo muestra la comparación entre chownSync() y lchownSync() al desreferenciar el enlace simbólico.
 

javascript

// Node.js program to demonstrate the
// fs.lchownSync() method
 
// Import the filesystem module
const fs = require('fs');
 
let filepath = "example_file.txt";
let symlinkpath1 = "symlinkFile1";
let symlinkpath2 = "symlinkFile2";
 
// Create two symlinks to the file
fs.symlinkSync(filepath, symlinkpath1);
fs.symlinkSync(filepath, symlinkpath2);
 
// Use lchownSync() on the first symlink
// New owner is "geeksforgeeks" with user id 1200
// New group is "owner" with group id 998
fs.lchownSync(symlinkpath1, 1200, 998);
console.log("lchownSync: uid and gid set successfully");
 
// Use chownSync() on the second symLink
// New owner is "sam" with user id 1100
// New group is "editor" with group id 1201
fs.chownSync(symlinkpath2, 1100, 1201);
console.log("chownSync: uid and gid set successfully");

Antes de ejecutar el código: 
 

xubuntu@xubuntu: ~/Desktop/fs-lchownSync$ ls -l
total 4
-rw-rw--w- 1 xubuntu xubuntu 6 Apr 26 09:15 example_file.txt
-rw-rw-r-- 1 xubuntu xubuntu 777 Apr 26 09:16 index.js

Salida del Código: 
 

lchownSync: uid and gid set successfully
chownSync: uid and gid set successfully

Después de ejecutar el código: 
 

xubuntu@xubuntu: ~/Desktop/fs-lchownSync$ ls -l
total 4
-rw-rw--w- 1 sam editor 6 Apr 26 09:15 example_file.txt
-rw-rw-r-- 1 xubuntu xubuntu 777 Apr 26 09:16 index.js
lrwxrwxrwx 1 geeksforgeeks owner 16 Apr 26 09:15 symlinkFile1 -> example_file.txt
lrwxrwxrwx 1 root root 16 Apr 26 09:15 symlinkFile2 -> example_file.txt

Referencia: https://nodejs.org/api/fs.html#fs_fs_lchownsync_path_uid_gid
 

Publicación traducida automáticamente

Artículo escrito por sayantanm19 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *