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

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

  •  
  •   marchDu · 2018-01-08 16:37:23 +08:00 · 5632 次点击
    这是一个创建于 2518 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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


    重装吧。
    winglight2016
        4
    winglight2016  
       2018-01-08 16:48:20 +08:00
    然后看见不停的跑命令后,就把窗口关了——正常情况不是应该 ctrl+c 吗?

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

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

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

    http://www.cnblogs.com/zendu/p/5595972.html
    hzwjz
        32
    hzwjz  
       2018-01-08 21:28:33 +08:00 via Android
    怕不是用 root 用户 ssh 登录的吧🤔
    marchDu
        33
    marchDu  
    OP
       2018-01-08 21:40:25 +08:00 via Android
    @hzwjz 对 root 登录的,要不然也执行不了。
    pq
        34
    pq  
       2018-01-08 21:41:37 +08:00
    张珊:张三

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

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

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

    关怀的眼神...
    yhxx
        50
    yhxx  
       2018-01-10 11:25:51 +08:00
    @i730 已 block
    i730
        51
    i730  
       2018-01-10 16:42:33 +08:00 via Android
    @we000 不不不,这是您的“正确思想”
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2961 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 00:12 · PVG 08:12 · LAX 16:12 · JFK 19:12
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.