Articles of 权限

docker-node:作为非root用户运行,文件权限

遵循docker-node的最佳实践 ,我想以非root用户的身份运行我的节点应用程序。 build议如下: FROM node:6.10.3 … # At the end, set the user to use when running this image USER node 我简化的Dockerfile目前看起来像这样: FROM node:6.10.3 WORKDIR /opt/app COPY package.json . RUN npm install COPY . . EXPOSE 3000 USER node CMD ["node", "server.js"] 因此,在映像构build期间添加的所有文件都由root拥有,但node server.js node作为node用户运行。 这似乎工作正常。 我的问题:是否有任何额外的安全好处chown文件,以便他们属于node而不是root ? 即做类似的事情: RUN chown -R node:node .

如何写入全局安装的Node模块中的文件?

上下文 我正在开发一个作为CLI可执行文件安装的Node模块 。 因此,我打包使用NPM, build议 全球安装。 问题 但是,作为一个CLI程序,我想写一个日志文件。 这在本地安装中工作正常,但在全局安装中当然不太好:将程序放在/usr/local/lib/… ,NPM必须以sudo身份运行。 然后,当用户尝试运行该工具时,由于EACCES而失败:日志文件夹和文件无法创build。 采取的步骤 我成功地使用了postinstall脚本来创build日志目的地,同时仍然是su( mkdir log && touch log/execution.log ),但这些文件被nobody拥有,并且可能不会被该工具打开。 问题转移了一下,但结果是完全一样的。 题 有没有办法让NPM模块有权在自己的目录中写入? 更具体的问题 你会怎么build议我的情况? 我想到了以下解决scheme: 在执行CWD中写入日志文件。 这是丑陋的,并不安全,因为CWD也不可写。 将日志文件写入预设的可写日志文件,如~/.mytool/log ,但我不喜欢遍布用户的机器传播文件。 询问用户一个日志文件的目的地。 非常讨厌。 chmod 666全局日志文件。 不丑,但不安全。 处理这个问题有没有普遍的做法?

grunt.js(一个node.js构build工具)不会创build目录或文件。 是否与权限相关?

我们使用grunt.js作为构build工具。 在我们的开发机器之一(MacOS Mountain Lion)上,grunt正在运行,但似乎没有创build任何文件和目录。 另一个与特定机器不同的是,当我们使用NPM来安装一些插件的时候,我们不得不使用sudo npm ,否则我们有权限错误。 我们检查了父目录的权限,尝试了不同的东西 – 没有任何效果。 NodeJs仍然不会创build任何文件或目录。 有任何想法吗? 更新: 显然,html压缩机的grunt插件需要grunt 1.4作为依赖。

具有sails-permissions的标准许可

