29

特定のディレクトリにのみ SFTP で送信できるユーザーを作成し、情報のコピーを取得する必要があります。それだ。オンラインで調べていると、chroot と sshd_config の変更に関する情報が表示されます。

これまでのところ、私はただ

  • ユーザー「useradd sftpexport」を追加します
  • ホームディレクトリ「-M」なしで作成
  • ログイン場所を設定する "-d /u02/export/cdrs" (情報が保存される場所)
  • ssh "-s /bin/false" の使用を許可しない

useradd sftpexport -M -d /u02/export/cdrs -s /bin/false

ユーザーがログインしてファイルをコピーすることしかできないように、誰が何を編集するのかを提案できますか?

4

2 に答える 2

37

sftpユーザー グループを作成し、そのグループ内のユーザーをホーム ディレクトリに制限 することを好みます。

まず、/etc/ssh/sshd_configファイルを編集して、これを一番下に追加します。

Match Group sftp
    ChrootDirectory %h
    ForceCommand internal-sftp
    AllowTcpForwarding no  

これにより、sftp グループ内のすべてのユーザーがホーム ディレクトリ ( %hChrootDirectory コマンドで表される)に chroot されることが OpenSSH に通知されます。

新しい sftp グループを追加し、ユーザーをグループに追加し、ssh アクセスを制限し、ホーム ディレクトリを定義します。

groupadd sftp
usermod username -g sftp
usermod username -s /bin/false
usermod username -d /home/username

ssh を再起動します。

sudo service ssh restart

問題が解決しない場合は、ホーム ディレクトリのディレクトリ アクセス許可が正しいことを確認してください。セットアップに合わせて 755 の値を適切に調整します。

sudo chmod 755 /home/username

編集:質問の詳細に基づいて、sshd_config 部分が欠落しているようです。あなたの場合、に置き換えsftpてくださいsftpexport。また、ファイル許可が/u02/export/cdrsディレクトリでアクセス可能であることを確認してください。

さらに良いセットアップ (そして、私が提案しようとしているものよりもさらに優れたセットアップがあります) は、/u02/export/cdrsディレクトリをユーザーのホーム ディレクトリにシンボリック リンクすることです。

于 2014-04-16T04:23:18.110 に答える
3

このユーザーがいくつかのファイルをそこに置くことができるように、制限されたシェルを追加する必要がある場合があります。そのためにrsshツールを使用できます。

usermod -s /usr/bin/rssh sftpexport

config で許可されたプロトコルを有効にします/etc/rssh.conf

于 2014-04-16T05:28:40.807 に答える