まず、あらかじめごめんなさい。このような質問が何十億ものあることを知っていますが、私には何の効果もありません...
sudo ユーザーが削除できないディレクトリに特定のファイルが見つかりました。私はsudoがすべてのことをする必要があることを知っており、それがグループの焦点ですが、おそらく解決策があるかもしれません。
sudoが実行できるコマンドの種類を制限しようとしています(/ etc / sudoersファイルから)。しかし、まず、実際には何も解決されず、2番目に、次の例を使用しても何とか動作しません。
%wheel ALL=(ALL) ALL, !/usr/bin/rm
他のグループ、私のユーザー名などを試しましたが、コマンドを自分のユーザーに制限することはできません。
とにかく、rmコマンド全体や他のソリューションへのアクセスをブロックするのではなく、sudoユーザーが特定のコマンド(rm -rf name_of_folderなど)を入力できないようにする方法はありますか?特定のコマンドを入力するときにパスワードを要求することができますか?
答え1
とにかく、sudoユーザーがrm -rf name_of_folderなどの特定のコマンドを入力するのを防ぐ方法はありますか?
いいえ。コマンドと引数に対して単純な一致のみを表現できsudoers
、ユーザーはそれを簡単にエスケープできるからです。たとえば、、、、rm -v foo
などrm -- foo
を試してみることができます。rm foo -r
これは各コマンドの正確なインタフェースによって異なり、sudoはそれを理解していません。
完全なrmコマンドや他のソリューションへのアクセスをブロックする代わりに?
これが一般的な選択です。アクセスをブロックしますrm
が、通常はターゲットコマンドの周囲のシェル「ラッパー」である制限付きコマンドへのアクセスを提供します。
しかし、制限されたコマンドは作成するのが難しく、より高いセキュリティリスクをもたらします。引数なしでコマンドで始めることをお勧めします。これにより、標準入力とその環境を無視し、ユーザーにrootアクセスを許可しますsudoers
。その後、1つの引数を追加し、特にパスの場合は非常に賢明に説明できます。
最も基本的な制限コマンドは次のとおりです/usr/local/bin/restricted_rm
。
#!/bin/sh
exec </dev/null
/usr/bin/env -i rm -rf /absolute/path/to/folder
このような単純なスクリプトが問題を解決することを確認するために、ユーザーと一緒にプロセス/インターフェースを調整する価値があります。そうしないと、重大なセキュリティリスクを持つより複雑な「フィルタ」制限コマンドに関する警告が表示されます。何をしているか知っていても。あった。