Linux下SFTP使用者許可權設定條件及實現命令

2022-09-26 13:03:29 字數 1293 閱讀 4108

眾所周知sftp賬號是基於ssh賬號的,所以在預設情況下訪問伺服器的許可權是非常大的,今天的教程就是教大家進行sftp使用者許可權設定。

必要條件:

你的openssh-server版本至少得失4.8p1, 因為配置許可權需要版本新增的新配置項chrootdirectory來完成。

如何檢視自己伺服器上的ssh版本?大家可以嘗試以下命令:

$ ssh -v

具體實施步驟:

1. 我們需要建立乙個使用者組,專門用於sftp使用者

$ groupadd sftpusers

2. 我們建立乙個使用者test

$ useradd -s /bin/false -g sftpuser test

注意這裡我們將test使用者的shell設定為/bin/false使他沒有登陸shell的許可權

3. 編輯 /etc/ssh/sshd_config

找到subsystem這個配置項,將其修改為

subsystem sftp internal-sftp

然後再到檔案最尾處增加配置設定屬於使用者組sftpusers的使用者都只能訪問他們自己的home資料夾

match group sftpusers

chrootdirectory %h

forcecommand internal-sftp

allowtcpforwarding no

儲存並關閉檔案

4. 修改test使用者home資料夾的許可權,讓其屬於root使用者

chown root ~test

5. 重啟sshd服務

$ service sshd restart 程式設計客棧

6. 測試使用者賬號

$ ssh test@localhost

連線會被拒絕或者無法登陸

$ sftp tesst@localhost

登陸後你會發現你的賬號無法切換到除自己home目錄之外的地方的

常見問題:

如果你鏈結伺服器的時候出現下面的提示:

write failed: broken pipe

couldn't read packet: connection resrykdvrwet by peer

這個問題的原因是chrootdirectory的許可權問題,你設定的目錄必須是root使用者所有,否則就會出現問題。所以請確保sftp使用者根目錄的所有人是root, 許可權是 750 或者 755。

本文標題: linux下sftp使用者許可權設定條件及實現命令

本文位址: /os/linux/92462.html

Linux下SFTP設定使用者目錄許可權

1 安裝參考 2 許可權設定參考 按上述安裝配置好之後,客戶端使用工具開啟出現permission denied問題。可參考 設定目錄許可權,目錄的許可權設定有兩個要點 目錄開始一直往上到系統根目錄為止的目錄擁有者都只能是root 目錄開始一直往上到系統根目錄為止都不可以具有群組寫入許可權 chow...

Linux下如何進行SFTP使用者許可權設定

ssh v 具體實施步驟 1.我們需要建立乙個使用者組,專門用於sftp使用者 groupadd sftpusers 2.我們建立乙個使用者test useradd s bin false g sftpuser test 注意這裡我們將test使用者的shell設定為 bin false使他沒有登陸...

Linux 設定SFTP服務使用者目錄許可權

我們有時會遇到這樣的需求,限制乙個linux使用者,讓他只能在指定的目錄下進行新增 修改 刪除操作,並且只能使用sftp登入伺服器,不能用ssh操作。這些可以通過配置sftp服務實現。建立新使用者www,禁止ssh登入,不建立家目錄 root local useradd s sbin nologin...