Open In App

Node.js fs.chmodSync() Method

Last Updated : 08 Oct, 2021
Improve
Improve
Like Article
Like
Save
Share
Report

The fs.chmodSync() method is used to synchronously 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.chmodSync( path, mode )

Parameters: This method accepts two 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.

Below examples illustrate the fs.chmodSync() 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.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'));


Output: 
 

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

Example 2: This example shows the usage of octal integer constants to give the file permissions.
 

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'));


Output: 
 

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

Reference: https://nodejs.org/api/fs.html#fs_fs_chmodsync_path_mode
 



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads