溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Linux怎么限制指定賬戶不能SSH只能SFTP在指定目錄

發(fā)布時間:2021-10-22 16:51:04 來源:億速云 閱讀:359 作者:小新 欄目:系統(tǒng)運維

這篇文章給大家分享的是有關Linux怎么限制指定賬戶不能SSH只能SFTP在指定目錄的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

概述

由于某臺服務器需要對指定用戶進行限制,只允許訪問指定目錄,這個需求在很多場景應該是比較常見的,下面介紹一種解決方案。

以下限制了sftp用戶組只能sftp 連接上去至指定目錄(/projects/tms_prod),ssh 連接就提示只接受sftp 連接。

方案具體流程如下:

1. 創(chuàng)建用戶及目錄:

mkdir -p /projects/ groupadd sftp # 新建組 useradd -g sftp -s /bin/false tms -d /projects/tms_prod # 新建用戶 passwd tms chown root:sftp /projects/ # 修改主目錄所屬用戶和組 chmod 755 /projects/ # 主目錄授權  mkdir -p /projects/tms_prod # 為用戶建立子目錄 chown tms:sftp /projects/tms_prod # 修改子目錄所屬用戶和組 chmod 755 /projects/tms_prod # 子目錄授權

Linux怎么限制指定賬戶不能SSH只能SFTP在指定目錄

2. 配置sshd_config

Subsystem sftp internal-sftp #指定使用sftp服務使用系統(tǒng)自帶的internal-sftp #Match User tms Match Group sftp  ChrootDirectory /projects/  X11Forwarding no #禁止X11轉發(fā)  AllowTcpForwarding no # 禁止tcp轉發(fā)  ForceCommand internal-sftp #指定sftp命令,不能ssh連接

Linux怎么限制指定賬戶不能SSH只能SFTP在指定目錄

注意:

  • 由ChrootDirectory指定的目錄開始一直往上到系統(tǒng)根目錄為止的目錄擁有者都只能是root

  • 由ChrootDirectory指定的目錄開始一直往上到系統(tǒng)根目錄為止都不可以具有群組寫入權限

3. 重啟ssh服務:

service sshd restart

4. 測試驗證

Linux怎么限制指定賬戶不能SSH只能SFTP在指定目錄

補充:

1. Subsystem sftp /usr/lib/openssh/sftp-server 更為 internal-sftp,這兩者有什么區(qū)別呢?

簡單的說默認sftp 進程由單獨的二進制文件:/usr/lib/openssh/sftp-server啟動,而internal-sftp  則無需外部二進制文件額外啟動一個進程,整合在sshd進程內了。

internal-sftp相較于 /usr/lib/openssh/sftp-server 優(yōu)點在于:

  • 性能好,無需額外進程了嘛;

  • 安全性好,無需用戶登錄shell,且可使用ChrootDirectory 限制sftp行為活動的目錄;

  • sftp-server 的存在主要是向后兼容。

2. ChrootDirectory directory

一般出現(xiàn)問題會在ChrootDirectory directory上,這個地方的目錄不能直接配置到目標目錄,需要配置到他的上一級;即給  /A/B/C的C目錄做chroot,要對C能讀寫,所以C目錄不能做ROOT目錄,對B做chroot。

感謝各位的閱讀!關于“Linux怎么限制指定賬戶不能SSH只能SFTP在指定目錄”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。

AI