SCPを使用してローカルからルート所有フォルダにコピーするときのアクセス許可「問題」

SCPを使用してローカルからルート所有フォルダにコピーするときのアクセス許可「問題」

私はデフォルトのLAMPボックスを設定したい初期段階にいます。単に作業環境を提供するのではなく、私が使用するソフトウェアを設定するのは今回が初めてなので、楽にしてください:)

Apacheをインストールしましたが、そのhtdocsフォルダの権限はdrwxr-xr-xです。リモートからローカルにコピーできますが、小さなディレクトリをコピーしようとすると権限が拒否されます。

私は自分の管理者アカウントでログインし、もちろんhtdocsは自分の所有ではないことに注意する必要があります。

だから私は素朴にsudoコマンドだけが必要だと思いましたが、それはうまくいきません。いいですね。次に、私がオンラインで読んだ内容に基づいて774の権限を「修正」します。いいえ、それも動作しません。 「3番目の「ユーザー」に書き込みアクセス権を追加する必要がありますか?奇妙です。

その後、誰かがその人にフォルダがルート所有であるので、ファイルをscpしてリモートホストのhome /ディレクトリに置き、sudo cpをapacheフォルダに送信する必要があると述べたフォーラムの記事を読みました。

これは私にとって長いアプローチのようですが、これを試す前にこれが本当であるか、ここにベストプラクティスがあるのか​​、そして私の仮定が間違っているのか尋ねなければならないと思いました。

第二に、htdocsに対する適切な権限は何ですか?

私はまだ初期段階でいくつかのFTPアクセスを設定することができるかもしれませんが、教えてくれてありがとう。

ベストアンサー1

この猫の皮をむく方法はいくつかあります。考慮すべき事項は次のとおりです。

  1. htdocs木は根に戻る必要はほとんどありません。重要なのはそうだということだ。読めるApacheユーザー。問題の* ixシステムによっては、または他のものかもしれませapachewww-data。上記のデフォルトのファイルモードdrwxr-xr-x(755と略す)がこの目的に最適です。

    それで問題は、その木を誰が所有しなければならず、どのグループに属すべきかです。これで十分です。

    $ sudo chown -R dan.apache /var/www
    

    これは、ユーザーがその下のすべてを(再帰的に)dan所有し、グループにもその権限を持っていることを意味します。グループとして実行すると、ツリー内のファイルを読み取り、その中のディレクトリを変更するのに十分な権限を取得できます。これはほとんどのサイトに十分です。/var/www-Rapachehttpdapache

  2. 別のアプローチは、持っているすべての権限を使用してscpモデルツリーの所有者に簡単に通知することです/var/www/

    mybox$ scp ~/site-mirror/index.html [email protected]:/var/www/htdocs
    

    ユーザーとしてログインし、ルートファイルのローカルコピーをindex.html適切な場所にコピーします。ここでは、必要なユーザー名とホスト名を使用できます。木の所有者のユーザーとしてリモートでログインできます。そうでない場合は、オプション#1を使用することを検討し、少なくとも直接保存できるように設定してください。example.comwww/var/www/scp

    もしあなたなら事前共有キーの設定SSHを使用すると、パスワードを提供する必要さえありません。

    scpWebサイトの開発には使用しないことをお勧めしますrsync

    mybox$ rsync -ave ssh --delete ~/site-mirror [email protected]:/var/www/htdocs
    

    ~/site-mirrorこれにより、myboxon(ローカルジョブコンピュータ)の内容が/var/www/htdocsonにミラーリングされ、example.comuserとしてログインされますwww。生ファイルよりも生ファイルを使用すると、変更されていないファイルをコピーして再コピーする必要がないというrsync利点があります。scpRsyncアルゴリズムは変更を計算し、その変更のみを送信します。

おすすめ記事