El método fsPromises.chmod() se usa para cambiar los permisos de una ruta dada. Estos permisos se pueden especificar mediante constantes de string o números octales que correspondan a sus respectivos modos de archivo.
Nota: La plataforma Windows solo admite el cambio del permiso de escritura. No admite la distinción entre los permisos del usuario, grupo u otros. Cambia los permisos de un archivo y luego resuelve la Promesa sin argumentos en caso de éxito.
Sintaxis:
fsPromises.chmod( path, mode)
Parámetros: este método acepta dos parámetros, como se mencionó anteriormente y se describe a continuación:
- ruta: Es una string, Buffer o URL que denota la ruta del archivo del cual se quiere cambiar el permiso.
- modo: es una string o una constante entera octal que denota el permiso que se otorgará. El operador lógico o se puede utilizar para separar varios permisos.
Los siguientes ejemplos ilustran el método fsPromises.chmod() en Node.js:
Ejemplo 1: Este ejemplo muestra el uso de constantes enteras octales para dar permisos al archivo.
// Node.js program to demonstrate the // fsPromises.chmod() method // Import the filesystem module const fs = require('fs'); const fsPromises = require('fs').promises; console.log("Granting only read access to user"); fsPromises.chmod("example.txt", 0o400 ) console.log("\nReading the file contents"); console.log(fs.readFileSync("example.txt", 'utf8')); console.log("\nTrying to write to file"); try { fs.writeFileSync('example.txt', "This file has now been edited."); } catch (e) { console.log("Error Code:", e.code); } console.log("\nGranting read and write access to user"); fsPromises.chmod("example.txt", 0o600 ) console.log("Trying to write to file"); fs.writeFileSync('example.txt', "This file has now been edited."); console.log("\nReading the file contents"); console.log(fs.readFileSync("example.txt", 'utf8'));
Producción:
Granting only read access to user Reading the file contents This file has now been edited. Trying to write to file Error Code: EPERM Granting read and write access to user Trying to write to file Reading the file contents This file has now been edited.
Ejemplo 2: este ejemplo muestra el uso de constantes de string y un operador para otorgar permisos al archivo
// Node.js program to demonstrate the // fsPromises.chmod() method // Import the filesystem module const fs = require('fs'); const fsPromises = fs.promises; // Grant only read permission to user console.log("Granting only read access to user"); fsPromises.chmod("example.txt", fs.constants.R_OK); // Reading the file console.log("File Contents:", fs.readFileSync("example.txt", 'utf8')); // Trying to write to file try { console.log("\nTrying to write to file"); fs.writeFileSync('example.txt', "This file now has been edited."); } catch (e) { console.log( "Error Occurred, Error Code:", e.code); } // Granting both read and // write permission console.log("\nGranting both read and " + 'write permission to user"); fsPromises.chmod("example.txt", fs.constants.R_OK | fs.constants.W_OK); // Check the file mode console.log("Current File Mode:", fs.statSync("example.txt").mode); console.log("Trying to write to file"); try { fs.writeFileSync('example.txt', "This file now has been edited."); } catch (e) { console.log("Error ", e.code); } console.log("File Contents:", fs.readFileSync("example.txt", 'utf8'));
Producción:
Granting only read access to user File Contents: This file has now been edited. Trying to write to file Error Occurred, Error Code: EPERM Granting both read and write permission to user Current File Mode: 33060 Trying to write to file Error EPERM File Contents: This file has now been edited.
Referencia: https://nodejs.org/api/fs.html#fs_fspromises_chmod_path_mode
Publicación traducida automáticamente
Artículo escrito por nitin_sharma y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA