您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關Linux服務器中怎么設置多個sftp賬號,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
0. 我們需要創建一個用戶組,專門用于sftp用戶,每臺Linux服務器建立一次sftp 用戶組即可。 groupadd sftpusers //這里表示創建 sftpusers組 #=================/// 第一個SFTP賬號創建 //========================= 1、在用戶組sftpusers 下創建用戶 sftpuser2,并禁止ssh登錄,不創建家目錄 useradd -s /sbin/nologin -G sftpusers -M stptest2 2、設置用戶密碼 passwd stptest2 3、創建sftp根目錄,所有sftp用戶都將在該目錄下活動,首次創建即可 mkdir /u01/filedata 4、設置目錄權限,目錄的權限設定有兩個要點: 目錄開始一直往上到系統根目錄為止的目錄擁有者都只能是root 目錄開始一直往上到系統根目錄為止都不可以具有群組寫入權限 chown root:root /u01/filedata chmod 755 /u01/filedata 注:該目錄權限最大為755,設置成777會報錯,這個也是我困擾我的一個地方。 5、創建用戶sftpuser根目錄,目錄名為用戶名 cd /u01/filedata mkdir stptest2 6、設置sftpuser目錄權限 chown root:stptest2 /u01/filedata/stptest2 (注:設置用戶sftpuser,如果設置擁有者為root,表示該目錄sftpuser沒有權限讀寫,在該目錄下建立其它目錄,賦權給sftpuser用戶讀寫權限; 若需要對該目錄擁有讀寫權限,設置權限:chown stptest2:stptest2 /u01/filedata/stptest2 ) chmod 755 /u01/filedata/stptest2 注:這里的目錄sftpuser 權限也只能是755,否則無法限制目錄。 7、配置sshd_config vi /etc/ssh/sshd_config 8、修改如下內容,并保存退出,首次修改即可 #注釋掉這行 #Subsystem sftp /usr/libexec/openssh/sftp-server 添加這行: Subsystem sftp internal-sftp #指定使用sftp服務使用系統自帶的internal-sftp,如果不添加,用戶無法通過sftp登錄。 #添加在配置文件末尾 Match Group sftpusers 屬于用戶組 sftpusers 都能訪問自己的目錄,多個組之間用逗號分割 ChrootDirectory /u01/filedata/%u #用chroot將指定用戶的根目錄,chroot的含義:http://www.ibm.com/developerworks/cn/linux/l-cn-chroot/; #這里的%u指的是賬號名,/u01/filedata/%u 含義是:/u01/filedata/stptest2 ForceCommand internal-sftp #指定sftp命令 X11Forwarding no #這兩行,如果不希望該用戶能使用端口轉發的話就加上,否則刪掉 AllowTcpForwarding no 9、重啟sshd服務器 systemctl restart sshd.service #查詢sshd啟動狀態命令: systemctl status sshd.service 10、sftpuser用戶登錄測試: sftp -oPort=22 stptest2@127.0.0.1 #在用戶登錄測試過程中,可能會遇到如下錯誤: # Couldn't read packet: Connection reset by peer 這是什么原因導致的呢,當時我一直很困惑,后來發現,是目錄權限導致了該問題,具體解決方案,回看以上4、5、6步驟! 11、設置權限:chown stptest2:stptest2 /u01/filedata/stptest2 創建該目錄下www 文件夾 并建立www文件下的 jieshou fabu 文件夾 12. 再次授權 sftp 賬號登陸權限 chown root:stptest2 /u01/filedata/stptest2 # 這里分配的文件路徑為: /u01/filedata/stptest2/www 為用戶stptest2 默認訪問路徑 # END 至此已經完成了sftp創建用戶,并修改權限,限制根目錄。 第一個賬號創建結束 #=================/// 第二個SFTP賬號創建 //========================= 1、在用戶組sftpusers 下創建用戶 sftpuser2,并禁止ssh登錄,不創建家目錄 useradd -s /sbin/nologin -G sftpusers -M stptest3 2、設置用戶密碼 passwd stptest3 5、創建用戶sftpuser根目錄,目錄名為用戶名 cd /u01/filedata mkdir stptest3 6、設置sftpuser目錄權限 chown root:stptest3 /u01/filedata/stptest2 (注:設置用戶sftpuser,如果設置擁有者為root,表示該目錄sftpuser沒有權限讀寫,在該目錄下建立其它目錄,賦權給sftpuser用戶讀寫權限; 若需要對該目錄擁有讀寫權限,設置權限:chown stptest2:stptest2 /u01/filedata/stptest3 ) chmod 755 /u01/filedata/stptest3 注:這里的目錄sftpuser 權限也只能是755,否則無法限制目錄。 10、sftpuser用戶登錄測試: sftp -oPort=22 stptest3@127.0.0.1 #在用戶登錄測試過程中,可能會遇到如下錯誤: # Couldn't read packet: Connection reset by peer 這是什么原因導致的呢,當時我一直很困惑,后來發現,是目錄權限導致了該問題,具體解決方案,回看以上4、5、6步驟! 11、設置權限:chown stptest3:stptest3 /u01/filedata/stptest3 創建該目錄下www 文件夾 并建立www文件下的 jieshou fabu 文件夾 12. 再次授權 sftp 賬號登陸權限 chown root:stptest3 /u01/filedata/stptest3 # 這里分配的文件路徑為: /u01/filedata/stptest3/www 為用戶stptest3 默認訪問路徑 # # END 至此已經完成了sftp創建用戶,并修改權限,限制根目錄。 第二個賬號創建結束 #=================/// 第三個SFTP賬號創建 //========================= # 請參考 第二個SFTP賬號創建,依次類推........
關于Linux服務器中怎么設置多個sftp賬號就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。