Rootユーザーとして実行する必要のあるアプリケーション(VirtualBox)があります。 Sudo VirtualBoxは問題なく実行できますが、デスクトップにショートカットを作成して、VirtualBoxをrootユーザーとして起動するためにクリックするだけです。私はchown root:rootを試しましたが、それは何もしません。
ありがとう!
ところで:私はDebianSqueezeを実行しています。
Sudoを使用すると、パスワードを入力しなくてもプログラムを実行できます。これを行うには、visudo
コマンドを実行し、VirtualBoxに行を追加します。
Sudo visudo
次の行をファイルに追加します
yourusername ALL = NOPASSWD: /path/to/virtualbox
次に、Sudo /path/to/virtualbox
へのデスクトップショートカットを作成すると、パスワードなしでrootとして実行されます。
実行可能ファイルに実行したいユーザーだけがアクセスできるようにする場合は、次のようなアクセス許可でSetUserビットを設定できます。
chown root:root myexecfile
chmod u+s myexecfile
これを行うと、ファイルは、それを実行するユーザーではなく、set-uidビット、つまり所有者のアクセス許可で実行されます。 chmod g + s myexecfileを同じ目的で使用し、ユーザービットの代わりにグループのみを設定できます。
ただし、注意が必要です。このファイルを開いたままにしておくと、本質的に安全ではありません。たとえば、デスクトップに配置する場合は、デスクトップフォルダのアクセス許可が700であることを確認してください(自分以外にはアクセスできません)。
この目的のために gksudo
を使用する必要があります。グラフィカル認証プロンプトを使用して、rootとしてグラフィカルプログラムを実行できるようになります。バイナリsetuid-rootを作成するか、Sudoのパスワード要件を削除すると、特権昇格攻撃が発生する可能性があります。