Node.js fs.chmod() Method

08 Oct, 2021
The fs.chmod() method is used to change the permissions of a given path. These permissions can be specified using string constants or octal numbers that correspond 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.chmod( path, mode, callback )
Parameters: This method accepts three parameters as mentioned above and described below:
path: It is a string, Buffer or URL that denotes the path of the file of which the permission has to be changed.
mode: It is string or octal integer constant that denotes the permission to be granted. The logical OR operator can be used to separate multiple permissions.
callback: It is a function that would be called when the method is executed.err: It is an error that would be thrown if the method fails.
err: It is an error that would be thrown if the method fails.
Below examples illustrate the fs.chmod() method in Node.js:
Example 1: This example shows the usage of octal integer constants to give the file permissions.
// Node.js program to demonstrate the// fs.chmod() method  // Import the filesystem moduleconst fs = require('fs');  // Grant only read permission to userconsole.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'));  });});
Output:
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.

Example 2: This example shows the usage of string constants and OR operator to give the file permissions.
// Node.js program to demonstrate the// fs.chmod() method  // Import the filesystem moduleconst fs = require('fs');  // Grant only read permission to userconsole.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'));  });});
Output:
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.

Reference: https://nodejs.org/api/fs.html#fs_fs_chmod_path_mode_callback
nidhi_biet
Node.js-fs-module
Node.js
Web Technologies
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.