新手求助,Mac下权限如何正确使用?

2013-12-25 10:11:27 +08:00
 emohacker
我是刚入Mac的OS X小白

问题:
大家平时做开发时如何使用权限?
是直接获取Root权限,还是保持系统默认特殊情况特殊处理?

场景:
最近安装node之后再通过npm -g去安装一些全局的包,结果安装失败,网上说要改下权限

把 /uer/local 的owner 改成当前用户的

结果改了之后 shell 启动不起来了 ,解决办法是用磁盘工具修复权限。
根据这个帖子解决的 http://www.v2ex.com/t/25671
6325 次点击
所在节点    macOS
9 条回复
alexrezit
2013-12-25 12:04:40 +08:00
不要乱改就好了... sudo npm 不行?
laiqs2011
2013-12-25 12:39:20 +08:00
npm global 安装是需要权限的,直接加sudo就行了

需要的时候才sudo
wengebin
2013-12-25 13:39:24 +08:00
偶来了!

不要用 root 去装软件,因为 root 装完后 owner 是 root、权限是 755,其他用户可能没法运行,因为没法 write,所以老老实实用 sudo 吧

你貌似打错啥了,/uer/local 是 /usr/local ...
你把 /usr/local 整个目录改成当前用户,不死才怪!
改权限后休想再启动那些 owner 必须为 root 的应用

还算好,没人告诉你直接 chown -R xxx /
你现在不然就重装系统,不然就磁盘恢复去吧,不然就对照同系统中 /usr/local 目录一个个改权限...哈哈,我要乐坏了

你写代码可以直接用 root 没关系,装应用不要这么干,除非你所有环境都是 root,事实上也不会吧?
dorentus
2013-12-25 13:55:16 +08:00
@wengebin
同意不到万不得已不要用 root。

不过,

sudo 弄完一般 owner 还一样是 root 吧……

OS X 的 /usr/local 原本不存在/没内容,随意改一点问题都没有的

像 homebrew 就建议直接把 /usr/local 的 owner 设置为当前用户(即 chown -R `whoami` /usr/local),一点问题都不会有。


楼主的 shell 不能启动,估计是把 /usr 目录的权限覆盖了吧。
wengebin
2013-12-25 14:14:32 +08:00
@dorentus

sudo 确实是 root,没说不是,但仅在需要 root 权限的时候 sudo 可避免所有包 owner 为 root

/usr/local 如果没有内容倒是没问题,一旦有其他依赖 root 的应用就会受到牵连而无法启动(linux 用户表示常见),不同用户使用方式不同,比如你在使用 homebrew 用到 local,他的 npm 也有用到,或者其他 app,但权限需求可能不一致,重度 os 用户 app 较多,不要轻易将 local 整体修改权限,针对性修改更可取
emohacker
2013-12-25 21:09:45 +08:00
@dorentus 你答对鸟,因为改了 /usr/local之后木用,我就改鸟 /usr ......
emohacker
2013-12-25 21:10:31 +08:00
@wengebin 擦,你娃最近赶脚活儿不多呀
Milktry
2013-12-27 09:54:20 +08:00
……
wengebin
2014-02-26 00:56:17 +08:00
@emohacker 哦!我反射弧又长了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/94469

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX