當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Node.js fs.chmod(path, mode, callback)用法及代碼示例


fs.chmod(path, mode, callback)

曆史
版本變化
v18.0.0

將無效回調傳遞給 callback 參數現在會拋出 ERR_INVALID_ARG_TYPE 而不是 ERR_INVALID_CALLBACK

v10.0.0

callback 參數不再是可選的。不通過它將在運行時拋出TypeError

v7.6.0

path 參數可以是使用 file: 協議的 WHATWG URL 對象。

v7.0.0

callback 參數不再是可選的。不通過它將發出帶有 ID DEP0013 的棄用警告。

v0.1.30

添加於:v0.1.30


參數

異步更改文件的權限。除了可能的異常之外,沒有為完成回調提供任何參數。

有關更多詳細信息,請參閱 POSIX chmod(2) 文檔。

import { chmod } from 'node:fs';

chmod('my_file.txt', 0o775, (err) => {
  if (err) throw err;
  console.log('The permissions for file "my_file.txt" have been changed!');
});

文件模式#

fs.chmod()fs.chmodSync() 方法中使用的 mode 參數是使用以下常量的邏輯 OR 創建的數字位掩碼:

持續的八進製說明
fs.constants.S_IRUSR0o400所有者閱讀
fs.constants.S_IWUSR0o200樓主寫的
fs.constants.S_IXUSR0o100按所有者執行/搜索
fs.constants.S_IRGRP0o40分組閱讀
fs.constants.S_IWGRP0o20按組寫
fs.constants.S_IXGRP0o10按組執行/搜索
fs.constants.S_IROTH0o4 other 讀
fs.constants.S_IWOTH0o2 other 寫的
fs.constants.S_IXOTH0o1由他人執行/搜索

構造 mode 的一種更簡單的方法是使用三個八進製數字的序列(例如 765 )。 left-most 數字(示例中為 7)指定文件所有者的權限。中間數字(示例中為6)指定組的權限。 right-most 數字(示例中為 5)指定其他人的權限。

數字說明
7讀、寫和執行
6讀和寫
5讀取並執行
4隻讀
3編寫和執行
2隻寫
1隻執行
0沒有許可

例如,八進製值 0o765 表示:

  • 所有者可以讀取、寫入和執行文件。
  • 該組可以讀取和寫入文件。
  • 其他人可以讀取並執行該文件。

在需要文件模式的情況下使用原始數字時,任何大於 0o777 的值都可能導致不支持一致工作的特定於平台的行為。因此,S_ISVTXS_ISGIDS_ISUID 等常量不會在 fs.constants 中公開。

注意事項:在Windows上隻能更改寫權限,不區分組、所有者或其他權限。

相關用法


注:本文由純淨天空篩選整理自nodejs.org大神的英文原創作品 fs.chmod(path, mode, callback)。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。