zoukankan      html  css  js  c++  java
  • This service allows sftp connections only. 解法

    前言

    今天我司开发找我修改sftp的配置,要求另一个sftp用户可以拥有写权限。

    但是sftp服务的本身机制就限制死了在同个文件夹中给非用户成员。

    哪怕是同组成员添加写权限,因为文件夹最高权限就是755(详情可以参考我另一篇博文 sftp的搭建 ,如果文件夹权限过高,则会无法进行sftp连接。

    这可咋办呢?

    正文

    不知道咋办也没办法呀,硬着头皮上吧。

    于是我开始有了一堆骚想法,比如修改root的用户组,使其可以和sftp_user用户在同个组里,从而方便其余操作。

    usermod -g sftp_user root
    

    于是,我将root添加到了sftp_user组中,然后没过一会儿,就报了一个错误。

    This service allows sftp connections only.

    直接就无法ssh了!

    幸亏我有一个已经连上去的session没有退出,我才可以在机器上恢复这个配置。

    将root用户从sftp_user用户组中踢出去的方法是:

    gpasswd -d root sftp_user 
    

    做完这个操作之后,这台机就可以正常使用root进行ssh登录了。

    后记

    当然,鉴于开发同事的要求不太好达到,所以我就重新起了一个sftp给他用了。

    反思

    经过这件事情之后,我突然想明白前公司的老哥为什么告诉我,一定要给机器留登录的后门了。

    防的就是这种情况。

    至于怎么留后门,可以通过添加sudo权限的用户(例如test用户),并保证root无法使用时,可以通过此用户免密登录到root去。

    再具体嘛,就是在/etc/sudoers添加以下内容:

    test    ALL=(ALL:ALL)       NOPASSWD: ALL
    

    然后建立test用户,并设置密码或秘钥。

    这就是进入机器的最后一道门了。有经验的攻城狮基本都会有类似操作,关键时候真可以救命~

  • 相关阅读:
    删除旧版vue-cli
    vue.extend和vue.component的区别
    vue-loader处理vue文件
    CentOS7安装iptables防火墙
    java类的初始化顺序
    java的接口和抽象类的理解
    js中的in操作符
    js中call和apply函数
    js的类型转换
    闭包作用
  • 原文地址:https://www.cnblogs.com/young233/p/13279340.html
Copyright © 2011-2022 走看看