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用戶,並設置密碼或秘鑰。

這就是進入機器的最后一道門了。有經驗的攻城獅基本都會有類似操作,關鍵時候真可以救命~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM