Skip to content

Instantly share code, notes, and snippets.

@umidjons
Created August 18, 2016 05:35
Show Gist options
  • Save umidjons/16c2eac99619a587dd3e3243643aa9db to your computer and use it in GitHub Desktop.
Save umidjons/16c2eac99619a587dd3e3243643aa9db to your computer and use it in GitHub Desktop.
Determine file/directory permissions

Determine file's/directory's permissions

Install stat-mode module:

npm i stat-mode -S
'use strict';

var fs = require('fs');
var StatMode = require('stat-mode');

fs.stat('some.html', (err, stats) => {
    if (err)
        return console.log(err);

    var mode = new StatMode(stats);
    console.log('Mode (string):', mode.toString());
    console.log('Mode (octal):', mode.toOctal());

    console.log('Owner read:', mode.owner.read);
    console.log('Owner write:', mode.owner.write);
    console.log('Owner execute:', mode.owner.execute);
    
    console.log('Group read:', mode.group.read);
    console.log('Group write:', mode.group.write);
    console.log('Group execute:', mode.group.execute);
    
    console.log('Others read:', mode.others.read);
    console.log('Others write:', mode.others.write);
    console.log('Others execute:', mode.others.execute);
});

Sample output:

Mode (string): -rw-rw-rw-
Mode (octal): 0666
Owner read: true
Owner write: true
Owner execute: false
Group read: true
Group write: true
Group execute: false
Others read: true
Others write: true
Others execute: false
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment