Webサーバー/var/www
にフォルダーがあります。フォルダーにファイルを追加する必要がありますが、Sudo
を使用しない限り、システムは私を許可しません。
ファイルを作成するためにSudo
を必要とせず、FTPクライアントを使用してファイルをWebサーバーに直接アップロードできるように、フォルダーとその内容を変更するアクセス権を自分に与えることは可能ですか?
Webサーバーは重要な場合に備えてApache2です。
/var/www/
フォルダーは、ユーザー/管理者だけでなくシステムによって操作されるため、何をしているのかわからない限り、ベース/var/www
ディレクトリーのこれらの設定をいじってはいけません。通常、私は物事をどのように実行するかで、サイト固有のディレクトリinside/var/www/
を作成し、そこに自分自身に許可を与えて問題を解決します誤ってサイトのデータを上書きするシステムの(通常、独自の作成でそこにあるサブフォルダーを混乱させません)。
したがって、代わりに/var/www/
のフォルダーinsideを設定し、ApacheサイトのDocumentRoot設定を変更して、Webサイトがそのサブフォルダーを指すようにすることができます。 (たとえば、/var/www/mysite/
)、コマンドコマンドを実行して、他のユーザーのアクセスをブロックしながら、書き込みアクセスとWebサーバーの読み取りアクセスを自分に与えます。
まず、フォルダを作成するには、「mysite」を使用する名前に置き換えます。
Sudo mkdir /var/www/mysite
次に、アクセス権とWebServerアクセス権を付与します。 Apache2はデフォルトでwww-data
として実行されます。
Sudo chown $USER:www-data /var/www/mysite
第三に、フォルダ内のすべてのファイルcreatedがグループ所有者としてwww-data
を自動的に与えられるようにする必要があります(実際にread読み取る必要があるファイル);このために「SetGID」スティッキービットを設定します。公開するべきではないデータにパスワードが保存されている場合に備えて、他のユーザー(スーパーユーザーとWebサーバーを除く)もフォルダーにアクセスしないようにすることもできます(回答の下部にある私の警告を参照)。
Sudo chmod g+s /var/www/mysite
Sudo chmod o-rwx /var/www/mysite
4番目に、Apacheサイトを編集する必要があります。初めて使用する場合は、「デフォルト」のサイト構成を使用している可能性があります。一連のタスクを実行する必要があります。
/etc/Apache2/sites-enabled
で。DocumentRoot /var/www/mysite
( 'mysite'を作成したディレクトリ名に置き換えます。Sudo service Apache2 restart
。これがすべて完了したら、Sudo
なしで(つまりFTP/SFTPが機能するように)文書を/var/www/mysite
に直接入れることができ、Webサーバーに必要なアクセス許可が必要です。サイトディレクトリ内のすべて。
(ITセキュリティ担当者であるため、義務的なITセキュリティ警告)
警告!
Webサイトのアクセス許可は非常に悪意があり、サイトで使用している内容によっては、多くの労力と労力をかけずに作業することはほとんど不可能です。一部のWebアプリケーションには、アクセスを許可する必要があるもの以外の世界からアクセスできないファイルもあります。
Webアプリケーションは潜在的な悪用の多くに対して脆弱であることに注意することも重要です。そのため、Apacheのソフトウェア更新プログラムだけでなく、サイトで実行するソフトウェアの更新プログラム(WordPressなど)でサイトを更新し続けることが重要です。