最近、友人からsudo cdおよびsudo llログインコマンドに次のプロンプトが表示される理由が聞かれました。
sudo:ll:コマンドが見つかりませんsudo:cd:コマンドが見つかりません
sudo lsなどの他のコマンドを実行しても問題なく動作します。
一言で言えば、sudoはシステムに付属のコマンドしか実行できず、他のプログラムは実行できないということです。 ll、cdなどはシェルによってもたらされます。
sudoはユーザのパーミッションを強化するためのプログラムですlinuxでsoduと入力するとパーミッションを強化することになりますシェルはコマンドパーサですsudo cdはシェルに組み込まれているため間違っています。システム内ではなく、sudoはコマンドでシステムを実行できますが、システム内のソフトウェアでコマンドを使用することはできません。
cdはシェルの内部コマンドです。いわゆるシェルは対話型アプリケーションです。シェルが外部コマンドを実行すると、fork /execを介して子プロセスをフォークしてからプログラムを実行します。 Sudoは、他の誰かの特権を使ってプロセスをフォークしてプログラムを実行することを意味します。また、cdは内部コマンドです。つまり、forkプロセスではなく、シェルによって直接実行されます。もちろん、現在のプロセスのプロセスのパーミッションをアップグレードすることはできません(実際には可能ですが、プログラミング時にコードに書き込まれてからコンパイルされ、私たちのシェルにはこの関数がありません、そうでなければそれほど危険ではありません)。さらに、sudoコマンドを設定したい場合は、visudoを使用してrootユーザで設定することができます。
現在、非常に深刻なBashの脆弱性がインターネット上に公開されており、ハッカーがリモートコマンドをサーバーに送信して個人情報を盗むことを容易に可能にします。記事はあ
を殺すことはできない psコマンドとgrepコマンドを使ってゾンビプロセスを見つけます。 Grep -e ^ [Zz]コマンドのコメント:-Aパラメータはすべてのプロセスを一覧表示します。-oカスタ
1.教えるものは何もなく、最初にシステムのバージョンを見るように教えてください。 Issue もっと使えます#more /etc /issue 2.見たいシステム32/64に関しては、次のコ
1. LVSの概要 1.大規模同時アクセスのニーズを満たすために、アプリケーションサーバーに高可用性とロードバランシング機能を提供します。2.コスト削減。代替の商用ハードウェアロードバランサは、スタ