Метод 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);
}