V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
dhnUphp
V2EX  ›  Linux

在装 hadoop 时,为了加用户我把 etc/sudoers 的文件权限改成了 777。然后 sudo 就不能用了,所以我就要切换到 root 权限下,可是 sudo 不能用且 su root 提示验证不对,就是这样一个死锁。

  •  
  •   dhnUphp · May 26, 2014 · 7571 views
    This topic created in 4357 days ago, the information mentioned may be changed or developed.
    遇到了一个很麻烦的问题,在装 hadoop 时,为了加用户,我把 Ubuntu 下 etc/sudoers 的文件权限改成了 777 。然后 sudo 就不能用了,所以我就要切换到 root 权限下,可是 sudo 不能用且 su root 提示 Authentication failure,就是验证不对,就是这样一个死锁。 有没有人遇到过这个问题。急求。。。。
    24 replies    2014-05-27 07:11:11 +08:00
    blacktulip
        1
    blacktulip  
       May 26, 2014
    直接用 root 登錄也不行麼?
    notsobad
        2
    notsobad  
       May 26, 2014
    单用户模式启动吧,然后修复文件权限
    haijd
        3
    haijd  
       May 26, 2014   ❤️ 1
    为什么不用 visudo 来修改 sudoers?
    Livid
        4
    Livid  
    MOD
    PRO
       May 26, 2014   ❤️ 2
    把权限改成 777 是个坏习惯。
    dhnUphp
        5
    dhnUphp  
    OP
       May 26, 2014
    @blacktulip 怎么直接用root 登录啊
    dhnUphp
        6
    dhnUphp  
    OP
       May 26, 2014
    @notsobad 求具体点。。。急
    ETiV
        7
    ETiV  
       May 26, 2014
    777 不是谁都可写么, 不加 sudo 把它改成 660 ?
    ETiV
        8
    ETiV  
       May 26, 2014
    哦不行... 权限修改不受控制
    clowwindy
        10
    clowwindy  
       May 26, 2014
    用 live CD 启动挂载文件系统改权限。
    chilaoqi
        11
    chilaoqi  
       May 26, 2014
    我印象中 sudoers这个文件里面介绍了怎么修改和恢复。
    chilaoqi
        12
    chilaoqi  
       May 26, 2014
    aha,
    # This file MUST be edited with the 'visudo' command as root.
    #See the man page for details on how to write a sudoers file.

    当然,可以通过grub的command mode 和 liveCD 重新挂载,修改
    lm902
        13
    lm902  
       May 26, 2014 via iPhone
    @Livid 就是,所以我都是改成4777
    sandtears
        14
    sandtears  
       May 26, 2014
    以后要修改 /etc/sudoer 的时候记得打开一个 root shell 备用
    rebornix
        15
    rebornix  
       May 26, 2014
    单用户模式可以解决问题。网上一搜一丢的教程。
    luahou
        16
    luahou  
       May 26, 2014
    前不久公司就出现开发要装东西sudo后把整个根都改成777 最后还好有一台机子登了root 才挽救回来
    dhnUphp
        17
    dhnUphp  
    OP
       May 26, 2014
    恩恩 单用户模式确实一下子就秒杀了
    advancedxy
        18
    advancedxy  
       May 26, 2014
    @luahou 你们这个开发够牛逼的.. sa 居然也给了 sudo 权限给开发...
    ToughGuy
        19
    ToughGuy  
       May 26, 2014
    直接 su
    tmqhliu
        20
    tmqhliu  
       May 27, 2014
    ## sudoers file.
    ##
    ## This file MUST be edited with the 'visudo' command as root.
    ## Failure to use 'visudo' may result in syntax or file permission errors
    ## that prevent sudo from running.
    ##
    ## See the sudoers man page for the details on how to write a sudoers file.
    ##

    修复的话可以用 Live CD 启动,挂载文件系统后随便改
    以后记得要用 visudo 命令来修改
    eb0c6551
        21
    eb0c6551  
       May 27, 2014 via iPad
    引用

    我觉得为了免去责任,一个系统必须提供切实的保障措施,而不只是口头上的约定来要求用户“小心”。就像如果你在街上挖个大洞施工,必须放上路障和警示灯。你不能只插一面小旗子在那里,用一行小字写着: “前方施工,后果自负。”我想每一个正常人都会判定是施工者的错误。

    可是 Unix 对于它的用户却一直是像这样的施工者,它要求用户:“仔细看 man page,否则后果自负。”其实不是用户想偷懒,而是这些条款太多,根本没有人能记得住。而且没被咬过之前,谁会去看那些偏僻的内容啊。但是一被咬,就后悔都来不及。完成一个简单的任务都需要知道这么多可能的陷阱,那更加复杂的任务可怎么办。其实 Unix 的这些小问题累加起来,不知道让人耗费了多少宝贵的时间。
    dorentus
        23
    dorentus  
       May 27, 2014 via iPhone
    @eb0c6551 但是上面那个文件开头以及说得很详细了(唯一的缺点是用的是英文)。

    实际上,普通用户,无论是通过别人告诉也好,看手册自己摸索也好,都应该是通过 visudo 命令才知道 /etc/sudoer 这个文件的存在的才对。

    777 的问题也是,所以罪魁祸首是某些误导全开的指南文章吧,我觉得。

    另外,要阻止误操作,必然要加限制。而在某些情况下,需要绕过这些限制手动操作;类似的比如在 windows 下,用管理员权限改注册表玩,把自己搞死的事情,也是有的…

    最后,楼主这种情况,按系统设计者的预期,有两种原因,一是误操作、而是系统被人故意入侵破坏,这时,要求只能在有物理接触的前提下才能实施的进单用户模式修复的策略很合理吧。
    forest520
        24
    forest520  
       May 27, 2014 via Android
    hadoop只要把安装目录权限改成700就可以了
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2442 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 54ms · UTC 05:10 · PVG 13:10 · LAX 22:10 · JFK 01:10
    ♥ Do have faith in what you're doing.