В Node метод fs.stat
возвращает объект fs.Stats
, и я могу получить разрешение файла через свойство fs.Stats.mode
.
Вот реальный вывод из Node и оболочки для тех же каталогов:
node shell
17407 d rwx rwx rwt
16877 d rwx r-x r-x
16749 d r-x r-x r-x
16832 d rwx --- ---
Мне нужно знать, как разбирать номер fs.Stats.mode
, чтобы получить разрешения.
Ответ
Число находится в восьмеричной числовой системе, после преобразования в десятичную строку выглядит следующим образом:
17407 41777 d rwx rwx rwt
16877 40755 d rwx r-x r-x
16749 40555 d r-x r-x r-x
16832 40777 d rwx --- ---
И переход от восьмеричной к десятичной системе выглядит следующим образом:
parseInt(stat.mode.toString(8), 10)
Отличное руководство по разрешению файлов в Linux - https://www.linux.com/learn/understanding-linux-file-permissions