我已经创build了一个分配标准的权限,但是它总是导致一个404 Not found ,表明没有允许的logging。 从日志的输出中可以看出, criteria是{ group: 1 } ,在group = 1地方有一条logging,所以应该返回一条logging,你可以看到permitted.lenth等于0 。 有谁熟悉的风帆权限能够build议这是否是正确的? 日志输出 silly: PermissionPolicy: 1 permissions grant read on Issue for johnsmith info: responsePolicy silly: data [ { items: [ { owner: 1, group: 1, id: 1, title: 'An important issue', open: true, createdAt: '2015-08-24T18:17:32.580Z', updatedAt: '2015-08-24T18:17:32.586Z' }, { owner: 3, group: […]

确定用户在查询中的每个对象的权限?

我们正在devise一个协作软件数据库结构并使用MEAN堆栈,而我缺乏ACL权限的经验也提示了这个问题。 高层次,软件是供合作者和审计人员在项目中工作/查看任务的。 MongoDB中的“Project”实体/表用于pipe理ACL组。 每个项目都有一个用户指针的“Collaborator”数组和一个用户指针的“Auditor”数组。 Collaborators数组中的用户被添加到具有读/写访问权限的项目“Collaborator”ACL组中,Auditors数组中的用户被添加到只读的项目auditor acl组中。 在MongoDB中还有另一个名为“Task”的实体,每个任务都绑定到一个,只有一个项目。 一个项目可以有多个任务。 任务获取的项目添加到它的协作ACL组和审计员ACL组。 所有这一切都很好。 现在,用户Bob是项目A上的协作者,项目B上是审计者。如果Bob在数据库中查询任务,他将返回他可以读写的任务(项目A)以及他只能读取的任务(项目B)。 但是,前端如何知道哪些任务他有写权限,哪些只读? 因为前端仅需要在用户具有写入权限的任务旁边显示“编辑”button。 我在ACL权限中看到,我可以执行一个调用来检查用户是否对单个对象具有写权限,但是这是针对每个对象的,并且对于每个对象执行额外的调用将会影响性能,即使它是在服务器上完成之前发送初始查询响应。 我可以用“AND当前用户权限包含写入”这样的filter来查询mongo中的任务实体组吗? 或者如何处理?

从node.js脚本中禁用sudo / root权限

我需要在我的node.js应用程序中使用sudo权限在端口80上运行服务器,或者运行一些其他启动pipe理的东西。 但是,当我这样做,我不希望这个特权了,因为那么我会从node_modules运行一些外部库。 那么,我怎样才能从node.js脚本中禁用我的pipe理权限呢?

如何解决错误:在运行Karma时产生Jenkins上的EACCES?

我已经设置了AWS Codepipeline。 该pipe道使用Git作为源,Jenkins进行testing,并使用EC2实例进行部署。 该项目是基于Angular Class的Angular Starter 。 因此,它使用Karma进行unit testing。 Jenkins服务在Ubuntu 16.04上运行。 Karma使用Headless Chrome进行testing。 问题是我目前在Jenkins上运行testing时遇到以下错误: [31m07 05 2017 14:30:35.779:ERROR [karma]: [39m{ Error: spawn EACCES at exports._errnoException (util.js:1050:11) at ChildProcess.spawn (internal/child_process.js:319:11) at exports.spawn (child_process.js:378:9) at spawnWithoutOutput (/var/lib/jenkins/workspace/ExampleTask/node_modules/karma/lib/launchers/process.js:168:24) at Object.ProcessLauncher._execCommand (/var/lib/jenkins/workspace/ExampleTask/node_modules/karma/lib/launchers/process.js:76:21) at Object.ProcessLauncher._start (/var/lib/jenkins/workspace/ExampleTask/node_modules/karma/lib/launchers/process.js:33:10) at Object.<anonymous> (/var/lib/jenkins/workspace/ExampleTask/node_modules/karma/lib/launchers/process.js:19:10) at emitOne (events.js:101:20) at Object.emit (events.js:191:7) at Object.BaseLauncher.start (/var/lib/jenkins/workspace/ExampleTask/node_modules/karma/lib/launchers/base.js:42:10) at Object.j […]

sudo npm安装给我一个访问被拒绝

我正在使用离子,我已经通过git从machine1到machine2取得了我的项目。 我的离子信息给了我这个: [错误] ./node_modules/@ionic/app-scripts/package.json文件出错:FILE_NOT_FOUND cli软件包:( / usr / local / lib / node_modules) @ionic/cli-utils : 1.19.0 ionic (Ionic CLI) : 3.19.0 本地套餐: @ionic/app-scripts : not installed Ionic Framework : ionic-angular 3.7.1 系统: Node : v8.9.1 npm : 5.5.1 OS : macOS High Sierra 其他: backend : pro 当我运行sudo npm install ,出现以下情况: npm WARN checkPermissions对/ Users […]

Rails 3 – 权限错误和奇怪的TypeError

尝试打开我的网页上的VDS,然后得到: We're sorry, but something went wrong. We've been notified about this issue and we'll take a look at it shortly. 所以,这里是日志: Started GET "/" for 176.14.194.67 at 2012-01-20 20:39:10 +0300 Processing by PagesController#home as HTML Rendered pages/_unauthorize_home.html.erb (4.0ms) Rendered pages/home.html.erb within layouts/application (36.0ms) Compiled blueprint/screen.css (0ms) (pid 2376) Rendered layouts/_stylesheets.html.erb (16.0ms) Completed 500 Internal […]

通过Facebook的graphics节点JS发布post

我目前正在寻找通过创build一个自定义应用程序,使我可以轻松发布我的Facebook页面(不是我的个人时间表)的状态更新自动化一些任务。 我的后端在NodeJS上运行。 我的客户端代码具有以下内容: window.fbAsyncInit = function() { FB.init({ appId : 'xxxxxxxxxxxxx', // App ID channelUrl : '//xxxxxxxxxxx, // Channel File status : true, // check login status cookie : true, // enable cookies to allow the server to access the session xfbml : true // parse XFBML }); // Additional init code here FB.getLoginStatus(function(response) { […]