Метод chmod - изменение прав доступа к файлу на NodeJS

Метод chmod изменяет права доступа к файлу или папке. В первом параметре указываем нужный нам файл, во втором параметре - режим доступа, в третьем необязательном параметре - коллбэк.

Типы режимов доступа

Константа Код Описание
fs.constants.S_IRUSR 0o400 Чтение только владельцем.
fs.constants.S_IWUSR 0o200 Запись только владельцем.
fs.constants.S_IXUSR 0o100 Извлечь/найти по владельцу файла.
fs.constants.S_IRGRP 0o40 Чтение группой.
fs.constants.S_IWGRP 0o20 Запись группой.
fs.constants.S_IXGRP 0o10 Извлечь/найти по группе.
fs.constants.S_IROTH 0o4 Чтение другими пользователями.
fs.constants.S_IWOTH 0o2 Запись другими пользователями.
fs.constants.S_IXOTH 0o1 Извлечь/найти по другим пользователям.

Синтаксис

fs.chmod(файл, режим доступа, [коллбэк]);

Пример

Давайте через await асинхронно установим права для чтения файла только владельцем:

import fs from 'fs/promises'; try { await fs.chmod('file.txt', 0o400); console.log('read file by owner'); } catch (err) { console.log(err); }

Пример

Теперь давайте через then асинхронно установим права для записи файла только владельцем:

import fs from 'fs/promises'; fs.chmod('file.txt', 0o200).then(() => { console.log('write by owner'); }).catch((err) => { console.log(err); });

Пример

Давайте асинхронно установим доступ к чтению файла группой пользователей через коллбэк:

import fs from 'fs'; fs.chmod('file.txt', 0o40, err => { if (!err) { console.log('read by group'); } else { console.log(err); } });

Пример

Теперь давайте через chmodSync синхронно установим доступ к записи файла группой пользователей:

import fs from 'fs'; try { fs.chmodSync('file.txt', 0o20); console.log('write by group'); } catch (err) { console.log(err); }

Смотрите также

  • метод access,
    который показывает есть ли доступ к файлу
  • метод fchmod,
    который устанавливает права доступа к файлу через файловый дескриптор



Чат с GPT Компилятор