How to use the chown function from fs

Find comprehensive JavaScript fs.chown code examples handpicked from public code repositorys.

10
11
12
13
14
15
16
17
18
19
简单统计一下,fs提供了下面这么多种使用的文件操作方法:

* fs.access(): 检查文件是否存在,以及 Node.js 是否有权限访问。
* fs.appendFile(): 追加数据到文件。如果文件不存在,则创建文件。
* fs.chmod(): 更改文件(通过传入的文件名指定)的权限。相关方法:fs.lchmod()、fs.fchmod()。
* fs.chown(): 更改文件(通过传入的文件名指定)的所有者和群组。相关方法:fs.fchown()、fs.lchown()。
* fs.close(): 关闭文件描述符。
* fs.copyFile(): 拷贝文件。
* fs.createReadStream(): 创建可读的文件流。
* fs.createWriteStream(): 创建可写的文件流。
fork icon192
star icon570
watch icon16

+ 5 other calls in file

600
601
602
603
604
605
606
607
608
609
  assert.strictEqual(err.code, 'ENOENT');
  assert.strictEqual(err.syscall, 'chown');
  return true;
};

fs.chown(nonexistentFile, process.getuid(), process.getgid(),
         common.mustCall(validateError));

assert.throws(
  () => fs.chownSync(nonexistentFile,
fork icon42
star icon19
watch icon0

421
422
423
424
425
426
427
428
429
430
if (this[DOCHOWN](entry)) {
  actions++
  const uid = this[UID](entry)
  const gid = this[GID](entry)
  fs.fchown(fd, uid, gid, er =>
    er ? fs.chown(abs, uid, gid, er2 => done(er2 && er))
    : done())
}

done()
fork icon3
star icon2
watch icon0

36
37
38
39
40
41
42
43
44
45
46
}


function chown({ uid, gid }) {
  const fs = require('fs');
  fs.writeFileSync('fs2.txt', '123', 'utf8');
  fs.chown('fs2.txt', uid, gid, () => {
    fs.unlinkSync('fs2.txt');
  });
}

fork icon0
star icon0
watch icon0

+ 2 other calls in file

37
38
39
40
41
42
43
44
45
46
47
    // fs.lchown, which would always try to call fs.open on a directory
    // Fall back to fs.chown in those cases.
    if (!er || er.code !== 'EISDIR')
      cb(er)
    else
      fs.chown(path, uid, gid, cb)
  }
  : (_, __, ___, cb) => cb


/* istanbul ignore next */
fork icon0
star icon0
watch icon0

20
21
22
23
24
25
26
27
28
29
30
  );
});


[false, 'test', {}, [], null, undefined].forEach((i) => {
  assert.throws(
    () => fs.chown('not_a_file_that_exists', i, 1, common.mustNotCall()),
    {
      code: 'ERR_INVALID_ARG_TYPE',
      name: 'TypeError'
    }
fork icon0
star icon0
watch icon0

+ 5 other calls in file