El método fs.fchmodSync() es una programación de aplicación incorporada del módulo fs que se utiliza para cambiar de forma síncrona los permisos de un descriptor de archivo dado. Estos permisos se pueden especificar como un parámetro utilizando constantes de string o números octales correspondientes 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.fchmodSync( fd, mode )
Parámetros: este método acepta dos 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 cuyo permiso se debe cambiar.
- modo: es una constante de string o una constante 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.fchmodSync en Node.js:
Ejemplo 1: 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.fchmodSync method // Import the filesystem module const fs = require('fs'); // Getting the file descriptor const fd = fs.openSync('example_file.txt', 'r'); // Allowing only read permission console.log("Giving only read permission to user"); fs.fchmodSync(fd, fs.constants.S_IRUSR); // Check the file mode console.log("Current File Mode:", fs.statSync("example_file.txt").mode); // Reading the file console.log("File Contents:", fs.readFileSync("example_file.txt", 'utf8')); // Trying to write to file try { console.log("Trying to write to file"); fs.writeFileSync('example_file.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 user"); fs.fchmodSync(fd, fs.constants.S_IRUSR | fs.constants.S_IWUSR); // Check the file mode console.log("Current File Mode:", fs.statSync("example_file.txt").mode); console.log("Trying to write to file"); fs.writeFileSync('example_file.txt', "This file has been written over."); console.log("File Contents:", fs.readFileSync("example_file.txt", 'utf8'));
Producción:
Giving only read permission to user Current File Mode: 33024 File Contents: Hello World Trying to write to file Error Found, Code: EACCES Giving both read and write permission to user Current File Mode: 33152 Trying to write to file File Contents: This file has been written over.
Ejemplo 2: Este ejemplo muestra el uso de constantes octales para dar permisos al archivo.
// Node.js program to demonstrate the // fs.fchmodSync method // Import the filesystem module const fs = require('fs'); // Getting the file descriptor const fd = fs.openSync('example_file.txt', 'r'); // Allowing only read permission console.log("Giving only read permission to everyone"); fs.fchmodSync(fd, 0o444); // Check the file mode console.log("Current File Mode:", fs.statSync("example_file.txt").mode); // Reading the file console.log("File Contents:", fs.readFileSync("example_file.txt", 'utf8')); // Trying to write to file try { console.log("Trying to write to file"); fs.writeFileSync('example_file.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.fchmodSync(fd, 0o666); // Check the file mode console.log("Current File Mode:", fs.statSync("example_file.txt").mode); console.log("Trying to write to file"); fs.writeFileSync('example_file.txt', "This file has been written over."); console.log("File Contents:", fs.readFileSync("example_file.txt", 'utf8'));
Producción:
Giving only read permission to everyone Current File Mode: 33060 File Contents: Hello World 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: This file has been written over.
Referencia: https://nodejs.org/api/fs.html#fs_fs_fchmodsync_fd_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