web-dev-qa-db-ja.com

sudoなしでrootとしてアプリケーションを実行する

Rootユーザーとして実行する必要のあるアプリケーション(VirtualBox)があります。 Sudo VirtualBoxは問題なく実行できますが、デスクトップにショートカットを作成して、VirtualBoxをrootユーザーとして起動するためにクリックするだけです。私はchown root:rootを試しましたが、それは何もしません。

ありがとう!

ところで:私はDebianSqueezeを実行しています。

6
LinuxNewbie

Sudoを使用すると、パスワードを入力しなくてもプログラムを実行できます。これを行うには、visudoコマンドを実行し、VirtualBoxに行を追加します。

Sudo visudo

次の行をファイルに追加します

yourusername ALL = NOPASSWD: /path/to/virtualbox

次に、Sudo /path/to/virtualboxへのデスクトップショートカットを作成すると、パスワードなしでrootとして実行されます。

7
michaelx386

実行可能ファイルに実行したいユーザーだけがアクセスできるようにする場合は、次のようなアクセス許可でSetUserビットを設定できます。

chown root:root myexecfile
chmod u+s myexecfile

これを行うと、ファイルは、それを実行するユーザーではなく、set-uidビット、つまり所有者のアクセス許可で実行されます。 chmod g + s myexecfileを同じ目的で使用し、ユーザービットの代わりにグループのみを設定できます。

ただし、注意が必要です。このファイルを開いたままにしておくと、本質的に安全ではありません。たとえば、デスクトップに配置する場合は、デスクトップフォルダのアクセス許可が700であることを確認してください(自分以外にはアクセスできません)。

1

この目的のために gksudo を使用する必要があります。グラフィカル認証プロンプトを使用して、rootとしてグラフィカルプログラムを実行できるようになります。バイナリsetuid-rootを作成するか、Sudoのパスワード要件を削除すると、特権昇格攻撃が発生する可能性があります。

0
bonsaiviking