首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
华为云
V2EX  ›  Linux

执行命令 chown -R zhangshan:zhangsan / 这样操作后,不能远程到 ssh 服务器了

  •  
  •   marchDu · 281 天前 · 3202 次点击
    这是一个创建于 281 天前的主题,其中的信息可能已经有所发展或是发生改变。

    同事更改文件夹的所有者时,执行命令写成了 chown -R zhangshan:zhangsan / ,然后看见不停的跑命令后,就把窗口关了,现在导致 所有用户都不能远程 ssh 了,但是之前部署的应用还能正常访问。请问大家有什么解决方案吗

    第 1 条附言  ·  281 天前
    嗯,谢谢大家。忙到现在。因为这是一台代码服务器。gitlab 重装的。gitlab 的角色比较多。其他的坑暂时不知道。因为是代码服务器。大家都要推代码。先这样顶一下。周末有时间加班重装一下。
    第 2 条附言  ·  281 天前
    再补充一下,说明这个问题是怎么发生的。同事的账号没有 sudo 权限。当然他也不知道 sudo 是什么,为了可以在根目录下创建文件。查了百度,就打算把自己的角色付给根目录。看见满屏命令不停。就把 ssh 窗口关了。然后就是大家提交不上代码了。......
    51 回复  |  直到 2018-01-10 16:42:33 +08:00
        1
    zn   281 天前
    作死。。。。
    带启动盘去机房修复权限吧还能怎么办。
        2
    defunct9   281 天前
    有能登录上去的工具么?比如 saltstack 客户端啊,你们部署的应用啊。能就还可以救,不能就只能 resecure 了。
        3
    shapimai   281 天前


    重装吧。
        4
    winglight2016   281 天前
    然后看见不停的跑命令后,就把窗口关了——正常情况不是应该 ctrl+c 吗?

    如果已经关闭用户名密码登录,那只能试试 vps 提供的 web 登录了,不然还可以试试 web ssh 登录
        5
    whx20202   281 天前
    ssh 基本没戏,可以试试 VNC 或者 bmc 之类的工具
    如果还不行,去机房引导启动,修复权限吧,记得找个精通 linux 的
        6
    daya   281 天前 via iPhone
    哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈
        7
    i730   281 天前 via Android
    @daya blocked
        8
    i730   281 天前 via Android
    @Livid #6 认为不用解释了
        9
    187j3x1   281 天前
    这同事还留着过年吗
        10
    jpyl0423   281 天前
    搭车问一下, 大家怎么避免这种情况
    修改权限的时候用绝对路径?
        11
    ihciah   281 天前 via iPhone   ♥ 5
    sudo 不喝酒 喝酒不 sudo
        12
    marchDu   281 天前
    幸好是公司内部的服务器,直接拿个显示器键盘连接到服务器上,执行 chmod -R root:root / 后,就能远程连接了,只是 mysql 还有 gitalab 等一些服务挂了,先导出数据,有时间重装一下。 要是阿里云估计就不好搞了
        13
    daya   281 天前   ♥ 2
    @i730 那么较真干嘛,觉得很好笑不可以?
        14
    anjingme   281 天前
    @marchDu 直接修复权限不就得啦? chown -R mysql.mysql mysql 目录

    基本上可以救回来,不过可能有一些未知问题。
        15
    marchDu   281 天前
    @anjingme 恩。谢谢提醒 现在 mysql 启动起来了
        16
    lucifer9   281 天前
    还好没有用 sudo
        17
    gamexg   281 天前
    @lucifer9 #16 他应该是以 root 身份执行的,否则这个操作基本没危害,只能修改 ~ 下的文件,不会影响所有用户 ssh
    登陆。
        18
    function007   281 天前
    找台相似的貌似可以用 getfacl 和 setfacl 救救
        19
    chengluyu   281 天前
    @i730 有点较真了……
        20
    we000   281 天前   ♥ 1
    @i730 以后 block 人不必要说出来, 喜好而已, 谁就比谁高尚了?

    幸灾乐祸虽然政治不正确但也是人之常情, 我没觉得他怎么样, 道德上问题不大. 反而是自认道德水平高, 自己 block 还要让别人以后说不了话的, 挺法西斯.
        21
    we000   281 天前
    有 console 用 console, 以前的程序或者链接能 root 执行 program 的快做, 都不行的话只能带启动盘去机房了
        22
    firebroo   281 天前
    把 /etc/ssh/ 下面几个文件的 owner 修改回来 ssh 应该就可以用了
        23
    firebroo   281 天前
    我之前误操作改权限和你差不多,最后发现 /etc/ssh/sshd_config 的权限必须是 600,才行 。。我当时改成 777 了
        24
    Orzpls   281 天前 via Android
    @marchDu 以后别这么干。
    还有有些程序不属于 root,你这样做有安全风险。
        25
    zhjits   281 天前
    死于把窗口关了
        26
    ihoey   281 天前 via Android
    之前不小心在服务器 rm -rf /bin 后来就啥也不能干了
        27
    julyclyde   281 天前
    setuid 丢了
        28
    lslqtz   281 天前
    我也想笑。。
        29
    Cu635   281 天前
    最好还是导出数据重装吧,只修复的话又麻烦又没法确认修复的正确。
        30
    marchDu   281 天前 via Android
    嗯,谢谢大家。忙到现在。因为这是一台代码服务器。gitlab 重装的。gitlab 的角色比较多。其他的坑暂时不知道。因为是代码服务器。大家都要推代码。先这样顶一下。周末有时间加班重装一下。
        31
    Rocka   281 天前
    你同事是不是抄了这篇文章的最后一个命令,然后少打了一个 zhangsan

    http://www.cnblogs.com/zendu/p/5595972.html
        32
    hzwjz   281 天前 via Android
    怕不是用 root 用户 ssh 登录的吧🤔
        33
    marchDu   281 天前 via Android
    @hzwjz 对 root 登录的,要不然也执行不了。
        34
    pq   281 天前
    张珊:张三

    这个 sudo 貌似是 Ubuntu 带起来的一股风气,搞得网络上好多文档都在那里 sudo !但传统的习惯,貌似应该 root 是 root,普通用户是普通用户,不相干的,我反正宁愿同时开几个 tty console,第一个固定是 root,其它的开几个普通 id 的,打命令前养成看提示符是#还是$的好习惯。
        35
    xpresslink   281 天前
    没事,你试一下 rm -Rf / 把权限清除了就可以了。
        36
    JanKinAn   281 天前 via Android
    @xpresslink 老哥稳 rm -Rf /xpresslink
        37
    msg7086   280 天前
    @pq 真正的好习惯难道不是先用普通用户跑一遍,权限不够了再补 sudo 提权吗。
        38
    pony279   280 天前
    > 周末有时间加班重装一下

    真是心酸
        39
    fox0001   280 天前
    猪队友…
        40
    wd   280 天前 via iPhone
    辞掉吧
        41
    zzblack   280 天前   ♥ 1
    “同事的账号没有 sudo 权限”,“当然他也不知道 sudo 是什么”
    。。。
    这样的也能放他出来干活?回炉重造一下吧
        42
    tailf   280 天前
    不懂 sudo 的同事也能操作服务器,这就是 leader 的锅了
        43
    shapimai   280 天前
    @ihciah 哈哈哈哈哈哈哈
        44
    hzwjz   280 天前
    @marchDu #33 怎么不给一个不在 root 组,不具备使用 sudo 的普通用户呢?
        45
    i730   280 天前 via Android
    @we000 好好,正常是吧。
    我祝你 bug 一堆,服务器爆炸,说错话,丢工作,流浪街头被人砍。
    遇到你以后我会说 哈哈哈哈哈哈哈哈哈哈
        46
    q397064399   280 天前
    @i730 哈哈哈哈哈哈哈 玻璃心 已 blocked
        47
    RootooR   280 天前
    怎么可以把 / 的权限全都改成普通用户的权限呢??????
    怎么可以这样!!!!!
    /etc/下面的 tls 目录中的所有的 key 文件和 certificate 文件,都肯定是要 root 只读,别的用户是不能有权限的。如果有,肯定 ssh server 会拒绝信任。
    为什么要给一个不知道 linux 怎么用的人 sudo 的权限呢?这个 server 只能重装了。
    这台机器上的所有的数据,都是这个人的权限了。
    要完全修复,重装系统,导入原来的 gitlab 数据,把原来的 gitlab 数据改回到应该的文件权限和 owner。
    目测,懂 Linux 的人来弄,2 天
    你这个同事来弄,2 年。
        48
    julyclyde   279 天前
    su 和 sudo (等很多)命令本身必须是 setuid 的
    chown 之后 setuid 会掉

    备份数据老老实实重装,别妄图在废墟里修出来
        49
    we000   279 天前
    @i730 本来你还是所谓道德的, 不希望别人被嘲笑. 现在你又开始诅咒别人被砍, 让自己站在了极其不道德的一方. 正验证了我说的"谁也没有比谁就高尚了", 您都诅咒别人了, 更没资格指责其他人幸灾乐祸了.

    关怀的眼神...
        50
    yhxx   279 天前
    @i730 已 block
        51
    i730   279 天前 via Android
    @we000 不不不,这是您的“正确思想”
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   856 人在线   最高记录 3762   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.1 · 22ms · UTC 18:26 · PVG 02:26 · LAX 11:26 · JFK 14:26
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1