El método fs.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. Tampoco admite la distinción entre los permisos de usuario, grupo u otros.
Sintaxis:
fs.chmod( path, mode, callback )
Parámetros: este método acepta tres 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 OR se puede utilizar para separar varios permisos.
- devolución de llamada: Es una función que sería llamada cuando se ejecuta el método.
- err: es un error que se lanzaría si el método falla.
Los siguientes ejemplos ilustran el método fs.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 // fs.chmod() method // Import the filesystem module const fs = require('fs'); // Grant only read permission to user console.log("Granting only read access to user"); fs.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); } // Grant both read and write permission to user console.log("\nGranting read and write access to user"); fs.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 is an example text file. Trying to write to file Error Code: EACCES 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 el operador OR para otorgar permisos al archivo.
// Node.js program to demonstrate the // fs.chmod() method // Import the filesystem module const fs = require('fs'); // Grant only read permission to user console.log("Granting only read access to user"); fs.chmod("example.txt", fs.constants.S_IRUSR, () => { // 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"); fs.chmod("example.txt", fs.constants.S_IRUSR | fs.constants.S_IWUSR, () => { // Check the file mode console.log("Current File Mode:", fs.statSync("example.txt").mode); console.log("Trying to write to file"); fs.writeFileSync('example.txt', "This file now has been edited."); console.log("File Contents:", fs.readFileSync("example.txt", 'utf8')); }); });
Producción:
Granting only read access to user File Contents: This file now has been edited. Trying to write to file Error Occurred, Error Code: EACCES Granting both read and write permission to user Trying to write to file File Contents: This file now has been edited.
Referencia: https://nodejs.org/api/fs.html#fs_fs_chmod_path_mode_callback
Publicación traducida automáticamente
Artículo escrito por sayantanm19 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA