V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
emohacker
V2EX  ›  macOS

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

  •  
  •   emohacker · 2013-12-25 10:11:27 +08:00 · 6296 次点击
    这是一个创建于 3988 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我是刚入Mac的OS X小白

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

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

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

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

    需要的时候才sudo
    wengebin
        3
    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
        4
    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
        5
    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
        6
    emohacker  
    OP
       2013-12-25 21:09:45 +08:00
    @dorentus 你答对鸟,因为改了 /usr/local之后木用,我就改鸟 /usr ......
    emohacker
        7
    emohacker  
    OP
       2013-12-25 21:10:31 +08:00
    @wengebin 擦,你娃最近赶脚活儿不多呀
    Milktry
        8
    Milktry  
       2013-12-27 09:54:20 +08:00 via iPhone
    ……
    wengebin
        9
    wengebin  
       2014-02-26 00:56:17 +08:00 via iPhone
    @emohacker 哦!我反射弧又长了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1206 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 18:22 · PVG 02:22 · LAX 10:22 · JFK 13:22
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.