溫馨提示×

溫馨提示×

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

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

Linux服務器中怎么設置多個sftp賬號

發(fā)布時間:2021-07-23 10:40:18 來源:億速云 閱讀:201 作者:Leah 欄目:大數(shù)據

這篇文章將為大家詳細講解有關Linux服務器中怎么設置多個sftp賬號,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

0. 我們需要創(chuàng)建一個用戶組,專門用于sftp用戶,每臺Linux服務器建立一次sftp 用戶組即可。

   groupadd sftpusers       //這里表示創(chuàng)建 sftpusers組

#=================/// 第一個SFTP賬號創(chuàng)建  //=========================

1、在用戶組sftpusers 下創(chuàng)建用戶 sftpuser2,并禁止ssh登錄,不創(chuàng)建家目錄

 useradd -s /sbin/nologin -G sftpusers -M stptest2

2、設置用戶密碼

 passwd stptest2

3、創(chuàng)建sftp根目錄,所有sftp用戶都將在該目錄下活動,首次創(chuàng)建即可

 mkdir /u01/filedata

4、設置目錄權限,目錄的權限設定有兩個要點:

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

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

 chown root:root /u01/filedata

 chmod 755 /u01/filedata 注:該目錄權限最大為755,設置成777會報錯,這個也是我困擾我的一個地方。

5、創(chuàng)建用戶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服務使用系統(tǒng)自帶的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 #這兩行,如果不希望該用戶能使用端口轉發(fā)的話就加上,否則刪掉

 AllowTcpForwarding no

9、重啟sshd服務器

    systemctl restart sshd.service

 #查詢sshd啟動狀態(tài)命令:

 systemctl status sshd.service  

10、sftpuser用戶登錄測試:

 sftp -oPort=22 stptest2@127.0.0.1

#在用戶登錄測試過程中,可能會遇到如下錯誤:

 #  Couldn't read packet: Connection reset by peer

     這是什么原因導致的呢,當時我一直很困惑,后來發(fā)現(xiàn),是目錄權限導致了該問題,具體解決方案,回看以上4、5、6步驟!

11、設置權限:chown stptest2:stptest2 /u01/filedata/stptest2 創(chuàng)建該目錄下www 文件夾 并建立www文件下的 jieshou fabu 文件夾

12. 再次授權 sftp 賬號登陸權限  chown root:stptest2 /u01/filedata/stptest2 

# 這里分配的文件路徑為: /u01/filedata/stptest2/www  為用戶stptest2 默認訪問路徑

# END 至此已經完成了sftp創(chuàng)建用戶,并修改權限,限制根目錄。 第一個賬號創(chuàng)建結束

#=================/// 第二個SFTP賬號創(chuàng)建  //=========================

1、在用戶組sftpusers 下創(chuàng)建用戶 sftpuser2,并禁止ssh登錄,不創(chuàng)建家目錄

 useradd -s /sbin/nologin -G sftpusers -M stptest3

2、設置用戶密碼

 passwd stptest3

5、創(chuàng)建用戶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

     這是什么原因導致的呢,當時我一直很困惑,后來發(fā)現(xiàn),是目錄權限導致了該問題,具體解決方案,回看以上4、5、6步驟!

11、設置權限:chown stptest3:stptest3 /u01/filedata/stptest3 創(chuàng)建該目錄下www 文件夾 并建立www文件下的 jieshou fabu 文件夾

12. 再次授權 sftp 賬號登陸權限  chown root:stptest3 /u01/filedata/stptest3 

# 這里分配的文件路徑為: /u01/filedata/stptest3/www  為用戶stptest3 默認訪問路徑
#
# END 至此已經完成了sftp創(chuàng)建用戶,并修改權限,限制根目錄。 第二個賬號創(chuàng)建結束

#=================/// 第三個SFTP賬號創(chuàng)建  //=========================

# 請參考 第二個SFTP賬號創(chuàng)建,依次類推........

關于Linux服務器中怎么設置多個sftp賬號就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節(jié)

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

AI