インストーラbashをsudoとして実行するときに正しいファイル権限をどのように保証しますか?

インストーラbashをsudoとして実行するときに正しいファイル権限をどのように保証しますか?

私はインストーラを作り、少し遊んだ。しかし、ちょうど深刻な問題に固執しました。 bashでbashを実行すると、コピーされsudo ./install.shたすべてのファイルがbash所有であるrootため、他の人は読み取り専用になります。

これにより、インストールされたプログラムが役に立たなくなります。私の場合、インストールされたプログラムはTomcat Webアプリケーションでした。これはTomcatがそれを使用できないことを意味しました。

質問は次のとおりです。

sudo ./install.shこれがバッチインストールを実行する正しい方法ですか?

  • 例:この場合、cpファイルがa)発行者b)特定のユーザーに属していることを確認するためにコマンドを正しく使用するにはどうすればよいですか?それとも別のコマンドが必要ですか?
  • いいえ:この場合、apt-get install ...バッチで管理タスクを正しく実行する方法(例)は何ですか?

ベストアンサー1

コピーファイルの使用インストールする注文する。所有者と権限を設定できます。マニュアルページから:

  -g, --group=GROUP
          set group ownership, instead of process' current group

  -m, --mode=MODE
          set permission mode (as in chmod), instead of rwxr-xr-x

  -o, --owner=OWNER
          set ownership (super-user only)

おすすめ記事