Linux中國
在 Linux 中為非 SSH 用戶配置 SFTP 環境
SFTP & chroot背景:
SFTP是指SSH文件傳輸協議(SSH File Transfer protocol)或安全文件傳輸協議(Secure File Transfer Protocol),它提供了可信數據流下的文件訪問、文件傳輸以及文件管理功能。當我們為SFTP配置chroot環境後,只有被許可的用戶可以訪問,並被限制到他們的家目錄中,換言之:被許可的用戶將處於牢籠環境中,在此環境中它們甚至不能切換它們的目錄。
在本文中,我們將配置RHEL 6.X 和 CentOS 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
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive
對這篇文章感覺如何?
太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
More in:Linux中國
如何通過 VLC 使用字幕
使用 VLC 媒體播放器播放和管理字幕的新手指南。
Unix 桌面:在 Linux 問世之前
僅僅開源還不足以實現開放,還需開放標準和建立共識。
Valve 對於 Ubuntu 的 Snap 版本的 Steam 並不滿意:原因何在
你可能會發現,Snap 版本的 Steam 並不如你期待的那樣好,你怎麼看?
Wine 9.0 發布,實驗性地加入了 Wayland 驅動
Wine 的這個新版本正在為未來做好準備!