web-dev-qa-db-ja.com

SFTPのデフォルトディレクトリを変更する方法

proftpdを使用すると、デフォルトのディレクトリ編集を変更できます/ etc/proftpd.conf
DefaultRoot〜
への変更
DefaultRoot〜/ music

どのようにして[〜#〜] sftp [〜#〜]で同じ結果を得ることができますか?

私はubuntu lucid btwを使用しています。

あなたの助けにそんなにタイ。

5
Jonathan B

SshdのChrootDirectoryを使用して特定のすべてのメンバーを強制する方法を示す this の記事をご覧ください共通のディレクトリルートにグループ化します。要件に合わせて変更できる場合があります。

8
user9517

残念ながら、リチャードフェアハーストのコメントがどれほど重要で、「公式の回答」にどのように追加すべきかを強調したいだけなので、コメントするほどの評判はありません。私は、ユーザーのホームディレクトリを設定したり、ユーザーのホームディレクトリを「デフォルトディレクトリ」として設定したりするのに苦労している、他の人々を見てきました。これは、chroot環境ではルートディレクトリが/ではなくなったからです。他のパスは、新しいルートパスからの相対パスでなければなりません。例:

/ homeにchrootし、デフォルトのディレクトリを/ home/defaultにする場合は、ユーザーのホームディレクトリを/ defaultに設定する必要があります。/homeは新しい/になるため、/ homeではありません。

ユーザーのホームディレクトリを/ home/userに保持する必要があるが、sftpセッション用のデフォルトディレクトリが必要な場合は、internal-sftpに-dパラメータを使用できます。この例のように:

Subsystem sftp internal-sftp
Match Group sftpusers
    ChrootDirectory /mnt/sftp
    ForceCommand internal-sftp -d /default

/ defaultは/ mnt/sftp内のディレクトリです。ここでのパスは、新しいルートからの相対パスであることに注意してください。

20
rui

おそらく、あなたが望むものを達成する方法があるかもしれませんが、私が知る限り、sftpはsshを介して操作されるため、すべてのユーザーに対してsshを使用してそれを行う方法はわかりません。

ただし、やりたいことを回避する1つの方法は、次のように特定のディレクトリにログインするようにユーザーデータを更新することです。これはw

$ Sudo usermod -d [certain path that you want to direct] username
4
istudy0

lainの回答は役に立ちましたが、より明示的で、リンクに依存しないため(そして、次にそれを見つけることができます):

検索ChrootDirectoryのWeb、基本的なドキュメントと設定を取得するため、ここではそれらを複製せず、質問の解決方法のみを指摘します。

専用ファイルサーバーの場合:Match Group *,!Sudoしたがって、管理者ではないユーザーはchrootされたsftpのみにアクセスできます-デフォルトでは。

セットする ChrootDirectory /home/%u-chrootは、ホームディレクトリではなく、ユーザー名に基づいています

/ homeのユーザーディレクトリがroot:rootによって所有されていることを確認します

/ etc/passwdのホームディレクトリパスを、デフォルトでログインするディレクトリに設定します。ただし、chrootディレクトリからの相対パスにします。

ユーザーacntを/ home/acnt/files /に置く場合は、acntのpasswdホームを/ filesに設定します。

/ home/acnt/filesがacnt:acntによって所有されていることを確認してください。これにより、chhome jailが機能するためには/ home/acnt /がrootによって所有されている必要があります。

1
dgandhi360

Ubuntu Lucid 10.04をインストールして同じことを行ったところです。答えは、特定のフォルダに特定のログインをchrootすることです。唯一の欠点は、chrootされるフォルダーはroot:rootが所有する必要があり、sshがsftpログインを機能させるためにログインしているユーザーが書き込みできないことです。つまり、彼らはchrootされたフォルダー内の他のフォルダーにのみアクセスできます。

http://ubuntuforums.org/showthread.php?t=1057657

また、「usermod -d」を使用してユーザーのデフォルトフォルダーを設定しても、sftpログイン時にルート/フォルダーに移動するユーザーのデフォルトは変更されません。

0
senorsmile

ProFTPDを使用している場合は、 ProFTPD SFTPモジュール をご覧ください。

0
Kenster