V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
angelface
V2EX  ›  问与答

升级完OSX 10.9后,执行su命令输入完密码后进入的是一个普通用户的shell,并不是root,以前一直是正常的,大家帮忙,看了/etc/pam.d/su没啥异常,/etc/passwd也正常,谢谢!

  •  
  •   angelface · 2013-11-14 15:31:43 +08:00 · 7391 次点击
    这是一个创建于 4025 天前的主题,其中的信息可能已经有所发展或是发生改变。
    25 条回复    1970-01-01 08:00:00 +08:00
    yuelang85
        1
    yuelang85  
       2013-11-14 15:36:50 +08:00
    sudo su?
    angelface
        2
    angelface  
    OP
       2013-11-14 15:37:29 +08:00
    @yuelang85 不行,试过了。我感脚好神奇。
    cdfmr
        3
    cdfmr  
       2013-11-14 16:33:09 +08:00
    sudo -s
    angelface
        4
    angelface  
    OP
       2013-11-14 16:45:17 +08:00
    @cdfmr sodu -s 和 su [输入正确的密码] 后一样,切换到/bin/sh 然后 提示符仍然是"$"并不是root的"#",这时甚至:cd /User/xxx/Downloads都会提示: “cd: Downloads/: Permission denied”
    angelface
        5
    angelface  
    OP
       2013-11-14 17:57:30 +08:00
    哪位大神遇到过这样的问题? 主要是没时间重装系统。
    yuelang85
        6
    yuelang85  
       2013-11-14 18:27:42 +08:00
    whoami?
    pfitseng
        7
    pfitseng  
       2013-11-14 18:50:55 +08:00 via Android
    su -
    dhysum
        8
    dhysum  
       2013-11-14 19:37:58 +08:00
    sudo su -
    angelface
        9
    angelface  
    OP
       2013-11-14 19:49:38 +08:00
    @pfitseng 不管用,
    @yuelang85 是root的
    angelface
        10
    angelface  
    OP
       2013-11-14 19:51:22 +08:00
    @dhysum sudo su - 这个也是一样的效果,

    其实是这样的 我原来一直是好好的, 只要执行su [输入密码]就可以了,只是升级完10.9才这样,
    angelface
        11
    angelface  
    OP
       2013-11-14 19:56:39 +08:00
    还有个奇怪的事情, 不知道你们遇到没, 我升级完10.9后, 登录的时候,有三个用户:1.System Administrator 2.我一直用的管理员账号 3.Guest User,第一个是升级后多出来的, 不知道是不是这个原因。
    yuelang85
        12
    yuelang85  
       2013-11-14 20:34:11 +08:00
    @angelface 如果是root的,那就说明你用户切换没问题。

    Guest User是正常的,不用理会,真要不爽,系统预置,用户与群组,可以关掉客人帐户
    zxy
        13
    zxy  
       2013-11-14 20:59:31 +08:00
    sudo su 输入密码, ok
    gihnius
        14
    gihnius  
       2013-11-14 21:11:46 +08:00
    sudo su 可以
    直接 su 不行了。
    有没有发现 purge 也要 root 权限了
    angelface
        15
    angelface  
    OP
       2013-11-14 21:53:15 +08:00
    @zxy
    @gihnius sudo su也是不行, 我另一台直接su就行, 不用sudo




    @yuelang85 whoami确实是root用户,但就是没有权限,提示符也是"$"
    ritksm
        16
    ritksm  
       2013-11-14 22:02:48 +08:00
    修复磁盘权限?
    angelface
        17
    angelface  
    OP
       2013-11-14 22:39:21 +08:00
    @ritksm 磁盘修复过了,但应该不是这个问题。
    faceair
        18
    faceair  
       2013-11-14 22:57:30 +08:00
    /etc/passwd里面是这样?
    root:x:0:0:root:/root:/bin/bash
    angelface
        19
    angelface  
    OP
       2013-11-14 23:03:35 +08:00
    @faceair
    root:*:0:0:System Administrator:/var/root:/bin/sh

    这个应该没问题
    angelface
        20
    angelface  
    OP
       2013-11-14 23:26:15 +08:00
    明天早上要是还搞不定, 就重装~
    yuelang85
        21
    yuelang85  
       2013-11-14 23:36:55 +08:00
    @angelface 提示符不是问题,这个是$PS1变量设置的。
    faceair
        22
    faceair  
       2013-11-14 23:37:22 +08:00
    @angelface /bin/bash != /bin/sh ,应该就是这个问题 你改了试下
    angelface
        23
    angelface  
    OP
       2013-11-15 07:39:48 +08:00
    @faceair 不是这个总是, osx 都是root到/bin/sh的,

    @yuelang85 嗯, 光是提示符确实不是总是,主要是, 我的权限同样也是没有,一操作就Permission Denied.
    angelface
        24
    angelface  
    OP
       2013-11-15 11:51:05 +08:00
    发现root的uid被改为了217 但/etc/passwd中还是0,只有通过id查看才发现是217,但ms这人问题无解了,要修改/etc/passwd需要root权限,但我现在没有root权限。。。
    angelface
        25
    angelface  
    OP
       2013-11-15 22:27:55 +08:00
    哈哈哈哈, 我太牛B了, 居然搞定了。

    分享一下方法:

    root的uid变成了217,但是编辑/etc/master.passwd需要root权限,但root现在是个普通用户了,是个死循环,执行:dscl . change '/Users/root' 'UniqueID' '217' '0'也不行, 会提示:<main> attribute status: eDSPermissionError
    <dscl_cmd> DS Error: -14120 (eDSPermissionError),但是可以这样执行:
    sudo -u '#0' dscl . change '/Users/root' 'UniqueID' '217' '0'就OK了,
    至于'#0'别问我, 我也不知道是啥原理, 我就知道这个可以以uid为0的权限执行命令。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2944 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 00:35 · PVG 08:35 · LAX 16:35 · JFK 19:35
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.