Umbrelloをインストールしましたが、保存も自動保存もされません。アプリの権限を調べると、rootが所有し、グループが読み取り専用に設定されていることがわかりますが、これが問題のようです。その場合、よくある質問は、アプリケーション権限を一般的な目的に使用し、すべてのユーザーが利用できる必要があることです。
答え1
setuidビットとsetgidビットが設定されていない場合、実行可能ファイルに対する権限はファイルに基づくプロセスのセキュリティコンテキストを決定しません。
たとえば、/bin/ls
属しますroot
が、特別な権限はありません。ユーザーがjoe
入力ls
するとls
プロセスユーザーの資格情報を使用して実行しますjoe
。
すべてのユーザーが実行可能ファイルを実行する権限を持ち、すべてのグローバル構成データをユーザーが読み取ることができるように、すべてのユーザーにアプリケーションをインストールする必要があります。これらの資料のどれも使用できないはずです。 (例えば の構成、/etc
(GNU/Linux ルール)の静的データ)/usr/share/<appname>
アプリケーションは、ホームディレクトリの構成ファイルなど、ユーザーが読み書きできる一部の領域にローカルユーザー設定を保存する必要があります。アプリが自動的に保存されない場合は、インストール資料に対する権限の問題ではない可能性があります。代わりに、呼び出し元のユーザーが許可されていない場所、または存在しない場所(存在しない1つ以上のディレクトリコンポーネントを含むパス)に自動的に保存しようとします。これはローカルまたはグローバル構成に問題がある可能性があります。
プログラムで謎のような権限の問題が発生し、何にアクセスしようとしているのか明確でない場合は、何が起こっているのかを知るための1つの方法は、Same strace
on GNU /などのシステムコール追跡ユーティリティでアプリケーションを実行することです。 Linuxシステムまたはtruss
Solaris。 (端末コンソールまたはウィンドウから、またはトレースをファイルにリダイレクトします。)権限の問題が再び表示された場合は、トレースの最後にファイルシステムへのアクセスに関連した失敗したシステムコールを見つけます。