Apache 2サーバーをubuntu 16.04で実行しています。現在、特定のフォルダー内のプロジェクトファイルにアクセスするたびに、php関数を実行するためにrootユーザーを使用し、端末内でchown -R www-data:www-data .
を実行する必要がある後、いくつかのファイルを編集しますなぜなら、php関数を実行した後、ファイルの所有者はuser:user(root:root)になるからです。私が必要なのは:
たとえば、tonyaという名前のユーザーを作成します。誰かtonyassh [email protected]
を使用してサーバーにアクセスすると、彼は/ var/www/specific_folder、ユーザーtonyaはこのフォルダー内で何でもできます。tonyaがphpファイルの所有者またはフォルダーをtonya:www-data
に設定すると、ファイルの所有者をwww-data:www-data
に設定したときと同じように動作します
あなたはこれを達成できるはずです
adduser --home /var/www/specific_folder --Shell /bin/bash --no-create-home --ingroup www-data --ingroup ssh tonya
adduser
はユーザーの追加に使用されます
--home
は、ユーザーがログインするときのホームディレクトリを指定します
--Shell
はシェルを指定するためのものであり、デフォルトでは通常/bin/sh
であり、/bin/bash
ほどユーザーフレンドリーではありません
--no-create-home
はホームディレクトリを作成しないため、既に存在するものを使用する必要があります
--ingroup
は、指定されたグループにユーザーを追加します
最後の引数はユーザー名です
このガイドを使用して、ユーザーを投獄することができます。
ユーザーを刑務所に入れたとしても、刑務所から逃げることは非常に可能です。ユーザーにシステムへのアクセス権を付与する場合、シェルアクセス権を取得すると、ほとんどの場合ルートを取得できるため、ルートアクセス権を付与することもできます。刑務所を設定すると、基本的なユーザーが有害なことをするのを防ぐことができますが、悪意のあるユーザーが有害なことをするのを止めるためにはほとんど何もしません。