Node umask設定
Nodejs umask設定方式,可以直接用process.umask來設定
P.S. 如果不懂umask在做什麼,可以參考鳥哥的文章
http://linux.vbird.org/linux_basic/0220filemanager.php#umask
var express = require('express'),
socket_path = '/tmp/express_node.sock',
fs = require('fs'),
// 設定新的umask,並且return舊的umask的設定值到oldUmask
// 我的系統的umask原本是0002 然後改成0000
oldUmask = process.umask(0000);
var app = express();
app.get('/', function (req, res) {
res.send('Hello from Worker ');
});
app.listen(socket_path).on('listening',function(){
// 這邊檔案的權限會是 -rw-rw-rw-
fs.writeFile('/tmp/test1.txt', 'Hello', function(err){
if(err) throw err;
console.log('it saved');
});
process.umask(oldUmask); // 重新回復umask
function testx(){
var fs = require('fs');
// 這邊檔案的權限會是 -rw-rw-r--
fs.writeFile('/tmp/test2.txt', 'Hello', function(err){
if(err) throw err;
console.log('it saved');
});
}
process.nextTick(testx);
});
P.S. 如果不懂umask在做什麼,可以參考鳥哥的文章
http://linux.vbird.org/linux_basic/0220filemanager.php#umask
var express = require('express'),
socket_path = '/tmp/express_node.sock',
fs = require('fs'),
// 設定新的umask,並且return舊的umask的設定值到oldUmask
// 我的系統的umask原本是0002 然後改成0000
oldUmask = process.umask(0000);
var app = express();
app.get('/', function (req, res) {
res.send('Hello from Worker ');
});
app.listen(socket_path).on('listening',function(){
// 這邊檔案的權限會是 -rw-rw-rw-
fs.writeFile('/tmp/test1.txt', 'Hello', function(err){
if(err) throw err;
console.log('it saved');
});
process.umask(oldUmask); // 重新回復umask
function testx(){
var fs = require('fs');
// 這邊檔案的權限會是 -rw-rw-r--
fs.writeFile('/tmp/test2.txt', 'Hello', function(err){
if(err) throw err;
console.log('it saved');
});
}
process.nextTick(testx);
});
留言