Linux システムで root 以外のユーザーがファイルを開くと、
$ sudo vi /etc/hosts
そしてやめなさい。:sh
root アクセス権を取得します。
1)上記のように、root以外のユーザーはどのようにrootユーザーになりますか?
2)Linuxはなぜこれらのハッキング方法がセキュリティを侵害するのを許可するのですか?
ベストアンサー1
root以外のユーザーは、正常に実行されるとrootになりますsudo
(家庭のターゲットをカスタマイズする)。ルートとして実行をroot
開始します。シェルをvi
要求すると、vi
現在のユーザールートでシェルを誠実に実行します! viを「終了」するためにこのコマンドを使用してはならないことを明確にする必要があります。:sh
これにはシェルが必要だからです。代わりに終了してください:q
。
Linuxはこのような機能を可能にします。それがまさにそれだからですsudo
!たぶんあなたはsudoについての講義を見たことがあります:
あなたはあなたのローカルシステム管理者から一般的な講義を聞いたと思います。一般的には、次の3つの点に帰結します。
#1) 他人のプライバシーを尊重します。
#2)入力する前に考えてみてください。
#3)大きい力に大きい責任が続く。
!
sudoは、通常、次のように、否定演算子の形式で「すべての」アクセス権を付与するときに、これに制限された「スピード防止ジョー」を提供します。
jill SERVERS = /usr/bin/, !SU, !SHELLS
ここで jill には /usr/bin にあるプログラムを実行する権限が与えられますが、SU または SHELLS エイリアスにリストされているプログラムは実行できません。
これsudoers のマニュアルページsudoを介して一括アクセスを許可し、それを制限する方法に関する完全な「セキュリティに関する注意事項」セクションがあります。
「!」の制限演算子
ALLから「減算」のために「!」演算子の使用は通常効果がありません。ユーザーは目的のコマンドを別の名前にコピーし、そのコマンドを実行してこの問題を簡単に回避できます。
そして
通常、ユーザーがsudo ALLを使用している場合、ユーザー仕様の「!」要素に関係なく、ルートシェルを提供する独自のプログラムの作成(または独自のシェルコピーの作成)を防ぐことはできません。
より関連性の高いものは次のとおりです。
シェル脱出防止
sudoがプログラムを実行すると、プログラムは他のプログラムの実行を含む任意の操作を自由に実行できます。プログラムがシェルエスケープを許可して、ユーザーがsudoアクセス制御とロギングをバイパスできるようにすることが多いため、これはセキュリティの問題になる可能性があります。シェルエスケープを許可する一般的なプログラムにはシェル(明らかに)、編集する、ポケットベル、メール、端末プログラム