この記事では、通常 / var / www /にあるWebドキュメントルートの読み取りおよび書き込み権限を持つLinux®ユーザーを設定する方法について説明します。 ディレクトリ。 Secure File Transfer Protocol(SFTP)を介してこのユーザーに接続した後、Webサイトのコンテンツを / var / www / your-site-folderなどのサイトフォルダーに直接アップロードできます。 。
この例では、デモという名前のアカウントを使用しています 。必ずデモを置き換えてください 好みの名前の例で。
これらのコマンドにはスーパーユーザー権限が必要なため、rootユーザーsudo
から実行していると想定します。 アカウント。
ウェブサーバープロセスが実行されているグループと、ウェブサーバーのドキュメントルートの場所を知る必要があります。これは、Webサーバーの構成ファイル( httpd.conf など)にあります。 またはapache2.conf Apache®の場合)。次のセクションでは、一部のLinuxディストリビューションで実行されているApacheWebサーバーのデフォルト値を確認できます。
CentOS®、Fedora®、およびRHEL®
RedHat®ベースのシステムでは、Apacheはグループ apacheの下で実行されます / var / www / htmlのドキュメントルート 。
Ubuntu®オペレーティングシステムとDebian®
Debian®ベースのシステムでは、Apacheはグループ www-dataの下で実行されます / var / wwwのドキュメントルート 。
この例では、新しいユーザーを作成するか、既存のユーザーを変更します。
Webサーバーと同じグループに、ホームディレクトリをドキュメントルートに設定した新しいユーザーを作成します。
ユーザー名とウェブサーバーの設定に一致するように値を変更することを忘れないでください。
CentOS、Fedora、またはRHELでは、ユーザーを作成するコマンドは次の例のようになります。
$ sudo useradd -d /var/www/html -G apache demo
DebianまたはUbuntuオペレーティングシステムでは、異なる値を使用します:
$ sudo useradd -d /var/www -G www-data demo
ユーザーを作成したら、パスワードも設定します。
$ sudo passwd demo
必要に応じて、ドキュメントルートをグループ書き込み可能に変更するセクションにスキップできます。
既存のユーザーを変更するには、そのユーザーをWebサーバーが使用するグループに追加する必要があります。
CentOS、Fedora、またはRHELでは、コマンドは次のコマンドに似ています。
$ sudo usermod -a -G apache demo
UbuntuオペレーティングシステムまたはDebianでは、出力は次のコマンドのようになります。
$ sudo usermod -a -G www-data demo
ドキュメントルートをホームディレクトリとして使用するようにアカウントを変更するには、そのプロセスを繰り返すことができます。
CentOS、Fedora、またはRHELを使用している場合は、コマンドラインで次のコマンドを実行します。
$ sudo usermod -d /var/www/html demo
UbuntuオペレーティングシステムまたはDebianで、次のコマンドを使用します。
% sudo usermod -d /var/www demo
ドキュメントルートを変更して、ファイルとコンテンツがWebサーバーと同じグループに含まれるようにします。
CentOS、Fedora、またはRHELで、次のコマンドを実行します。
$ sudo chgrp -R apache /var/www/html
UbuntuオペレーティングシステムまたはDebianで、次のコマンドを実行します。
$ sudo chgrp -R www-data /var/www
ドキュメントをルートグループで書き込み可能にしますが、 setgidを設定します ドキュメントルートディレクトリ自体に対する権限。setgid 権限により、ドキュメントルートに作成した新しいファイルが、親ディレクトリからグループIDを継承することが保証されます。
CentOS、Fedora、またはRHELでは、次のコマンドを使用して適切な権限を設定できます。
$ sudo chmod -R g+w /var/www/html
$ sudo chmod g+s /var/www/html
UbuntuオペレーティングシステムとDebianバージョンのコマンドは次のとおりです。
$ sudo chmod -R g+w /var/www
$ sudo chmod g+s /var/www
作成または変更したユーザーアカウントを使用してSFTP経由でサーバーに接続します。ファイルをアップロードして、権限が正しく設定されていることを確認してください。 許可が拒否された場合 エラー、コマンドls -la
を実行します 、ドキュメントルートで、ディレクトリのアクセス許可を確認します。