Linux中國

在 Linux 中為非 SSH 用戶配置 SFTP 環境

SFTP & chroot背景:

SFTP是指SSH文件傳輸協議(SSH File Transfer protocol)或安全文件傳輸協議(Secure File Transfer Protocol),它提供了可信數據流下的文件訪問、文件傳輸以及文件管理功能。當我們為SFTP配置chroot環境後,只有被許可的用戶可以訪問,並被限制到他們的家目錄中,換言之:被許可的用戶將處於牢籠環境中,在此環境中它們甚至不能切換它們的目錄。

在本文中,我們將配置RHEL 6.XCentOS 6.X中的SFTP Chroot環境。我們開啟一個用戶帳號『Jack』,該用戶將被允許在Linux機器上傳輸文件,但沒有ssh訪問許可權。

步驟:1 創建組

[root@localhost ~]# groupadd  sftp_users

步驟:2 分配附屬組(sftp_users)給用戶

如果用戶在系統上不存在,使用以下命令創建( LCTT 譯註:這裡給用戶指定了一個不能登錄的 shell,以防止通過 ssh 登錄):

[root@localhost ~]# useradd  -G sftp_users  -s /sbin/nologin  jack
[root@localhost ~]# passwd jack

對於已經存在的用戶,使用以下usermod命令進行修改:

[root@localhost ~]# usermod –G sftp_users  -s /sbin/nologin  jack

注意:如果你想要修改用戶的默認家目錄,那麼可以在useradd和usermod命令中使用『-d』選項,並設置合適的許可權

步驟:3 現在編輯配置文件 「/etc/ssh/sshd_config」

# vi /etc/ssh/sshd_config
#comment out the below line and add a line like below
#Subsystem sftp /usr/libexec/openssh/sftp-server
Subsystem sftp internal-sftp

# add Below lines  at the end of file
  Match Group sftp_users
  X11Forwarding no
  AllowTcpForwarding no
  ChrootDirectory %h                      
  ForceCommand internal-sftp

此處:

  • Match Group sftp_users – 該參數指定以下的行將僅僅匹配sftp_users組中的用戶
  • ChrootDirectory %h – 該參數指定用戶驗證後用於chroot環境的路徑(默認的用戶家目錄)。對於用戶 Jack,該路徑就是/home/jack。
  • ForceCommand internal-sftp – 該參數強制執行內部sftp,並忽略任何~/.ssh/rc文件中的命令。

重啟ssh服務

# service sshd restart

步驟:4 設置許可權:

[root@localhost ~]# chmod 755 /home/jack
[root@localhost ~]# chown root /home/jack
[root@localhost ~]# chgrp -R sftp_users /home/jack

如果你想要允許jack用戶上傳文件,那麼創建一個上傳文件夾,設置許可權如下:

[root@localhost jack]# mkdir /home/jack/upload
[root@localhost jack]# chown jack. /home/jack upload/

步驟:5 現在嘗試訪問系統並進行測試

嘗試通過ssh訪問系統

正如下圖所示,用戶jack通過SFTP登錄,而且因為chroot環境不能切換目錄。

現在進行上傳和下載測試,如下圖:

正如上圖所示,jack用戶的上傳下載功能都工作得很好。

via: http://www.linuxtechi.com/configure-chroot-sftp-in-linux/

原文作者:Pradeep Kumar

譯者:GOLinux 校對:wxy

本文由 LCTT 原創翻譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國