Ubuntu sftp chroot jail pathが読み取られていませんか?


0

問題が発生しました。何時間もいじっていて、何が起こっているのか理解できていません。私はこれに関するたくさんのガイドを読みましたが、これはUbuntuでの2分間のセットアップ作業になりますが、それでも動作させることはできません。

問題は:

正しいsshd_configを設定しました。少なくとも正しく設定したことを願っています...

Subsystem sftp internal-sftp

Match Group sftpusers
ChrootDirectory /var/www
AllowTCPForwarding no
X11Forwarding no
ForceCommand internal-sftp

両方の/ var / wwwには、755 root:rootの許可があります。はい、sshサービスを何度も再起動しました。はい、私はこのようなものについて約30件のstackoverflowの投稿を読みましたが、私の問題に密接に関連するものさえ見つけませんでした。

前提条件を満たしているので、本当の問題があります。SFTPで接続しようとすると、これが認証ログに表示されます。

Nov  8 22:38:07 hidden_server_name sshd[7436]: Accepted password for wordpress_user from imagine_my_hp_address_here port 49508 ssh2
Nov  8 22:38:07 hidden_server_name sshd[7436]: pam_unix(sshd:session): session opened for user wordpress_user by (uid=0)
Nov  8 22:38:07 hidden_server_name systemd: pam_unix(systemd-user:session): session opened for user wordpress_user by (uid=0)
Nov  8 22:38:07 hidden_server_name systemd-logind[1462]: New session 241 of user wordpress_user.
Nov  8 22:38:07 hidden_server_name sshd[7481]: fatal: bad ownership or modes for chroot directory component "/"
Nov  8 22:38:07 hidden_server_name sshd[7436]: pam_unix(sshd:session): session closed for user wordpress_user
Nov  8 22:38:07 hidden_server_name systemd-logind[1462]: Removed session 241.

当然、「wordpress_user」は「sftpusers」グループのメンバーです。問題は次の行です。

Nov  8 22:38:07 hidden_server_name sshd[7481]: fatal: bad ownership or modes for chroot directory component "/"

明らかに/ var / wwwに設定されているのに、サーバーのルートディレクトリにchrootしたいのはなぜですか?

ホームディレクトリをユーザーのあらゆる種類のものに数回変更しようとしても。

誰かが私をこの頭痛から解放してください、痛いです!:D

回答:


0
ChrootDirectory /var/www
...
bad ownership or modes for chroot directory component "/"

ChrootDirectoryオプションを使用するには、chrootディレクトリとそのすべての親ディレクトリがルートに属している必要があります。ドキュメントから(強調を追加):

ChrootDirectory
認証後にchroot(2)するディレクトリのパス名を指定します。セッションの起動時に、sshd(8)は、パス名のすべてのコンポーネントが、他のユーザーまたはグループが書き込みできないルート所有ディレクトリであることをチェックします。chrootの後、sshd(8)は作業ディレクトリをユーザーのホームディレクトリに変更します。

あなたの場合、sshサーバーはシステムのルートディレクトリ「/」について不平を言っています。どうやらルートディレクトリには、これらの要件を満たさない権限があります。

最も簡単な修正方法は、ルートディレクトリをアクセス許可0755と所有者ルートに調整することです。私が知っている唯一の選択肢は、このチェックを無効にして独自のSSHサーバーのコピー作成することです。


はい、ログにはそれがありますが、「drwxrwxr-x 24 root root 4.0K Nov 9 20:51。」
FireyFly

drwxrwxr-xつまり、グループの書き込み許可がオンになっています。それは許可されていません。
ケンスター

既に755に設定しようとしました...動作していませんでしたが、今では動作します、信じられないほど...ありがとう
FireyFly

0

これは仕様です。

厳密なアクセス許可では/var/www/、ユーザーまたはグループにchownされたファイルとサブディレクトリをルートとしてディレクトリに追加する必要があります。それは最適ではありません。

/var/www/ユーザーにサブディレクトリを作成させ、/var/www/ルートに残しておく方がよいでしょう。

Webサーバーに仮想ホストが1つしかない場合、これは何ができるかの例です。

sudo chown root:root /var/www/
sudo chmod u=rwx,g=rx,o=rx /var/www/

sudo mkdir /var/www/site1/
sudo chgrp sftponly /var/www/site1
sudo chmod u=rwx,g=rwxs,o=rx /var/www/site1/

SSHサーバーの構成ファイルに次のように追加します。

Match group sftponly
    ChrootDirectory /var/www/
    X11Forwarding no
    AllowTcpForwarding no
    ForceCommand internal-sftp -d site1

ソース:このページを不正な所有権またはchrootディレクトリ "/ var / www"のモードでリロードします


助けてくれてありがとう。悲しいことに同じ問題がまだあります:(ソースとしてリンクした記事でも、「致命的:chrootディレクトリの所有権またはモードが間違っている/ var / www」というエラーがあります」 chrootディレクトリが設定されていても、「/」です
FireyFly

/制限に従うフォルダーの直下を使用してみてください。
ハリーマク

?何も、おそらくそれが働いてから私を妨げる可能性があるsshd_configファイル内の任意の設定があるEDIT :(機能しません:私はこれら以外の設定がたくさんある意味、これを行うことができ、そのいずれかのあり?
FireyFly
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.