El método fs.chmodSync() se utiliza para cambiar sincrónicamente los permisos de una ruta determinada. 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.chmodSync( 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 OR se puede utilizar para separar varios permisos.
Los siguientes ejemplos ilustran el método fs.chmodSync() en Node.js:
Ejemplo 1: Este ejemplo muestra el uso de constantes de string y el operador OR para otorgar permisos de archivo.
javascript
// Node.js program to demonstrate the // fs.chmodSync method // Import the filesystem module const fs = require('fs'); // Allowing only read permission console.log("Giving only read permission to user"); fs.chmodSync("example.txt", fs.constants.S_IRUSR); // Check the file mode console.log("Current File Mode:", fs.statSync("example.txt").mode); // Reading the file console.log("File Contents:", fs.readFileSync("example.txt", 'utf8')); // Trying to write to file try { console.log("Trying to write to file"); fs.writeFileSync('example.txt', "Hello"); } catch (e) { console.log("Error Found, Code:", e.code); } // Allowing both read and write permission console.log("\nGiving both read and write" + " permissions to user"); fs.chmodSync("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', "World"); console.log("File Contents:", fs.readFileSync("example.txt", 'utf8'));
Producción:
Giving only read permission to user Current File Mode: 33024 File Contents: Hello Trying to write to file Error Found, Code: EACCES Giving both read and write permissions to user Current File Mode: 33152 Trying to write to file File Contents: World
Ejemplo 2: Este ejemplo muestra el uso de constantes enteras octales para dar permisos al archivo.
javascript
// Node.js program to demonstrate the // fs.chmodSync method // Import the filesystem module const fs = require('fs'); // Allowing only read permission console.log("Giving only read permission to everyone"); fs.chmodSync("example.txt", 0o444); // Check the file mode console.log("Current File Mode:", fs.statSync("example.txt").mode); // Reading the file console.log("File Contents:", fs.readFileSync("example.txt", 'utf8')); // Trying to write to file try { console.log("Trying to write to file"); fs.writeFileSync('example.txt', "Hello"); } catch (e) { console.log("Error Found, Code:", e.code); } // Allowing both read and write permission console.log("\nGiving both read and " + "write permission to everyone"); fs.chmodSync("example.txt", 0o666); // 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', "World"); console.log("File Contents:", fs.readFileSync("example.txt", 'utf8'));
Producción:
Giving only read permission to everyone Current File Mode: 33060 File Contents: Hello Trying to write to file Error Found, Code: EACCES Giving both read and write permission to everyone Current File Mode: 33206 Trying to write to file File Contents: World
Referencia: https://nodejs.org/api/fs.html#fs_fs_chmodsync_path_mode
Publicación traducida automáticamente
Artículo escrito por sayantanm19 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA