System("ls")
System("pwd")
これらのコマンドはどちらも、同じサーバー上の本番モードと開発モードの両方で正常に機能します。
ただしSystem("mkdir test")
、新しいファイル/ディレクトリの作成を伴うその他のコマンドは、プロダクション モードでは実行されませんが、開発モードでは正常に機能します。ここに何かアイデアはありますか?
私の推測では、パーミッションと関係がありますが、どこにあるかはわかりません。
System("ls")
System("pwd")
これらのコマンドはどちらも、同じサーバー上の本番モードと開発モードの両方で正常に機能します。
ただしSystem("mkdir test")
、新しいファイル/ディレクトリの作成を伴うその他のコマンドは、プロダクション モードでは実行されませんが、開発モードでは正常に機能します。ここに何かアイデアはありますか?
私の推測では、パーミッションと関係がありますが、どこにあるかはわかりません。
あなたのサーバーでは、セキュリティ上の理由user
から とは異なる必要があります。root
これよりもリストuser
に追加する必要がありsudoers
ます:
https://askubuntu.com/questions/7477/how-can-i-add-a-new-user-as-sudoer-using-the-command-line
ここで、このフォルダーを作成する場所に応じて、ユーザーが読み取り/書き込みのアクセス許可を持っているアプリフォルダーにある場合 (フォルダーの所有者を検索chmod 755
しchown
て設定するには、chown -R
これをすべてのサブフォルダーに適用することをお勧めします)、この後次の方法でそのフォルダーを作成できます。
System("mkdir test")
ただし、ユーザーが読み取り/書き込みにアクセスできるフォルダーのみ。
使用する必要がある他のパスにテストフォルダーを作成する場合は、次sudo
を実行する必要があります。
System("sudo mkdir test")
通常、これはバックグラウンドで実行されており、パスワードを書き込むためにそこにいることはないため、sudo の実行中にパスワードを要求しないようにコマンドを追加する必要があります。これを実行NOPASSWD
できるディレクティブを使用します。
https://askubuntu.com/questions/159007/how-do-i-run-specific-sudo-commands-without-a-password
sudo visudo -f /etc/sudoers #!important visudo, read in the upper link more about it before trying this.
これをすべて行った後、次を使用してパスにフォルダーを作成できます。
System("sudo mkdir test")
パスワードを必要とせずに。