前言

今天我司开发找我修改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用户,并设置密码或秘钥。

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

posted on 2020-07-10 15:17  eryoung2  阅读(4170)  评论(0编辑  收藏  举报