この質問はUnix&LinuxおよびStack Overflowに関連している可能性があります。特定の技術を実装する前に、Unix / Linuxコンベンションの観点から質問を理解したかったので、まずUnix&Linuxに投稿しました。
設定ファイルを読み取る必要があるスタンドアロンのhello-worldアプリケーションを作成していますconfig.yml
。これで、ルートにのみ書き込みアクセス権があることがわかりました。/etc/hello-world/config.yml
/etc/
$ ls -ld /etc
drwxr-xr-x 127 root root 12288 Feb 14 21:16 /etc
このLinux PCは私が設定したものではなく、有能なLinux管理者が設定したので、/etc/
ユーザーだけが書くことができroot
、他の人は誰でも読むことができる標準/慣例であると仮定します。
cmake && make install
だから私の質問は:root以外のユーザーがプロセスを実行している場合、私のhello-worldアプリケーション()のインストールメカニズムはどのようにエントリをインストールするのですか?/etc/
~によると実装する、私の「インストールメカニズム」はinstall
私の宣言です CMakeLists.txt
。たとえば、次のようになります。
install (FILES ${CMAKE_CURRENT_SOURCE_DIR}/config.yml
DESTINATION /etc/hello-world/config.yml)
make install
...しかし、rootではなくユーザーとして実行するので、これは失敗します。
もう一度Unix / Linux学習の観点から質問します。習慣- これは一般的なシナリオのようです。単一の開発者が自分の設定ファイルを「標準」の場所にインストールしようとします/etc/your-app/your-config
。それでは、rootとしてのみ使用できる場合は/etc/
どうすればよいですか?
make install
たとえば、rootまたはsudo権限を持つユーザーのみが実行できるという意味で理解されていますかsudo make install
?
それとも、設定ファイルを(サブディレクトリ)にインストールするのが間違っていますか/etc/
?
それとも、/etc/
「他人」が書くことを許可する必要がありますか?