Node.js fs.fchmodSync() Method
Last Updated :
08 Oct, 2021
The
fs.fchmodSync() method is an inbuilt application programming of fs module which is used to synchronously change the permissions of a given file descriptor. These permissions can be specified as a parameter using string constants or octal numbers that corresponding to their respective file modes.
Note: The Windows platform only supports the changing of the write permission. It also does not support the distinction between the permissions of user, group, or others.
Syntax:
fs.fchmodSync( fd, mode )
Parameters: This method accepts two parameters as mentioned above and described below:
- fd: It is an integer which denotes the file descriptor of the file of which the permission has to be changed.
- mode: It is string constant or octal constant that denotes the permission to be granted. The logical OR operator can be used to separate multiple permissions.
Below examples illustrate the
fs.fchmodSync method in Node.js:
Example 1: This example shows the usage of string constants and OR operator to give the file permissions.
javascript
// 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'));
Output:
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.
Example 2: This example shows the usage of octal constants to give the file permissions.
javascript
// 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'));
Output:
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.
Reference: https://nodejs.org/api/fs.html#fs_fs_fchmodsync_fd_mode
Similar Reads
Node JS fs.readFile() Method âIn Node.js, the fs.readFile() method is a fundamental tool for reading files asynchronously, allowing your application to remain responsive while accessing file data. This method is part of Node.js's File System (fs) module, which provides an API for interacting with the file system.Syntaxfs.readFi
3 min read
Node.js fs.exists() Method The fs exists method in node is used to check if the input file or the directory exists or not. It is an inbuilt application programming interface of fs module which provides an API for interacting with the file system in a manner closely modeled around POSIX functions. Syntax:fs.exists( path, callb
2 min read
Node fs.existsSync() Method In Node.js, the fs.existsSync() method checks if a file or folder exists at a given path. It's synchronous, meaning it pauses the program until it finds the result (either true if it exists, or false if it doesn't). Because it stops everything while it works, itâs best used for quick checks in small
3 min read
Node fs.mkdir() Method The fs.mkdir() method in Node.js is used to create a directory asynchronously.Syntaxfs.mkdir(path, mode, callback)Parameters: This method accepts three parameters as mentioned above and described below: path: This parameter holds the path of the directory that has to be created.mode: This parameter
2 min read
Node.js fs.truncate() Method The fs.truncate() method in node.js is used to change the size of the file i.e either increase or decrease the file size. This method changes the length of the file at the path by len bytes. If len represents a length shorter than the file's current length, the file is truncated to that length. If i
2 min read
Node.js fs.renameSync() Method In Node.js, the fs.renameSync() method is part of the built-in File System (fs) module and is used to rename or move files and directories synchronously. This method is useful when you need to quickly change a file's name or move it to a different directory synchronously. It blocks the execution of
3 min read
Node.js fs.rmdir() Method The fs.rmdir() method is used to delete a directory at the given path. It can also be used recursively to remove nested directories.Syntax: fs.rmdir( path, options, callback )Parameters: This method accepts three parameters as mentioned above and described below: path: It holds the path of the direc
3 min read
Node.js fs.stat() Method The fs.stat() method is used to return information about the given file or directory. It returns an fs.Stat object which has several properties and methods to get details about the file or directory. Syntax:fs.stat( path, options, callback )Parameters: This method accept three parameters as mentione
3 min read
Node.js fs.mkdtempSync() Method The fs.mkdtempSync() method is an inbuilt application programming interface of fs module which provides an API for interacting with the file system in a manner closely modeled around standard POSIX functions. The fs.mkdtempSync() method creates a unique temporary directory. This is the synchronous v
2 min read
Node.js fs.realpath() Method The fs.realPath() method is used to compute the canonical pathname of the given path. It does so by resolving the ., .. and the symbolic links in the path. Syntax: fs.realpath( path, options, callback ) Parameters: This method accept three parameters as mentioned above and described below: path: It
3 min read