ルート以外のユーザーが実行したプロセスが特定のルート所有ファイルを読み取ることができるようにするにはどうすればよいですか?
私はLinux / Ubuntuでnode.jsを実行しています。ルート権限でプロセスを実行したくありませんが、一部のルート所有ファイルへの読み取り専用アクセス権があります。
を通過しないと、現在これらのファイル(証明書キーファイル)を読み取ることができませんsudo node ...
。これらのファイルに加えて、独自のアプリケーションユーザーIDで実行すると、プロセスは正常に機能し、正常に実行されます。
ファイルにシンボリックリンクを設定し、アプリケーションのユーザーIDがファイルの認証を読み取るように権限を設定するなどの操作を実行できたらと思います。証明書ファイルは別のプロセスによって自動的に維持および更新されるため、手を触れたりコピーしたりすることはできない方が良いです。
...しかし、「rootとして実行されていない」カテゴリの他の解決策も歓迎します。
ベストアンサー1
新しいグループであるグループを追加し、nodeJS
そのグループにユーザーを追加し、ファイルグループを変更し、最後にファイルを読み取ることができるグループの権限を変更できます。
groupadd nodeJS
usermod userName -g nodeJS
link -s rootOwnedFile linkToRootOwnedFile
chgrp nodeJS linkToRootOwnedFile
chmod g+r linkToRootOwneFile