Как проверить права доступа к папке

Я пытаюсь обработать некоторые каталоги по определенному пути. один из каталогов содержит несколько папок. на самом деле у меня нет доступа ко всем этим папкам, потому что некоторые из них принадлежат мне, а другие принадлежат другим пользователям.

мой вопрос, есть ли способ в javascript проверить права доступа к определенной папке? потому что я хочу сначала проверить, есть ли у меня доступ для открытия и просмотра содержимого этой папки или нет. если у меня есть к нему доступ, то логика продолжится. если у меня нет прав открывать эту папку, то я сделаю что-то другое.

пожалуйста, дайте мне знать, как проверить мои права доступа к папке или файлу

Примечание.

Я использую Убунту


person LetsamrIt    schedule 13.06.2018    source источник
comment
Возможный дубликат Как проверить права доступа к файлам с помощью node.js?   -  person Niroshan Ranapathi    schedule 13.06.2018


Ответы (2)


попробуй это

var fs = require('fs');

fs.access(__dirname, fs.constants.R_OK, function(err) {
  if(err){
    console.error("can't read");
    process.exit(1);
  }

  console.log("can read");
  process.exit(0);
});

таким же образом вы можете проверить доступ к записи и исполняемому файлу

документацию можно найти здесь

person Roledenez    schedule 13.06.2018

Вы можете использовать fs для своей задачи

var file= 'test.text'

// Check if the file exists in the current directory.
fs.access(file, fs.constants.F_OK, (err) => {
  console.log(`${file} ${err ? 'does not exist' : 'exists'}`);
});

// Check if the file is readable.
fs.access(file, fs.constants.R_OK, (err) => {
  console.log(`${file} ${err ? 'is not readable' : 'is readable'}`);
});

// Check if the file is writable.
fs.access(file, fs.constants.W_OK, (err) => {
  console.log(`${file} ${err ? 'is not writable' : 'is writable'}`);
});

// Check if the file exists in the current directory, and if it is writable.
fs.access(file, fs.constants.F_OK | fs.constants.W_OK, (err) => {
  if (err) {
    console.error(
      `${file} ${err.code === 'ENOENT' ? 'does not exist' : 'is read-only'}`);
  } else {
    console.log(`${file} exists, and it is writable`);
  }
});

Подробнее

person Niroshan Ranapathi    schedule 13.06.2018