2016-06-24 6 views
1

root以外のユーザにsudoのポリシーを使ってより高い特権のコマンドを実行させながら、彼がより高い特権のコマンドを実行していることを知ることができず、sudoの使用法も複雑かもしれません。sudoの単語を避ける方法root以外のユーザが高い特権を持つコマンドを実行する

例: 通常のSudoコマンドの実行。

$ sudo -u root /usr/bin/tcpdump 

root以外のユーザーは、以下のようにtcpdumpを実行する必要があります。

$ tcpdump 

ありがとうございます。

注:root以外のユーザーのためのSudoポリシーを定義しました。したがって、root以外のユーザがtcpdumpを実行すると、バックエンドでは sudo -u root tcpdumpとして実行する必要があります。

+1

「別名tcpdump = 'sudo tcpdump'」を定義できます。 – melpomene

+0

root以外のユーザーのbashプロファイルのエイリアスを追加することを意味しますか? – sach

+1

なぜこの質問は 'perl'でタグ付けされましたか? – dgw

答えて

4

はい。可能です。

あなたべきである:

2.1-:

groupadd nonroot 

2-がそのグループにあなたの特権ユーザーを追加します。

1-一部のユーザーが所属する新しい特定の新しいグループを作成します。/etc/groupの編集:

vim /etc/group 

2.2新しい作成されたグループの行。それはそのようになります。

nonroot:x:127: 

2.3-を終わりに、あなたのprivilagedユーザー追加:

nonroot:x:127:user1,user2 

、3-変更バイナリのグループ:

chgrp nonroot /usr/bin/tcpdump 

、4-与えるをバイナリへのグループ実行権限:

chmod g+x /usr/bin/tcpdump 

バイナリがuser1にアクセス権を持たないファイルを読み込み、書き込み、または実行する場合、同じ方法でそれらを変更する必要があります。

あなたは同様の方法である、ポスト怒鳴るの正しい答えをチェックし、バイナリのグループを変更できない場合:

Allow users of a certain group to run a command without sudo

はそれがお役に立てば幸いです。

注:linux/unixディストリビューションによってコマンドが異なる場合があります。

+0

は答えのnicofに感謝しますが、これは私が探しているものではありません。 – sach

+0

@sach - これはあなたが探している答えではないということをあなたが言ったならば、満足のいく答えを得るチャンスを大幅に向上させます。 –

+0

@nicof、私は、ユーザがポリシーで定義されたコマンドを実行する権限を持つように、いくつかのユーザのためにsudoポリシーを定義します。 sudoとタイプするユーザーを隠す方法が必要です。したがって、私はユーザーがsudoの使用法を入力しないでコマンドを実行する方法を探しています。 – sach

0

私は、少なくとも二つの可能性を見ることができます:

  1. は別名でも可能ですが、ユーザーが別のシェルを使用するか、単にそれらを手動で起動することができれば、それはmaintenenceになることができます(スクリプトで包みhell)

  2. tcpdumpにsuidビットを設定します。これは、tcpdumpを呼び出すことができるすべての人が常に所有者として機能することを意味します。

関連する問題