web-dev-qa-db-ja.com

/ var / www / htmlのアクセス許可

GoDaddyを備えた仮想CentOSサーバーを使用していますが、/var/www/htmlの権限を設定できません。

ユーザーはrootとしてログインすることも、rootグループに自分自身を追加することも許可されていないので、ここに自分が描いたコーナーを示します。

  • 次のコマンドを使用して所有者を変更しました(httpd.confにあるuser:groupを使用しました):

    chown -R Apache:apache /var/www/html
    
  • 自分のユーザーをApacheグループに追加しました:

    usermod -a -G Apache myuser
    
  • 許可を変更しました:

    chmod 777 /var/www/html -R
    

これは、SFTPアカウントに/var/www/htmlのファイルを作成、変更、および削除する機能を提供する唯一の方法です。 777! (SFTPアカウントはsshアカウントと同じ資格情報を使用します。つまり、すべての意図と目的は同じですよね?)

私は明らかにLinuxサーバー管理者には慣れていませんが、これはとてつもなく安全ではないようです。これをすべて行うより良い方法はありますか?

ここに掲載する予定のWebサイトでは、ファイルのアップロード、cronジョブなどが許可されるため、必要なアクセス許可も複雑になります。あれは正しいですか?

更新 775を使用しても機能しないようです。ファイルをアップロード/上書きできますが、ファイルを削除しようとすると、FileZillaから次のエラーが表示されます。

rm /var/www/html/index.php:許可が拒否されました

理由はわかりませんが、777に戻ってこれを「修正」します。

36
dicaeopolis

必要なのは775 ために /var/www/html myuserとしてログインしている限り。 7中央の8進数(「グループ」ACL用)は、グループに読み取り/書き込み/実行の許可があることを確認します。あなたがファイルを所有するグループに属している限り、「myuser」はそれらに書き込むことができるはずです。ただし、Docuemntルートのすべてのファイルにグループアクセス許可を付与する必要がある場合があります。

chmod -R g+w /var/www/html
28
Jon Lin

Apache Webサイトホスティングディレクトリでの777パーミッションの設定に関して、私はちょうど同じような立場にありました。少し手を加えた後、フォルダのグループ所有権を「Apache」グループに変更すると、ユーザーグループに基づいてフォルダへのアクセスが許可されたようです。

1)フォルダーのグループ所有権が、Apacheが使用/生成するグループに設定されていることを確認します。 (/ etc/groupsを確認してください。私の場合はUbuntuのwww-dataでした)

2)フォルダーのアクセス許可を774に設定して、「全員」に変更アクセス権を与えないようにしますが、必要な所有者とグループのアクセス許可は許可します。

3)ユーザーアカウントを、フォルダーに対するアクセス許可を持つグループに追加します(私のアカウントはwww-dataでした)。

0
koryo